Программирование для всех (основы работы с Python): различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показано 36 промежуточных версий этого же участника)
Строка 18: Строка 18:
 
== Материалы занятий ==
 
== Материалы занятий ==
  
TBA
+
=== Неделя 1. Введение в Python (12.09) ===
 +
 
 +
* [https://www.dropbox.com/sh/kb4xwigxwlwmjon/AABLIPgy9nG5S-FBGoWRfiypa?dl=0 Видеозапись] занятия, сырой [https://www.dropbox.com/s/a94g2g1tbr1jtrt/week01.ipynb?dl=0 ipynb-файл] с занятия.
 +
*  [https://allatambov.github.io/icef/seminars/instruction-JN.pdf Инструкция] по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/intro-jupyter.ipynb читать], [http://allatambov.github.io/icef/seminars/intro-jupyter.ipynb ipynb]).
 +
* Вычисления и переменные в Python ([https://github.com/allatambov/allatambov.github.io/blob/master/PyProgPerm/lectures/calc-variables.ipynb читать], [https://allatambov.github.io/PyProgPerm/lectures/calc-variables.ipynb ipynb]). Типы данных, ввод и вывод, форматирование строк ([https://github.com/allatambov/allatambov.github.io/blob/master/PyProgPerm/lectures/types-input-output.ipynb читать], [https://allatambov.github.io/PyProgPerm/lectures/types-input-output.ipynb ipynb]).
 +
* Практикум 1: задания ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/problems01.ipynb читать], [https://www.dropbox.com/s/9rzx4ndywo8dll2/problems01.ipynb?dl=0 скачать]), решения ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/problems01-solutions.ipynb читать], [https://www.dropbox.com/s/pe2yv72vnfq6zsw/problems01-solutions.ipynb?dl=0 скачать]).
 +
 
 +
Дополнительно:
 +
 
 +
* Pythontutor: [https://pythontutor.ru/lessons/int_and_float/ вычисления], [https://pythontutor.ru/lessons/inout_and_arithmetic_operations/ ввод и вывод].
 +
* Markdown и Jupyter: [https://www.ibm.com/support/knowledgecenter/SSQNUZ_current/com.ibm.icpdata.doc/dsx/markd-jupyter.html больше] про Markdown, интерактивные [https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Basics.html виджеты] в Jupyter.
 +
* Стандарты оформления кода Python: [https://peps.python.org/pep-0008/ PEP8].
 +
* LaTeX: [https://ru.sharelatex.com/ ShareLaTeX] для желающих, [https://www.overleaf.com/learn документация] на английском, [https://github.com/allatambov/Latex материалы] других курсов по LaTeX.
 +
 
 +
=== Неделя 2. Списки и массивы в Python (19.09) ===
 +
 
 +
* [https://www.dropbox.com/sh/h8arzruv10g3nzm/AAAW0dnpW5O5z4RFDYZpcxpKa?dl=0 Видеозапись] занятия, сырой [https://www.dropbox.com/s/y9dezjv3s4pnibs/week02.ipynb?dl=0 ipynb-файл] с занятия.
 +
* Списки и цикл for ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/lists-for.ipynb читать], [https://www.dropbox.com/s/sn0l4qaglersdk6/lists-for.ipynb?dl=0 ipynb]). Методы на списках ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/lists-2.ipynb читать], [https://allatambov.github.io/icef/seminars/lists-2.ipynb ipynb]).
 +
* Методы на строках ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/PyProgPerm/lectures/str-methods.ipynb читать], [https://allatambov.github.io/PyProgPerm/lectures/str-methods.ipynb ipynb]).
 +
* Обзор структур данных: кортежи и массивы ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/tuples-arrays.ipynb читать], [https://www.dropbox.com/s/336blw13yhnjrf5/tuples-arrays.ipynb?dl=0 ipynb]).
 +
* Практикум 2: задания ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/problems02.ipynb читать], [https://www.dropbox.com/s/1p0uex8t4f4gq75/problems02.ipynb?dl=0 скачать]), решения ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/problems02-solutions.ipynb читать], [https://www.dropbox.com/s/129c3t85egfpizt/problems02-solutions.ipynb?dl=0 скачать]).
 +
 
 +
Дополнительно:
 +
 
 +
* Pythontutor: [https://pythontutor.com/visualize.html#mode=edit визуализатор] кода.
 +
* Pythontutor: [https://pythontutor.ru/lessons/for_loop/ цикл for], [https://pythontutor.ru/lessons/lists/ списки], [https://pythontutor.ru/lessons/str/ строки].
 +
* Библиотеки для продвинутой обработки текста: [https://pymorphy2.readthedocs.io/en/stable/ pymorphy2] (морфологический анализатор), [https://pypi.org/project/pymystem3/ pymystem3] (предобработка текста), [https://www.nltk.org/ nltk] (много модулей для разных языков).
 +
 
 +
=== Неделя 3. Условные конструкции, циклы, функции (26.09) ===
 +
 
 +
* [https://www.dropbox.com/sh/r1gn8tz97kc3iyr/AABK7Uk5YpNh4MsFQyGUDUX2a?dl=0 Видеозапись] занятия, сырой [https://www.dropbox.com/s/79k4t2nlqs5mpkk/week03.ipynb?dl=0 ipynb-файл] с занятия.
 +
* Проверка условий ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/PyProgPerm/lectures/conditions.ipynb читать], [https://www.dropbox.com/s/53u5tz035o7nxdw/conditions.ipynb?dl=0 скачать]). Условные конструкции ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/if-else.ipynb читать], [https://www.dropbox.com/s/ql83m2vexu1fy3j/if-else.ipynb?dl=0 скачать]).
 +
* Цикл while ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/PyProgPerm/lectures/while.ipynb читать], [https://www.dropbox.com/s/mjwtey71ppbb1hb/while.ipynb?dl=0 скачать]).
 +
* Подробная [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb лекция] по функциям (И.В.Щуров).
 +
* Практикум 3: задания ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/problems03.ipynb читать], [https://www.dropbox.com/s/a0r0newokmf8yve/problems03.ipynb?dl=0 скачать]), решения ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/problems03-solutions.ipynb читать], [https://www.dropbox.com/s/10sumhgeyu5h8ze/problems03-solutions.ipynb?dl=0 скачать]).
 +
 
 +
Дополнительно:
 +
 
 +
* Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия], [https://pythontutor.ru/lessons/while/ while], [https://pythontutor.ru/lessons/functions/ функции и рекурсия].
 +
* Конструкция try-except для ловли ошибок ([https://pythonworld.ru/tipy-dannyx-v-python/isklyucheniya-v-python-konstrukciya-try-except-dlya-obrabotki-isklyuchenij.html статья]).
 +
* Операции continue и pass и циклах ([https://www.geeksforgeeks.org/difference-between-continue-and-pass-statements-in-python/ статья]).
 +
 
 +
=== Неделя 4. Словари, файлы JSON, введение в API (03.10) ===
 +
 
 +
* [https://www.dropbox.com/sh/qp9u2j0evj9g2hf/AACjntjABKCp2ps8vN-HSieQa?dl=0 Видеозапись] занятия, сырой [https://www.dropbox.com/s/n6lc2etflznjpmx/week04.ipynb?dl=0 ipynb] с занятия.
 +
* Полезные конструкции: списковые включения и [https://nbviewer.org/github/allatambov/PyDat-0919/blob/master/lectures-seminars/5-files/lambda-functions.ipynb lambda-функции].
 +
* Словари и методы на словарях ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/PyProgPerm/lectures/dicts.ipynb читать], [https://www.dropbox.com/s/n8etvouova0be13/dicts.ipynb?dl=0 скачать]).
 +
* Словари и формат JSON ([https://github.com/allatambov/allatambov.github.io/blob/master/PyProgPerm/lectures/files-json.ipynb читать], [https://www.dropbox.com/s/r2p0jb46kuxoo24/files-json.ipynb?dl=0 скачать]), файл [https://www.dropbox.com/s/lb48mcy3nldo5kp/data-6114-2018-12-10.json?dl=0 data-6114-2018-12-10.json].
 +
* Практикум 4: задания ([https://github.com/allatambov/PyMs2022/blob/main/problems04.ipynb читать], [https://www.dropbox.com/s/r3goyzkdpf688pw/problems04.ipynb?dl=0 скачать]), решения ([https://github.com/allatambov/PyMs2022/blob/main/problems04-solutions.ipynb читать], [https://www.dropbox.com/s/o5z676xtlp280cm/problems04-solutions.ipynb?dl=0 скачать]).
 +
* [https://allatambov.github.io/pypolit/vk-auth.pdf Инструкция] по получению доступа к API ВКонтакте.
 +
 
 +
Дополнительно:
 +
 
 +
* Pythontutor: [https://pythontutor.ru/lessons/dicts/ словари], [https://pythontutor.ru/lessons/sets/ множества]
 +
 
 +
=== Неделя 5. Датафреймы pandas, работа с API ВКонтакте (10.10) ===
 +
 
 +
* [https://www.dropbox.com/sh/2k0ey9x2w7wk1a8/AABr_7Le4U2eNmOaP97vBT3-a?dl=0 Видеозапись] занятия, сырой [https://www.dropbox.com/s/t6f74tjghm22agk/week05.ipynb?dl=0 ipynb] с занятия.
 +
* Знакомство с датафреймами pandas ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/pandas-upd.ipynb читать], [https://www.dropbox.com/s/fjk17gg86ylytj9/pandas-upd.ipynb?dl=0 скачать]), файл [https://www.dropbox.com/s/3m3tbgzrk8ipspu/Salaries.csv?dl=0 Salaries.csv], загрузить данные можно также по [https://vincentarelbundock.github.io/Rdatasets/csv/carData/Salaries.csv ссылке].
 +
* [https://allatambov.github.io/pypolit/vk-auth.pdf Инструкция] по получению доступа к API ВКонтакте, [https://dev.vk.com/api/getting-started документация] API ВКонтакте.
 +
* Практикум 5 по API: задания ([https://github.com/allatambov/PyMs2022/blob/main/problems05-vk.ipynb читать], [https://www.dropbox.com/s/8ik4e9z3be1y3k6/problems05-vk.ipynb?dl=0 скачать]), решения ([https://github.com/allatambov/PyMs2022/blob/main/practice-vk-sol.ipynb читать], [https://www.dropbox.com/s/065f1lpno1k85hc/practice-vk-sol.ipynb?dl=0 скачать]), видео-разбор.
 +
 
 +
Дополнительно:
 +
 
 +
* Массивы Numpy, последовательности pandas Series и датафреймы pandas ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/arrays-pandas.ipynb конспект]).
 +
* [http://math-info.hse.ru/s22/c Материалы] курса «Основы анализа данных в Python».
 +
* [http://math-info.hse.ru/s21/j Материалы] курса И.В.Щурова «Наука о данных».
 +
 
 +
=== Неделя 6. Парсинг HTML с BeautifulSoup (17.10) ===
 +
 
 +
* [https://www.dropbox.com/sh/1n2egk2wgrg8n8m/AADNumQpCZmXI_QHHI1Jw7o5a?dl=0 Видеозапись] занятия, сырой [https://www.dropbox.com/s/cwsx6pn6zqys81c/get-news.ipynb?dl=0 ipynb] с занятия.
 +
* HTML как язык разметки ([https://www.dropbox.com/s/igzv6fb0l5fd5dz/Intro_HTML.pdf?dl=0 слайды]).
 +
* Парсинг HTML с BeautifulSoup ([https://github.com/allatambov/PyMs2022/blob/main/webscrape-bs.ipynb читать], [https://www.dropbox.com/s/kmelcegvgflj2bo/webscrape-bs.ipynb?dl=0 скачать]).
 +
 
 +
Дополнительно:
 +
 
 +
* [https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Документация] BeautifulSoup.
 +
* Что дальше: работа с текстами и облака слов ([https://allatambov.github.io/web-scrape/work-with-texts.ipynb читать]), облака слов с [https://www.datacamp.com/community/tutorials/wordcloud-python wordcloud], [https://raw.githubusercontent.com/stopwords-iso/stopwords-ru/master/stopwords-ru.txt список] стоп-слов для русского языка.
  
 
== Домашние задания ==
 
== Домашние задания ==
  
Сдаются через [http://python.math-hse.info/ систему] с автоматическими тестами.
+
Сдаются через [http://python.math-hse.info/ систему] с автоматическими тестами. Для сдачи задания необходимо зарегистрироваться в системе, зайти в нее, скачать ipynb-файл, вписать в него решения, сохранить изменения и загрузить обновленный файл в систему.
 +
 
 +
Важно! Если скачать файл со страницы курса по ссылке ниже или создать новый файл и просто скопировать в него условия и решения, система не сможет за каждый пройденный тест засчитать баллы, нужен особый формат ячеек, который используется в ipynb-файле с домашним заданием в системе (да, внешне ячейки такого формата не отличаются от обычных).
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Домашнее задание !! Дедлайн !! Условия
 +
|-
 +
| Домашнее задание 1 || 20.09 23:59 || [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyall2022/pyall-hw01/pyall-hw01.ipynb ссылка]
 +
|-
 +
| Домашнее задание 2 || 29.09 23:59 || [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyall2022/pyall-hw02/pyall-hw02.ipynb ссылка]
 +
|-
 +
| Домашнее задание 3 || 06.10 23:59 || [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyall2022/pyall-hw03/pyall-hw03.ipynb ссылка]
 +
|-
 +
| Домашнее задание 4 || 17.10 23:59 || [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyall2022/pyall-hw04/pyall-hw04.ipynb ссылка]
 +
|-
 +
| [https://github.com/allatambov/PyMs2022/blob/main/pyall-hw05.ipynb Домашнее задание 5] || 24.10 23:59 || [https://www.dropbox.com/s/lp91afwhgt61e4l/pyall-hw05.ipynb?dl=0 ipynb], сдавать [https://www.dropbox.com/request/SjApy84xQ79RmYd0Y5vL сюда]
 +
|}

Текущая версия на 01:51, 18 октября 2022

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

Это страница курса по выбору «Программирование для всех (основы работы с Python)», читаемого на программе «Прикладная политология» 1 курса магистратуры в 1 модуле 2022-2023 учебного года.

Семинары ведёт: Тамбовцева Алла Андреевна.

Правила игры

  • Формула оценки: Итог = 0.4 * Домашние задания + 0.2 * Тест + 0.4 * Экзамен.
  • План курса по неделям и пояснения по формам контроля можно посмотреть здесь.

Программное обеспечение

Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook.

Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.

Материалы занятий

Неделя 1. Введение в Python (12.09)

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

Неделя 2. Списки и массивы в Python (19.09)

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

Неделя 3. Условные конструкции, циклы, функции (26.09)

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

Неделя 4. Словари, файлы JSON, введение в API (03.10)

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

Неделя 5. Датафреймы pandas, работа с API ВКонтакте (10.10)

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

  • Массивы Numpy, последовательности pandas Series и датафреймы pandas (конспект).
  • Материалы курса «Основы анализа данных в Python».
  • Материалы курса И.В.Щурова «Наука о данных».

Неделя 6. Парсинг HTML с BeautifulSoup (17.10)

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

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

Сдаются через систему с автоматическими тестами. Для сдачи задания необходимо зарегистрироваться в системе, зайти в нее, скачать ipynb-файл, вписать в него решения, сохранить изменения и загрузить обновленный файл в систему.

Важно! Если скачать файл со страницы курса по ссылке ниже или создать новый файл и просто скопировать в него условия и решения, система не сможет за каждый пройденный тест засчитать баллы, нужен особый формат ячеек, который используется в ipynb-файле с домашним заданием в системе (да, внешне ячейки такого формата не отличаются от обычных).

Домашнее задание Дедлайн Условия
Домашнее задание 1 20.09 23:59 ссылка
Домашнее задание 2 29.09 23:59 ссылка
Домашнее задание 3 06.10 23:59 ссылка
Домашнее задание 4 17.10 23:59 ссылка
Домашнее задание 5 24.10 23:59 ipynb, сдавать сюда