Основы программирования в Python — различия между версиями

Материалы по математике, 2018-19 учебный год
Перейти к: навигация, поиск
(Материалы по курсу)
 
(не показаны 132 промежуточные версии этого же участника)
Строка 4: Строка 4:
  
 
* Авторы курса: Щуров Илья Валерьевич, Тамбовцева Алла Андреевна
 
* Авторы курса: Щуров Илья Валерьевич, Тамбовцева Алла Андреевна
* Лекции и семинары ведет: Тамбовцева Алла Андреевна.
+
* Лекции и семинары ведет: Тамбовцева Алла Андреевна
* Учебный ассистент: Евтушенко Виталий.
+
* Учебный ассистент: Евтушенко Виталий
 +
 
 +
== Правила игры ==
 +
 
 +
* формат курса и оценивание: [http://math-info.hse.ru/f/2018-19/py-polit/py3_org_18_19.pdf организационная презентация]
 +
 
 +
== Материалы по курсу ==
 +
 
 +
Загрузка файла в ''Jupyter Notebook'' и прочее: см. [https://github.com/allatambov/Py-programming-3/blob/master/Instruction_Jupyter_Notebook.pdf инструкцию].
 +
 
 +
Скачать файл с расширением ''.ipynb'' можно так: пройти по ссылке, нажать на стрелочку в правом верхнем углу (''Download Notebook'') и сохранить файл.
 +
 
 +
{|class='wikitable'
 +
!дата
 +
!тема
 +
!лекция
 +
!семинар
 +
!дополнительно
 +
|-
 +
|03.09
 +
|Знакомство с Jupyter Notebook. Переменные.
 +
|[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/03-09/intro-jupyter.ipynb intro-jupyter]
 +
[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/03-09/lecture-intro-vars.ipynb intro-variables]
 +
|[https://pythontutor.ru Pythontutor] [http://www.pythontutor.com/visualize.html#mode=edit Visualizer]
 +
|[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/03-09/coding-style.ipynb Coding style] [https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/03-09/Jupyter%20and%20Others.ipynb Jupyter and Others]
 +
|-
 +
|10.09
 +
|Ввод и вывод в Python. Строки.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/06-04/lecture-input-output.ipynb input-output] [https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/23-04/Strings.ipynb strings]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/06-04/sem-06-04.ipynb sem-1] [https://github.com/allatambov/PyProg-2018/blob/master/10-09/sem-06-04-solutions.ipynb solutions-1]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/06-04/String-formatting-additional.ipynb String formatting] [https://realpython.com/python-f-strings/ f-strings]
 +
[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/practice1.ipynb Practice-1]
 +
|-
 +
|17.09
 +
|Списки, среды и цикл for.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/16-04/lecture-lists.ipynb lists] [https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/17-09/tables.ipynb tables]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/16-04/sem-16-04.ipynb sem-2]
 +
[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/16-04/sem-16-04-solutions.ipynb solutions-2]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/20-04/Algorithms_Complexity.ipynb Algorithms & Complexity]
 +
|-
 +
|24.09
 +
|Методы split() и join(). Списковые включения.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/20-04/lecture-lists-contd.ipynb lists-contd]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/20-04/sem-20-04.ipynb sem-3][https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/20-04/sem-20-04-solutions.ipynb sem3-solutions]
 +
[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/24-09/sem3-add.ipynb sem3-add]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/20-04/Lists-methods.ipynb Lists-methods]
 +
[http://pythontutor.ru/lessons/2d_arrays/ Вложенные списки (с практикой)]
 +
|-
 +
|01.10
 +
|Кортежи и словари.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/27-04/lecture-dicts.ipynb tuples-dicts]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/27-04/sem-27-04.ipynb sem-4] [https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/27-04/sem-27-04-solutions.ipynb sem4-solutions]
 +
[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/sem4-add.ipynb sem4-add]
 +
|[https://notebooks.azure.com/anon-zsh7oq/libraries/123456789/html/class_3.ipynb Python data model basics]
 +
|-
 +
|08.10
 +
|Условия и цикл while.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/23-04/if-else-while.ipynb if-else-while]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/23-04/sem-23-04.ipynb sem-5]
 +
[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/08-10/sem-5-solutions.ipynb sem-5-solutions]
 +
