Программирование для дата-журналистики
Это страничка курсов «Введение в программирование» и «Программирование» на магистерской программе «Журналистика данных».
Автор курса: Щуров И.В.
Содержание
Софт
Мы используем Python 3 и оболочку Jupyter (ранее известный как IPython Notebook). Чтобы их установить, проще всего скачать пакет Anaconda. Обратите внимание: вам нужна версия с Python 3.x.
После установки Anaconda у вас появится:
- Под Windows: в меню «Пуск» пункт «Anaconda», в нём подпункт «IPython Notebook».
- Под Mac OS X: приложение Anaconda Launcher, в нём пункт ipython-notebook.
После запуска IPython Notebook у вас откроется окно браузера (и лучше пусть это будет не Internet Explorer, под ним IPython Notebook работает с некоторым скриптом, а иногда не работает) со списком файлов. В нём надо выбрать New → Python 3. Откроется новая вкладка браузера, в ней будет запущен пустой notebook, состоящий из отдельных ячеек (cells). В ячейку с кодом можно вписать код и нажать Shift+Enter — он выполнится и вам покажут тут же результат.
Материалы
Как использовать
Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам выше вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке Serving notebooks from local directory: /home/user/IPython
, появляющейся в чёрненьком окошке при запуске Jupyter; здесь /home/user/IPython
— искомый путь.
Основы программирования
неделя | тема | конспект | доп. материалы | видео | задачи |
---|---|---|---|---|---|
1 |
Первое знакомство. |
ipynb |
PT: арифметические операции, целые и вещественные числа |
видео |
ps01 |
2 |
Списки и цикл for . |
ipynb |
PT: цикл for, списки |
видео |
ps02 |
3 |
Ещё о списках и циклах |
ipynb |
ps03 | ||
4 |
Конструкция if и проверка условий. Списковые включения. |
проверка условий list comprehensions |
PT: split и join, if, while |
видео |
ps04 |
5 |
Функции |
ipynb |
PT: функции |
видео |
ps05 |
6 |
Словари |
ipynb |
PT словари |
видео |
ps06 |
Программирование: Python
неделя | тема | конспект | доп. материалы | задачи |
---|---|---|---|---|
7 |
Обсуждение задач экзамена. Сортировка |
ipynb |
О сортировке (англ.) |
ps07 |
8 |
Особенности работы с изменяемыми типами данных: copy и deepcopy . Файловый ввод-вывод |
ipynb |
Ввод-вывод в Python 3 (англ.), видео |
ps08 |
9 |
Форматирование строк. Хитрости с вещественными числами. Исключения. |
Исключения |
Шпаргалка по форматированию строк (англ., не обсуждаются f-strings) |
ps09 |
10 |
Функции как способ структурирования программы |
Задачи |
Конспект семинара прошлого года |
ps10 |
11 |
JSON API |
Лекции |
ps11 | |
12 |
Классы и объектно-ориентированное программирование |
Официальная документация |
ps12 | |
13-14 |
Веб-скреппинг |
базовый скреппинг, robobrowser и selenium |
Оригинальная документация (англ.): requests BeautifulSoup, видео, RoboBrowser, неофициальная документация по Python-Selenium (её проще читать, чем официальную), видео |
|
15 |
Генераторы. Наследование. |
ps13 |
JavaScript
- Python.v.JS: сравнение Python и JavaScript.
- learn.javascript.ru: хороший электронный учебник.
- You Don't Know JavaScript: серия книг для тех, кто хочет разобраться, как оно действительно там всё устроено.