|
|
Строка 1: |
Строка 1: |
− | Курс центра повышения квалификации для сотрудников НИУ ВШЭ. Ведёт Илья Щуров.
| + | * Лекции читает: Щуров Илья Валерьевич. |
| | | |
− | ==Инструменты==
| + | * Семинары ведут: Айзенберг Антон Андреевич, Ронжина Мария Игоревна, Шилин Иван Сергеевич. |
− | ===Python===
| |
− | Мы используем Python версии 3 и оболочку Jupyter (ранее известную как IPython Notebook). Чтобы их установить, проще всего скачать пакет [http://continuum.io/downloads 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 — он выполнится и вам покажут тут же результат.
| |
− | | |
− | Для установки дополнительных пакетов вам необходимо открыть консоль (это может быть Anaconda Prompt под Windows или стандартный «Терминал» под Mac OS или Linux) и набрать команду <code>conda install <название пакета></code> или <code>pip install <название пакета></code> (например, <code>conda install seaborn</code>).
| |
− | | |
− | ===Работа с ipynb-файлами===
| |
− | Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке <code>Serving notebooks from local directory: /home/user/IPython</code>, появляющейся в чёрненьком окошке при запуске Jupyter; здесь <code>/home/user/IPython</code> — искомый путь.
| |
| | | |
| ==Материалы== | | ==Материалы== |
− | ===Занятие 1===
| + | * Лекция 1. [http://math-info.hse.ru/odebook/ Понятие дифференциального уравнения], [http://math-info.hse.ru/odebook/chapter/label/chap:2:auto/#label_sec_2_euler метод Эйлера]. |
− | * Первое знакомство: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%201.ipynb#Python-как-калькулятор конспект] (начиная с раздела «Python как калькулятор»), [http://www.youtube.com/watch?v=5Y5tKPKhurA видео].
| |
− | ** Дополнение: PT [http://pythontutor.ru/lessons/inout_and_arithmetic_operations/ арифметические операции], [http://pythontutor.ru/lessons/int_and_float/ целые и вещественные числа].
| |
− | | |
− | * Списки: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb конспект] (до цикла <code>for</code>).
| |
− | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/ списки].
| |
− | | |
− | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps01/ps01.ipynb ДЗ№1]
| |
− | | |
− | ===Занятие 2===
| |
− | * «Сырой» [http://nbviewer.jupyter.org/gist/ischurov/6b27526b902eb9c1adeaa1453956b3b1 конспект занятия] (без пояснений).
| |
− | | |
− | * Цикл <code>for</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%202.ipynb#Цикл-for конспект]].
| |
− | ** PT: [http://pythontutor.ru/lessons/for_loop/ цикл for].
| |
− | | |
− | * <code>.split</code> и <code>.join</code>, алгоритмы с циклами: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb#Лекция-№3:-Ввод-вывод-списков-и-проверка-условий конспект] (до раздела «Проверка условий»)
| |
− | | |
− | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps02/ps02.ipynb ДЗ№2]
| |
− | | |
− | ===Занятие 3===
| |
− | * «Сырой» [http://nbviewer.jupyter.org/gist/ischurov/80140b1303f79bb030655d350d6a34ed конспект занятия] (без пояснений)
| |
− | | |
− | * Списковые включения (list comprehensions): [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb#Списковые-включения-(list-comprehensions) конспект]
| |
− | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/#section_3 списковые включения][1]]
| |
− | | |
− | * Проверка условий, цикл <code>while</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb#Проверка-условий конспект]
| |
− | ** Дополнение: PT [http://pythontutor.ru/lessons/lists/#section_2 split и join], [http://pythontutor.ru/lessons/ifelse/ if], [http://pythontutor.ru/lessons/while/ while]
| |
− | | |
− | * Функции: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb конспект] [https://www.youtube.com/watch?v=NYrYSFyCg4w видео].
| |
− | ** Дополнение: PT [http://pythontutor.ru/lessons/functions/ функции].
| |
− | | |
− | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps03/ps03.ipynb ДЗ№3]
| |
− | | |
− | ===Занятие 4===
| |
− | * [http://nbviewer.jupyter.org/gist/506570e73c1be21a67aa0ea817a4d7b4 Сырой конспект занятия].
| |
− | | |
− | * Словари: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb конспект].
| |
− | ** Дополнение: PT [http://pythontutor.ru/lessons/dicts/ словари].
| |
− | | |
− | * Сортировка: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%206.ipynb#Сортировка конспект].
| |
− | ** Дополнение: [https://docs.python.org/3/howto/sorting.html Sorting howto] (англ.).
| |
− | | |
− | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps04/ps04.ipynb ДЗ№4].
| |
− | | |
− | ===Занятие 5===
| |
− | * [https://gist.github.com/ischurov/768f9c2be6fda7785bdac9d1fc33e272 Сырой конспект занятия]
| |
− | | |
− | * Работа с файлами: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#Файловый-ввод-вывод конспект].
| |
− | ** Дополнение: [https://docs.python.org/3/tutorial/inputoutput.html официальная документация] (англ.)
| |
− | | |
− | * Библиотеки <code>numpy</code> и <code>matplotlib</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2011.ipynb конспект].
| |
− | ** Дополнение: [https://docs.scipy.org/doc/numpy-dev/user/quickstart.html numpy quickstart], [http://matplotlib.org/users/pyplot_tutorial.html pyplot tutorial], [http://matplotlib.org/gallery.html matplotlib gallery].
| |
− | | |
− | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps05/ps05.ipynb ДЗ№5]
| |
− | | |
− | ===Занятие 6===
| |
− | * [https://gist.github.com/ischurov/57b13c0e0d1e0675abd6fe82a31b8c4f Сырой конспект занятия]
| |
− | | |
− | * <code>pandas</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2012.ipynb конспект]
| |
− | ** Официальная документация <code>pandas</code>: [http://pandas.pydata.org/pandas-docs/stable/10min.html 10-минутное введение] (обзор возможностей), [http://pandas.pydata.org/pandas-docs/stable/tutorials.html#pandas-cookbook pandas cookbook], [http://pandas.pydata.org/pandas-docs/stable/indexing.html индексация и выбор данных] (подробно).
| |
− | ** <code>sympy</code>: [https://docs.sympy.org/latest/index.html официальная документация] (можно начать с Tutorial).
| |
− | | |
− | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps06/ps06.ipynb ДЗ№6]
| |
− | | |
− | ===Занятие 7===
| |
− | * [https://gist.github.com/ischurov/9cb7016172e8275bf051c54e1d9ee56e Сырой конспект занятия]
| |
− | | |
− | * pandas: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2013.ipynb конспект про погоду] (на занятии мы немного иначе строили матрицу со средней температурой по годам и месяцам, используя для этого <code>.pivot_table()</code> вместо <code>.groupby()</code> с последующим <code>.unstack()</code>)
| |
− | | |
− | * веб-скреппинг: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%208.ipynb конспект]
| |
− | ** Официальная документация (англ.): [http://docs.python-requests.org/en/latest/ requests] [http://www.crummy.com/software/BeautifulSoup/bs4/doc/ BeautifulSoup].
| |
− | | |
− | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps07/ps07.ipynb ДЗ№7]
| |
− | | |
− | ===Занятие 8===
| |
− | * [https://gist.github.com/ischurov/aa17089719a931c1cd8de5590e176990 Сырой конспект занятия] (там есть чтение xls-файлов из zip-архивов с помощью <code>pandas</code> и <code>ziplib</code>).
| |
− | | |
− | * Работа с API: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%209.ipynb XML] ([http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%2010.ipynb JSON].
| |
| | | |
− | * [http://nbviewer.math-hse.info/github/ischurov/dj-prog/blob/master/Lesson%203.ipynb#Исключения Исключения] (<code>try/except</code>). | + | * [http://math-info.hse.ru/a/2018-19/cs-ode/seminar01.pdf Семинар 1] |
| | | |
− | * [http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/hsepython2018/ps08/ps08.ipynb ДЗ№8] | + | * Лекция 2. Простейшие методы решения дифференциальных уравнений. [http://math-info.hse.ru/odebook/chapter/label/chap:2:auto/#label_h2_number_2_2 Автономные уравнения на прямой], [http://math-info.hse.ru/odebook/chapter/label/chap:3:eu/#label_sec_3_sep-var уравнения с разделяющимися переменными]. |
| | | |
− | ==Примечания==
| + | * [http://math-info.hse.ru/a/2018-19/cs-ode/seminar02.pdf Семинар 2] |
− | * ↑ PT использует термин «генераторы списков» вместо «списковые включения» | |