|[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/practice-2.ipynb Practice-2] [https://notebooks.azure.com/anon-zsh7oq/libraries/123456789/html/2018fall/Markdown101%20&%20General%20Advises.ipynb Ещё о Markdown]
 +
|-
 +
|15.10
 +
|Функции в Python.
 +
|[http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/11-05/sem-11-05.ipynb sem-6]
 +
[https://github.com/allatambov/Py-programming-3/blob/master/11-05/sem-11-05-solutions.ipynb sem6-solutions]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/class_4.ipynb Code Style, Variable scopes, Exceptions]
 +
|-
 +
|29.10
 +
|Отладка кода. Работа с файлами.
 +
|[https://drive.google.com/drive/folders/1VjLdIzjJRCjd8vp7KC_-uHvfoFgn-j5F?ogsrc=32 materials]
 +
(занятие В.Евтушенко)
 +
|[https://drive.google.com/drive/folders/1utWMfwR8igHJN9AYdUHI2ljXeiLubJNK?ogsrc=32 data]
 +
|[https://ru.wikipedia.org/wiki/Набор_символов Кодировки] [https://habr.com/post/158639/ Ещё кодировки]
 +
|-
 +
|12.11
 +
|Работа с таблицами. Введение в pandas.
 +
|[http://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/12-11/intro_pandas.ipynb pandas-intro]
 +
|[http://math-info.hse.ru/f/2017-18/py-prog/scores2.csv scores2]
 +
|[https://pandas.pydata.org/pandas-docs/stable/10min.html Tutorial: 10 min to pandas]
 +
|-
 +
|19.11
 +
|Библиотека pandas.
 +
|[http://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/19-11/base_pandas.ipynb pandas-base]
 +
|[http://math-info.hse.ru/f/2017-18/py-prog/scores2.csv scores2]
 +
|[http://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/add/pandas-merge.ipynb Pandas: merging]
 +
|-
 +
|26.11
 +
|Библиотека pandas. Визуализация и pandas.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/21-05/lect-pandas-contd.ipynb pandas-contd]
 +
[https://raw.githubusercontent.com/allatambov/R-programming-3/master/lectures/lect7-12-01/47130-8314.csv Elections]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/28-05/sem-28-05.ipynb sem-7] [https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/28-05/sem-28-05-solutions.ipynb sem7-solutions]
 +
[https://raw.githubusercontent.com/allatambov/Py-programming-3/master/28-05/Titanic.csv Titanic]
 +
|[https://pandas.pydata.org/pandas-docs/stable/visualization.html Графики и pandas]
 +
[http://nbviewer.jupyter.org/github/yaph/ipython-notebooks/blob/master/movie-body-counts.ipynb Визуализация] от [http://ramiro.org Ramiro Gómez]
 +
|-
 +
|03.12
 +
|Работа с html-файлами. Web-scraping.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/01-06/lect-html.ipynb lect-html] [https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/07-12/web-scrape.ipynb lect-scrape]
 +
|[https://www.w3schools.com HTML: w3schools]
 +
|[http://htmlbook.ru/html Справочник] по тэгам
 +
[https://www.coursera.org/specializations/web-design Веб-дизайн] на Coursera
 +
|-
 +
|07.12
 +
|Регулярные выражения. Обработка текста.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/28-05/regex-1.ipynb regex] [http://nbviewer.jupyter.org/github/allatambov/py-dat18/blob/master/05-12/texts.ipynb py-texts]
 +
[https://github.com/allatambov/py-dat18/blob/master/05-12/mytext.txt mytext]
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/01-06/sem-re.ipynb sem-8][https://github.com/allatambov/Py-programming-3/blob/master/01-06/sem-01-06-solutions.ipynb sem8-solutions]
 +
[https://raw.githubusercontent.com/allatambov/Py-programming-3/master/01-06/contacts.csv Contacts]
 +
|[https://regexr.com/ regexr.com] [https://habr.com/post/349860/ ShashkovS (habr) ]
 +
|-
 +
|10.12
 +
|Управление браузером через Selenium.
 +
Работа с API VKontakte.
 +
|[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/11-06/lect-selenium-1.ipynb selenium1] [https://github.com/allatambov/Py-programming-3/blob/master/15-06/lect-selenium2.ipynb selenium2]
 +
[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/10-12/selenium-books.ipynb selenium-books]
 +
|[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/10-12/lect-vk-api.ipynb vk-API] [http://math-info.hse.ru/f/2018-19/py-polit/vk-auth.pdf vk-instr] [https://vk.com/dev/manuals vk-docs]
 +
|[https://selenium-python.readthedocs.io Selenium & WebDriver]
 +
[https://chrome.google.com/webstore/detail/selectorgadget/mhjhnkcfbdhnjickkkdbjoemdmbfginb SelectorGadget]
 +
|-
 +
|14.12
 +
|Отправка email средствами Python. Облака слов.
 +
Семинар по парсингу html.
 +
|[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/14-12/py-gmail.ipynb py-gmail]
 +
|[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/14-12/html-sem.ipynb sem-9] [https://github.com/allatambov/PyProg-2018/blob/master/14-12/html-sem-solutions.ipynb sem9-solutions]
 +
|[https://www.datacamp.com/community/tutorials/wordcloud-python wordclouds] на datacamp.com
 +
|-
 +
|17.12
 +
|Объектно-ориентированное программирование (обзор). Классы в Python.
 +
|[oop-py]
 +
|
 +
|
 +
|}
 +
 
 +
'''Дополнительно'''
 +
 
 +
* Питонтьютор: [http://pythontutor.ru/lessons/inout_and_arithmetic_operations/ ввод и вывод], [http://pythontutor.ru/lessons/int_and_float/ вычисления], [http://pythontutor.ru/lessons/str/ строки], [http://pythontutor.ru/lessons/for_loop/ цикл for], [http://pythontutor.ru/lessons/lists/ списки], [http://pythontutor.ru/lessons/dicts/ словари], [http://pythontutor.ru/lessons/ifelse/  условия], [http://pythontutor.ru/lessons/while/ цикл while], [http://pythontutor.ru/lessons/sets/ множества], [http://pythontutor.ru/lessons/functions/ функции]
 +
 
 +
* Основы работы с библиотекой numpy ([https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/add/numpy-tutorial.ipynb numpy-tutorial]). [http://www.numpy.org/ Документация] по numpy.
 +
 
 +
* Графики с библиотекой matplotlib ([https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/add/graphs-matplotlib.ipynb graphs-matplotlib]). [https://matplotlib.org/ Документация] по matplotlib. [https://matplotlib.org/gallery.html Галерея] графиков.
 +
 
 +
* Библиотека scipy для статистики. [https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/add/scipy-stats.ipynb (scipy-stats)]. [https://docs.scipy.org/doc/ Документация] по scipy.
 +
 
 +
== Домашние задания ==
 +
 
 +
{|class='wikitable'
 +
!название
 +
!задание
 +
!дедлайн
 +
|-
 +
|Домашнее задание 1
 +
|[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/03-09/hw1.ipynb hw1]
 +
|10.09 23:59
 +
|-
 +
|Домашнее задание 2
 +
|[http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/ps-py2018/hw2/hw2.ipynb hw2]
 +
|22.09 23:59
 +
|-
 +
|Домашнее задание 3
 +
|[http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/ps-py2018/hw3/hw3.ipynb hw3] [https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/hw3-adv/hw3-adv.ipynb hw3-adv]
 +
|02.10 23:59
 +
|-
 +
|Домашнее задание 4
 +
|[http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/ps-py2018/hw4/hw4.ipynb hw4] [http://math-info.hse.ru/f/2018-19/py-polit/hw4.pdf hw4-adv]
 +
|15.10 23:59
 +
|-
 +
|Домашнее задание 5
 +
|[http://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/ps-py2018/hw5/hw5.ipynb hw5] [http://math-info.hse.ru/f/2018-19/py-polit/hw5-adv.pdf hw5-adv]
 +
|24.10 23:59
 +
|-
 +
|Домашнее задание 6
 +
|[http://math-info.hse.ru/f/2018-19/py-polit/py-hw6.pdf hw6]
 +
|21.11 23:59
 +
|-
 +
|Домашнее задание 7
 +
|[http://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/hw7/py3_hw7.ipynb hw7]
 +
|10.12 23:59
 +
|-
 +
|Домашнее задание 8
 +
|[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/hw8/hw8-1.ipynb hw8]
 +
|19.12 23:59
 +
|}
 +
 
 +
'''Дополнительные задания'''
 +
 
 +
* Финансовые данные ([http://math-info.hse.ru/f/2018-19/py-polit/hwX.pdf hw-finance])
 +
 
 +
== Контрольная работа ==
 +
 
 +
[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/cw-practice.ipynb Задания ]. Грузить решения (ipynb-файл) [https://www.dropbox.com/request/F4MtEUCmrEAeGAjW4BTH сюда].
 +
 
 +
== Проект ==
 +
 
 +
'''Сроки'''
 +
 
 +
1. До 20 декабря, 23:59 нужно загрузить pdf-файл с описанием проекта на Dropbox ([https://www.dropbox.com/request/qpsAZ0HbRJZsLlDVG8Zl ссылка]).
 +
 
 +
2. До 26 декабря, 21:00 нужно загрузить документацию программы на Dropbox ([https://www.dropbox.com/request/wB5Iweb17kGeLkmKl2XH ссылка]).
 +
 
 +
3. До начала защиты проектов (27 декабря, 10:30) нужно загрузить программу на Dropbox ([https://www.dropbox.com/request/eSj5jG2fI4jL2KxwUJoq ссылка]).
 +
 
 +
'''Описание и требования'''
 +
 
 +
* Подробное [https://docs.google.com/document/d/1BhlRiDyZ_0ZCj3QV9n-UN-F5crQRXUCr4XJr3ctK7YU/edit?usp=sharing описание] каждой части проекта
 +
* [http://math-info.hse.ru/f/2018-19/py-polit/consultation10122018.pdf Презентация] В.Евтушенко с консультации

Текущая версия на 23:39, 3 января 2019

Дорогие студенты!

На этой странице будут появляться различные материалы и объявления, связанные с курсом «Основы программирования в Python», читаемого для студентов 3-го курса факультета социальных наук, ОП «Политология», в осеннем семестре 2018/2019 учебного года.

  • Авторы курса: Щуров Илья Валерьевич, Тамбовцева Алла Андреевна
  • Лекции и семинары ведет: Тамбовцева Алла Андреевна
  • Учебный ассистент: Евтушенко Виталий

Правила игры

Материалы по курсу

Загрузка файла в Jupyter Notebook и прочее: см. инструкцию.

Скачать файл с расширением .ipynb можно так: пройти по ссылке, нажать на стрелочку в правом верхнем углу (Download Notebook) и сохранить файл.

дата тема лекция семинар дополнительно
03.09 Знакомство с Jupyter Notebook. Переменные. intro-jupyter

intro-variables

Pythontutor Visualizer Coding style Jupyter and Others
10.09 Ввод и вывод в Python. Строки. input-output strings sem-1 solutions-1 String formatting f-strings

Practice-1

17.09 Списки, среды и цикл for. lists tables sem-2

solutions-2

Algorithms & Complexity
24.09 Методы split() и join(). Списковые включения. lists-contd sem-3sem3-solutions

sem3-add

Lists-methods

Вложенные списки (с практикой)

01.10 Кортежи и словари. tuples-dicts sem-4 sem4-solutions

sem4-add

Python data model basics
08.10 Условия и цикл while. if-else-while sem-5

sem-5-solutions

Practice-2 Ещё о Markdown
15.10 Функции в Python. [1] sem-6

sem6-solutions

Code Style, Variable scopes, Exceptions
29.10 Отладка кода. Работа с файлами. materials

(занятие В.Евтушенко)

data Кодировки Ещё кодировки
12.11 Работа с таблицами. Введение в pandas. pandas-intro scores2 Tutorial: 10 min to pandas
19.11 Библиотека pandas. pandas-base scores2 Pandas: merging
26.11 Библиотека pandas. Визуализация и pandas. pandas-contd

Elections

sem-7 sem7-solutions

Titanic

Графики и pandas

Визуализация от Ramiro Gómez

03.12 Работа с html-файлами. Web-scraping. lect-html lect-scrape HTML: w3schools Справочник по тэгам

Веб-дизайн на Coursera

07.12 Регулярные выражения. Обработка текста. regex py-texts

mytext

sem-8sem8-solutions

Contacts

regexr.com ShashkovS (habr)
10.12 Управление браузером через Selenium.

Работа с API VKontakte.

selenium1 selenium2

selenium-books

vk-API vk-instr vk-docs Selenium & WebDriver

SelectorGadget

14.12 Отправка email средствами Python. Облака слов.

Семинар по парсингу html.

py-gmail sem-9 sem9-solutions wordclouds на datacamp.com
17.12 Объектно-ориентированное программирование (обзор). Классы в Python. [oop-py]

Дополнительно

Домашние задания

название задание дедлайн
Домашнее задание 1 hw1 10.09 23:59
Домашнее задание 2 hw2 22.09 23:59
Домашнее задание 3 hw3 hw3-adv 02.10 23:59
Домашнее задание 4 hw4 hw4-adv 15.10 23:59
Домашнее задание 5 hw5 hw5-adv 24.10 23:59
Домашнее задание 6 hw6 21.11 23:59
Домашнее задание 7 hw7 10.12 23:59
Домашнее задание 8 hw8 19.12 23:59

Дополнительные задания

Контрольная работа

Задания . Грузить решения (ipynb-файл) сюда.

Проект

Сроки

1. До 20 декабря, 23:59 нужно загрузить pdf-файл с описанием проекта на Dropbox (ссылка).

2. До 26 декабря, 21:00 нужно загрузить документацию программы на Dropbox (ссылка).

3. До начала защиты проектов (27 декабря, 10:30) нужно загрузить программу на Dropbox (ссылка).

Описание и требования