Программирование для дата-журналистики
Это страничка курсов «Введение в программирование» и «Программирование» на магистерской программе «Журналистика данных».
Автор курса: Щуров И.В.
Содержание
Софт
Мы используем 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 — он выполнится и вам покажут тут же результат.
Материалы
Основы программирования
неделя | тема | конспект | доп. материалы | видео | задачи |
---|---|---|---|---|---|
1 | Первое знакомство . | ipynb | Шаблон:PT: арифметические операции, целые и вещественные числа | видео | ipynb дедлайн 2016-09-17 23:00:00. |
2 | Списки и цикл for .
|
ipynb | Шаблон:PT: цикл for, списки | видео | |
3 | Конструкция if и проверка условий.
|
ipynb | Шаблон:PT: split и join, if, while | видео | ДЗ№2 |
4 | Функции. | ipynb | Шаблон:PT: функции | видео | |
5 | Словари. | ipynb | Шаблон:PT: словари | видео | ДЗ№3 |
6 | Продвинутые списки. Немного про строки | коварство списков split и join ещё немного про строки | Шаблон:PT: вложенные списки, split и join | ||
7 | Списковые включения. Сортировка. | списковые включения сортировка | Cписковые включения[1], О сортировке (англ.) | ДЗ№4 |
Продвинутые возможности Python
неделя | тема | конспект | доп. материалы | задачи |
---|---|---|---|---|
1 | Форматирование строк и работа с файлами. |
|
ДЗ№5 | |
2 | Всякая всячина | Чтение CSV-файлов «вручную» и использование функций для структурирования кода | Данные для задачи №1. | |
3 | Исключения и классы | конспект | Errors and Exceptions Classes | ДЗ№6 |
4 | Извлечение данных из веб-страниц | конспект | Оригинальная документация (англ.): requests BeautifulSoup, видео | ДЗ№7 |
5 | Работа с открытыми API с помощью XML | конспект | Документация по API MediaWiki (движка Википедии): основная на английском, на русском, автогенерированная на английском, на русском, видео. | |
6 | JSON и API. Управление браузером в RoboBrowser и Selenium | конспект | RoboBrowser, неофициальная документация по Python-Selenium (её проще читать, чем официальную), видео |
Как использовать
Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам выше вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке Serving notebooks from local directory: /home/user/IPython
, появляющейся в чёрненьком окошке при запуске Jupyter; здесь /home/user/IPython
— искомый путь.
Основы веб-разработки
- Python.v.JS: сравнение Python и JavaScript.
- Сырой конспект первого занятия
- learn.javascript.ru: хороший электронный учебник.
- You Don't Know JavaScript: серия книг для тех, кто хочет разобраться, как оно действительно там всё устроено.
- cows_n_bulls: игра, которую мы написали на занятии 18 января.
- data-mos-ru-api-flask: сайт на базе Flask, использующий API data.mos.ru, который мы написали на занятии 25 января.
- dj-projects.wikisociety.info
- gdp_urban_lowinc
- histogram in d3