Программирование для дата-журналистики

Материалы по математике, 2017-18 учебный год
Перейти к навигации Перейти к поиску

Это страничка курсов «Введение в программирование» и «Программирование» на магистерской программе «Журналистика данных».

Автор курса: Щуров И.В.

Софт

Мы используем 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

  • You Don't Know JavaScript: серия книг для тех, кто хочет разобраться, как оно действительно там всё устроено.

Итоговый проект