Программирование для всех (основы работы с Python): различия между версиями
(не показаны 23 промежуточные версии этого же участника) | |||
Строка 48: | Строка 48: | ||
=== Неделя 3. Условные конструкции, циклы, функции (26.09) === | === Неделя 3. Условные конструкции, циклы, функции (26.09) === | ||
− | * Практикум 3: задания ([https://nbviewer.org/github/allatambov/PyMs2022/blob/main/problems03.ipynb читать], [https://www.dropbox.com/s/a0r0newokmf8yve/problems03.ipynb?dl=0 скачать]). | + | * [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 список] стоп-слов для русского языка. | ||
== Домашние задания == | == Домашние задания == | ||
Строка 64: | Строка 111: | ||
| Домашнее задание 2 || 29.09 23:59 || [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyall2022/pyall-hw02/pyall-hw02.ipynb ссылка] | | Домашнее задание 2 || 29.09 23:59 || [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyall2022/pyall-hw02/pyall-hw02.ipynb ссылка] | ||
|- | |- | ||
− | | Домашнее задание 3 || | + | | Домашнее задание 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 учебного года.
Семинары ведёт: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
- 2 Программное обеспечение
- 3 Материалы занятий
- 3.1 Неделя 1. Введение в Python (12.09)
- 3.2 Неделя 2. Списки и массивы в Python (19.09)
- 3.3 Неделя 3. Условные конструкции, циклы, функции (26.09)
- 3.4 Неделя 4. Словари, файлы JSON, введение в API (03.10)
- 3.5 Неделя 5. Датафреймы pandas, работа с API ВКонтакте (10.10)
- 3.6 Неделя 6. Парсинг HTML с BeautifulSoup (17.10)
- 4 Домашние задания
Правила игры
- Формула оценки: Итог = 0.4 * Домашние задания + 0.2 * Тест + 0.4 * Экзамен.
- План курса по неделям и пояснения по формам контроля можно посмотреть здесь.
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook.
Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.
Материалы занятий
Неделя 1. Введение в Python (12.09)
- Видеозапись занятия, сырой ipynb-файл с занятия.
- Инструкция по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown (читать, ipynb).
- Вычисления и переменные в Python (читать, ipynb). Типы данных, ввод и вывод, форматирование строк (читать, ipynb).
- Практикум 1: задания (читать, скачать), решения (читать, скачать).
Дополнительно:
- Pythontutor: вычисления, ввод и вывод.
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
- Стандарты оформления кода Python: PEP8.
- LaTeX: ShareLaTeX для желающих, документация на английском, материалы других курсов по LaTeX.
Неделя 2. Списки и массивы в Python (19.09)
- Видеозапись занятия, сырой ipynb-файл с занятия.
- Списки и цикл for (читать, ipynb). Методы на списках (читать, ipynb).
- Методы на строках (читать, ipynb).
- Обзор структур данных: кортежи и массивы (читать, ipynb).
- Практикум 2: задания (читать, скачать), решения (читать, скачать).
Дополнительно:
- Pythontutor: визуализатор кода.
- Pythontutor: цикл for, списки, строки.
- Библиотеки для продвинутой обработки текста: pymorphy2 (морфологический анализатор), pymystem3 (предобработка текста), nltk (много модулей для разных языков).
Неделя 3. Условные конструкции, циклы, функции (26.09)
- Видеозапись занятия, сырой ipynb-файл с занятия.
- Проверка условий (читать, скачать). Условные конструкции (читать, скачать).
- Цикл while (читать, скачать).
- Подробная лекция по функциям (И.В.Щуров).
- Практикум 3: задания (читать, скачать), решения (читать, скачать).
Дополнительно:
- Pythontutor: условия, while, функции и рекурсия.
- Конструкция try-except для ловли ошибок (статья).
- Операции continue и pass и циклах (статья).
Неделя 4. Словари, файлы JSON, введение в API (03.10)
- Видеозапись занятия, сырой ipynb с занятия.
- Полезные конструкции: списковые включения и lambda-функции.
- Словари и методы на словарях (читать, скачать).
- Словари и формат JSON (читать, скачать), файл data-6114-2018-12-10.json.
- Практикум 4: задания (читать, скачать), решения (читать, скачать).
- Инструкция по получению доступа к API ВКонтакте.
Дополнительно:
Неделя 5. Датафреймы pandas, работа с API ВКонтакте (10.10)
- Видеозапись занятия, сырой ipynb с занятия.
- Знакомство с датафреймами pandas (читать, скачать), файл Salaries.csv, загрузить данные можно также по ссылке.
- Инструкция по получению доступа к API ВКонтакте, документация API ВКонтакте.
- Практикум 5 по API: задания (читать, скачать), решения (читать, скачать), видео-разбор.
Дополнительно:
- Массивы Numpy, последовательности pandas Series и датафреймы pandas (конспект).
- Материалы курса «Основы анализа данных в Python».
- Материалы курса И.В.Щурова «Наука о данных».
Неделя 6. Парсинг HTML с BeautifulSoup (17.10)
- Видеозапись занятия, сырой ipynb с занятия.
- HTML как язык разметки (слайды).
- Парсинг HTML с BeautifulSoup (читать, скачать).
Дополнительно:
- Документация BeautifulSoup.
- Что дальше: работа с текстами и облака слов (читать), облака слов с wordcloud, список стоп-слов для русского языка.
Домашние задания
Сдаются через систему с автоматическими тестами. Для сдачи задания необходимо зарегистрироваться в системе, зайти в нее, скачать 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, сдавать сюда |