Основы программирования в Python: различия между версиями
(не показаны 42 промежуточные версии этого же участника) | |||
Строка 52: | Строка 52: | ||
* Введение в объекты и в классы в Python: [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/classes.ipynb лекция], [https://www.w3schools.com/python/python_classes.asp тьюториал]. | * Введение в объекты и в классы в Python: [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/classes.ipynb лекция], [https://www.w3schools.com/python/python_classes.asp тьюториал]. | ||
− | * Работа с текстами: [https://www.datacamp.com/tutorial/wordcloud-python облака слов] (''Set up a Basic WordCloud'', в text помещаем любую строку с текстом) | + | * Работа с текстами: [https://www.datacamp.com/tutorial/wordcloud-python облака слов] (''Set up a Basic WordCloud'', в text помещаем любую строку с текстом). |
=== Занятие 03 (30 января). Форматирование строк. Методы .split() и .join(). === | === Занятие 03 (30 января). Форматирование строк. Методы .split() и .join(). === | ||
Строка 81: | Строка 81: | ||
* Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/1exy0pyspvd19w7/class06-221.ipynb?dl=0 221], [https://www.dropbox.com/s/rmck0r4daza6ovp/class06-222.ipynb?dl=0 222], [https://www.dropbox.com/s/3db67qwu9c7s1xy/class06-223.ipynb?dl=0 223]. | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/1exy0pyspvd19w7/class06-221.ipynb?dl=0 221], [https://www.dropbox.com/s/rmck0r4daza6ovp/class06-222.ipynb?dl=0 222], [https://www.dropbox.com/s/3db67qwu9c7s1xy/class06-223.ipynb?dl=0 223]. | ||
* Кортежи и массивы ([https://github.com/allatambov/PyPolit2023/blob/main/tuples-arrays.ipynb читать], [https://www.dropbox.com/s/xnon71n3f10ljr9/tuples-arrays.ipynb?dl=0 ipynb]). Методы на строках ([https://github.com/allatambov/PyPolit2023/blob/main/str-methods.ipynb читать], [https://www.dropbox.com/s/t0sy2sa46bcwznf/str-methods.ipynb?dl=0 ipynb]). | * Кортежи и массивы ([https://github.com/allatambov/PyPolit2023/blob/main/tuples-arrays.ipynb читать], [https://www.dropbox.com/s/xnon71n3f10ljr9/tuples-arrays.ipynb?dl=0 ipynb]). Методы на строках ([https://github.com/allatambov/PyPolit2023/blob/main/str-methods.ipynb читать], [https://www.dropbox.com/s/t0sy2sa46bcwznf/str-methods.ipynb?dl=0 ipynb]). | ||
− | * Практикум 05 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice05.ipynb читать], [https://www.dropbox.com/s/3q5ked6ongrq7ax/polit-practice05.ipynb?dl=0 ipynb]), решения ([читать], [ipynb]). | + | * Практикум 05 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice05.ipynb читать], [https://www.dropbox.com/s/3q5ked6ongrq7ax/polit-practice05.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice05-solutions.ipynb читать], [https://www.dropbox.com/s/nswn46kama7lcwf/polit-practice05-solutions.ipynb?dl=0 ipynb]). |
* Библиотека [https://pymorphy2.readthedocs.io/en/stable/ pymorphy2] для морфологического разбора и нормализации слов. | * Библиотека [https://pymorphy2.readthedocs.io/en/stable/ pymorphy2] для морфологического разбора и нормализации слов. | ||
Строка 87: | Строка 87: | ||
* Работа с текстами: [https://www.datacamp.com/tutorial/wordcloud-python облака слов], пример [https://github.com/stopwords-iso/stopwords-ru/blob/master/stopwords-ru.txt списка] стоп-слов для русского языка. | * Работа с текстами: [https://www.datacamp.com/tutorial/wordcloud-python облака слов], пример [https://github.com/stopwords-iso/stopwords-ru/blob/master/stopwords-ru.txt списка] стоп-слов для русского языка. | ||
+ | |||
+ | === Занятие 07 (27 февраля). Чтение и запись txt-файлов. Условные конструкции: введение.=== | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/s2rwbo0tisfc0wk/221.ipynb?dl=0 221], [https://www.dropbox.com/s/vt9isy0j9bm8sv9/222.ipynb?dl=0 222], [https://www.dropbox.com/s/nigk64rrwqwhr2x/223.ipynb?dl=0 223]. | ||
+ | * Чтение и запись txt-файлов ([https://github.com/allatambov/PyPolit2023/blob/main/txt-files.ipynb читать], [https://www.dropbox.com/s/kqpsqm3sgpdbukw/txt-files.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 06 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice06.ipynb читать], [https://www.dropbox.com/s/7ek0tq61k8feagh/polit-practice06.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice06-solutions.ipynb читать], [https://www.dropbox.com/s/0ti2lobr92wx7xk/polit-practice06-solutions.ipynb?dl=0 ipynb]). Файлы: [https://www.dropbox.com/s/himcx9m1qjtwm9t/intro.txt?dl=0 intro.txt], [https://www.dropbox.com/s/psx0zigb2p2qlze/ducks.txt?dl=0 ducks.txt]. | ||
+ | |||
+ | === Занятие 08 (6 марта). Условные конструкции и цикл while.=== | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/qpx4ubb3l1mbh59/221.ipynb?dl=0 221], [https://www.dropbox.com/s/4ltbuygk6meuris/222.ipynb?dl=0 222], [https://www.dropbox.com/s/h3bi1wn8m8yv92w/223.ipynb?dl=0 223]. | ||
+ | * Логические выражения и условные конструкции ([https://github.com/allatambov/PyPolit2023/blob/main/testing-conditions.ipynb читать], [https://www.dropbox.com/s/4qetib6jgns80zb/testing-conditions.ipynb?dl=0 ipynb]). Цикл while ([https://github.com/allatambov/PyPolit2023/blob/main/while-loop.ipynb читать], [https://www.dropbox.com/s/a9mdoif1er75t9k/while-loop.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 07 [https://github.com/allatambov/PyPolit2023/blob/main/polit-practice07.ipynb читать], [https://www.dropbox.com/s/tde45zpf3zr36mp/polit-practice07.ipynb?dl=0 ipynb], решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice07-solutions.ipynb читать], [https://www.dropbox.com/s/udv4635nfluexee/polit-practice07-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия], [https://pythontutor.ru/lessons/while/ цикл while]. | ||
+ | * Конструкция 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/ статья]). | ||
+ | |||
+ | === Занятие 09 (13 марта). Повторение. Множества. === | ||
+ | |||
+ | * Сырые ipynb-файлы с занятий: [https://www.dropbox.com/s/98lvpc1jl0jdjgf/221.ipynb?dl=0 221], [https://www.dropbox.com/s/md020yqf95ysbwi/222.ipynb?dl=0 222], [https://www.dropbox.com/s/a0hy630r3i35yut/223.ipynb?dl=0 223]. | ||
+ | * Множества (читать, ipynb). | ||
+ | * Практикум 08 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice08.ipynb читать], [https://www.dropbox.com/s/xz416hs36ou9aep/polit-practice08.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice08-solutions.ipynb читать], [https://www.dropbox.com/s/1lbm08kapc1tt1g/polit-practice08-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/sets/ множества]. | ||
+ | |||
+ | === Занятие 10 (20 марта). Словари. === | ||
+ | |||
+ | * Сырые ipynb-файлы с занятий: [https://www.dropbox.com/s/9qxz5qiw88yk8gk/221_223.ipynb?dl=0 221], [https://www.dropbox.com/s/guwuk96g6ai53c1/222.ipynb?dl=0 222], [https://www.dropbox.com/s/9qxz5qiw88yk8gk/221_223.ipynb?dl=0 223]. | ||
+ | * Словари ([https://github.com/allatambov/PyPolit2023/blob/main/dicts.ipynb читать], [https://www.dropbox.com/s/fn4ysptfqt6oxp4/dicts.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 09 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice09.ipynb читать], [https://www.dropbox.com/s/dzvsqd98s4iny6w/polit-practice09.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice09-solutions.ipynb читать], [https://www.dropbox.com/s/jf296wa99ap9u3z/polit-practice09-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/dicts/ словари] | ||
+ | * Формат [https://www.w3schools.com/js/js_json_intro.asp JSON], модуль json в Python: [https://www.w3schools.com/python/python_json.asp тьюториал], [https://docs.python.org/3/library/json.html документация] | ||
+ | |||
+ | === Занятие 11 (3 апреля). Функции. === | ||
+ | |||
+ | * Сырые ipynb-файлы с занятий: [https://www.dropbox.com/s/vncjqi25egurbco/221.ipynb?dl=0 221], [https://www.dropbox.com/s/8mj3krpswezamox/222.ipynb?dl=0 222], [https://www.dropbox.com/s/7ya1at2g6qak3yu/223.ipynb?dl=0 223]. | ||
+ | * Функции ([https://github.com/allatambov/PyPolit2023/blob/main/functions-short.ipynb читать], [https://www.dropbox.com/s/49ht0rfj45f71te/functions-short.ipynb?dl=0 ipynb]). Более подробная [https://nbviewer.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb лекция] по функциям (автор И.В.Щуров). | ||
+ | * Практикум 10 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice10.ipynb читать], [https://www.dropbox.com/s/v8r3fczrkc5jtd0/polit-practice10.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice10-solutions.ipynb читать], [https://www.dropbox.com/s/l5008vpqy17isy2/polit-practice10-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/functions/ функции] | ||
+ | * Lambda-функции: [https://github.com/allatambov/PyICEF-2023/blob/main/lambda-functions.ipynb конспект] | ||
+ | * Создание модулей и библиотек в Python: [https://packaging.python.org/en/latest/tutorials/packaging-projects/ документация] | ||
+ | |||
+ | === Занятие 12 (10 апреля). Lambda-функции. Повторение. === | ||
+ | |||
+ | * Сырые ipynb-файлы с занятий: [https://www.dropbox.com/s/4hz334ozatm9o3f/221.ipynb?dl=0 221], [https://www.dropbox.com/s/ggo872btmojrnbd/222.ipynb?dl=0 222], [https://www.dropbox.com/s/ylue40l52ooubwj/223.ipynb?dl=0 223]. | ||
+ | * Lambda-функции, анонимные функции (читать, ipynb). | ||
+ | * Практикум 11 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice11.ipynb читать], [https://www.dropbox.com/s/rschmfq86ev7gk8/polit-practice11.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice11-solutions.ipynb читать], [https://www.dropbox.com/s/haussafhusj4aum/polit-practice11-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | === Занятие 13 (17 апреля). Повторение: чтение и запись файлов === | ||
+ | |||
+ | * Практикум 12 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice12.ipynb читать], [https://www.dropbox.com/s/gkawtf3rwgxy9ma/polit-practice12.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice12-solutions.ipynb читать], [https://www.dropbox.com/s/30sc32owzdbbyw2/polit-practice12-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | === Занятие 14 (24 апреля). Введение в HTML. Знакомство с библиотекой BeautifulSoup === | ||
+ | |||
+ | * Знакомство с HTML ([https://www.dropbox.com/s/yhdffw8qo1rpulo/Intro_HTML.pdf?dl=0 слайды]). | ||
+ | * Вспомогательный практикум по введению в BeautifulSoup: [https://github.com/allatambov/PyPolit2023/blob/main/parse-intro.ipynb читать], [https://www.dropbox.com/s/skppt9ug4memglz/parse-intro.ipynb?dl=0 ipynb]. | ||
+ | * Практикум по парсингу HTML с BeautifulSoup ([https://github.com/allatambov/PyPolit2023/blob/main/pypolit-practice-bs01.ipynb читать], [https://www.dropbox.com/s/bkjph1dneiuuq66/pypolit-practice-bs01.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPolit2023/blob/main/pypolit-practice-bs01-solutions.ipynb читать], [https://www.dropbox.com/s/d2qc5odryedfihm/pypolit-practice-bs01-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * [https://www.w3schools.com/html/default.asp Тьюториал] по HTML от W3schools. | ||
+ | * Сайт [https://codepen.io/ codepen.io] для фронт-энд разработчиков. | ||
+ | |||
+ | === Занятие 15 (22 мая). Продолжение знакомства с библиотекой BeautifulSoup === | ||
+ | |||
+ | * Практикум по парсингу HTML с BeautifulSoup: обновленные решения ([https://github.com/allatambov/PyPolit2023/blob/main/pypolit-practice-bs01-solutions-upd.ipynb читать], [https://www.dropbox.com/s/1ia39uppd88gc4q/pypolit-practice-bs01-solutions-upd.ipynb?dl=0 скачать]). | ||
+ | |||
+ | === Занятие 16 (29 мая). Подключение к API на примере ВКонтакте === | ||
+ | |||
+ | * [https://allatambov.github.io/pypolit/vk-auth.pdf Инструкция] по получению доступа к API. | ||
+ | * Практикум по работе с API ВКонтакте: ([https://github.com/allatambov/PyPolit2023/blob/main/pypolit-practice16.ipynb читать], [https://www.dropbox.com/s/t5ztufcd9h765dp/pypolit-practice16.ipynb?dl=0 скачать]). | ||
== Домашние задания == | == Домашние задания == | ||
Строка 103: | Строка 184: | ||
| [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw03/pypolit-hw03.ipynb Домашнее задание 3]|| 16.02 23:59, сдается через систему | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw03/pypolit-hw03.ipynb Домашнее задание 3]|| 16.02 23:59, сдается через систему | ||
|- | |- | ||
− | | Домашнее задание 4|| | + | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pyall-hw04/pyall-hw04.ipynb Домашнее задание 4]|| 27.02 23:59, сдается через систему |
− | |||
− | |||
|- | |- | ||
− | | Домашнее задание | + | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw05/pypolit-hw05.ipynb Домашнее задание 5] [https://www.dropbox.com/s/xmgzi3a8787uj5x/pesem.txt?dl=0 pesem.txt] || 20.03 23:59, сдается через систему, |
|- | |- | ||
− | | Домашнее задание | + | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw06/pypolit-hw06.ipynb Домашнее задание 6] || 10.04 23:59, сдается через систему |
|- | |- | ||
− | | Домашнее задание | + | | Домашнее задание 7: [https://www.dropbox.com/s/u2nw2og9xiokeje/pypolit-hw07-partA.pdf?dl=0 часть A], [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw07/pypolit-hw07.ipynb часть BC]|| 30.04 23:59, сдается через Google Forms и систему |
|- | |- | ||
− | | Домашнее задание | + | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw08/pypolit-hw08.ipynb Домашнее задание 8] || 09.06 23:59, сдается через систему |
|- | |- | ||
− | | Домашнее задание | + | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw09/pypolit-hw09.ipynb Домашнее задание 9]|| 20.06 23:59, сдается через систему |
|- | |- | ||
|} | |} | ||
Строка 124: | Строка 203: | ||
* Студенты ОП «Политология» сдают независимый экзамен по программированию базового уровня (сложнее, чем начальный). | * Студенты ОП «Политология» сдают независимый экзамен по программированию базового уровня (сложнее, чем начальный). | ||
− | * Экзамен запланирован на 4 модуль, | + | * Экзамен запланирован на 4 модуль, с 15 по 17 мая. Экзамен проходит в LMS, проводится с прокторингом. Во время выполнения экзамена разрешается пользоваться официальной шпаргалкой, доступной по ссылке в LMS. На экзамене не разрешается пользоваться облачными средами для работы типа Google Colab, но разрешается пользоваться стандартными средами для запуска кода Jupyter Notebook, PyCharm, VSCode. |
* Для подготовки рекомендуется использовать материалы курса [https://edu.hse.ru/course/view.php?id=133389 «Python как иностранный»], а также открытый банк заданий и демоверсию экзамена из [https://edu.hse.ru/course/view.php?id=133391 официальных материалов] для подготовки. У разработчиков экзамена есть [https://t.me/+i61HquLFmHhhMWJi телеграм-канал], в котором публикуется полезная информация к экзамену, задачи и их разбор. | * Для подготовки рекомендуется использовать материалы курса [https://edu.hse.ru/course/view.php?id=133389 «Python как иностранный»], а также открытый банк заданий и демоверсию экзамена из [https://edu.hse.ru/course/view.php?id=133391 официальных материалов] для подготовки. У разработчиков экзамена есть [https://t.me/+i61HquLFmHhhMWJi телеграм-канал], в котором публикуется полезная информация к экзамену, задачи и их разбор. | ||
− | |||
− | |||
− | |||
− |
Текущая версия на 03:30, 14 июня 2023
Дорогие студенты!
Это страница обязательного курса «Основы программирования в Python», читаемого на образовательной программе «Политология» 1 курса бакалавриата
в 3-4 модулях 2022-2023 учебного года.
Семинары ведёт: Тамбовцева Алла Андреевна, почта allatambov@gmail.com.
Учебные ассистенты: Жужлев Борис (страница vk), Сташевски Эмиль.
Содержание
- 1 Правила игры
- 2 Программное обеспечение
- 3 Материалы курса
- 3.1 Занятие 01 (16 января). Знакомство со средой Jupyter Notebook. Вычисления и переменные в Python.
- 3.2 Занятие 02 (23 января). Типы данных в Python. Ввод и вывод.
- 3.3 Занятие 03 (30 января). Форматирование строк. Методы .split() и .join().
- 3.4 Занятие 04 (6 февраля). Списки и цикл for.
- 3.5 Занятие 05 (13 февраля). Списки и кортежи. Функции range() и zip().
- 3.6 Занятие 06 (17 февраля). Списки, кортежи, массивы. Методы на строках.
- 3.7 Занятие 07 (27 февраля). Чтение и запись txt-файлов. Условные конструкции: введение.
- 3.8 Занятие 08 (6 марта). Условные конструкции и цикл while.
- 3.9 Занятие 09 (13 марта). Повторение. Множества.
- 3.10 Занятие 10 (20 марта). Словари.
- 3.11 Занятие 11 (3 апреля). Функции.
- 3.12 Занятие 12 (10 апреля). Lambda-функции. Повторение.
- 3.13 Занятие 13 (17 апреля). Повторение: чтение и запись файлов
- 3.14 Занятие 14 (24 апреля). Введение в HTML. Знакомство с библиотекой BeautifulSoup
- 3.15 Занятие 15 (22 мая). Продолжение знакомства с библиотекой BeautifulSoup
- 3.16 Занятие 16 (29 мая). Подключение к API на примере ВКонтакте
- 4 Домашние задания
- 5 Подготовка к независимому экзамену
Правила игры
- Формула оценки: Итог = 0.4 * Домашнее задание + 0.3 * Тест + 0.3 * Экзамен, где Домашнее задание и Тест – неокруглённые средние арифметические за все домашние задания и тесты соответственно, а Экзамен – целочисленная оценка за экзамен. Всего планируется 10 домашних заданий и 3 теста.
- Пояснения по формам контроля можно посмотреть в программе курса.
- При сдаче домашнего задания позже указанного срока предусмотрены штрафы. Опоздание в пределах часа ведёт к штрафу 10% от полученной оценки, в пределах суток – к штрафу 30%, в пределах недели – к штрафу 60%.
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook.
Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.
Материалы курса
Занятие 01 (16 января). Знакомство со средой Jupyter Notebook. Вычисления и переменные в Python.
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Инструкция по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown (читать, ipynb).
- Вычисления и переменные в Python (читать, ipynb).
Дополнительно:
- Pythontutor: вычисления.
- Вычисления с заданной точностью с модулем decimal, официальная документация decimal.
- Вычисления с обыкновенными дробями с модулем fractions, официальная документация fractions.
- Символьные вычисления с sympy: часть 1 (sympy-1.ipynb), часть 2 (sympy-2.ipynb), официальная документация sympy.
- Стандарты оформления кода Python: PEP8, проверка соответствия кода стандартам: PEP8 online check.
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
Занятие 02 (23 января). Типы данных в Python. Ввод и вывод.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Типы данных и преобразование типов. Ввод и вывод в Python (читать, ipynb).
- Практикум 01 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: ввод и вывод.
- Работа с f-strings: обзор, документация.
- Исполнение кода внутри строк с функцией eval(): обзор.
Для тех, кто всё это знает:
- Введение в объекты и в классы в Python: лекция, тьюториал.
- Работа с текстами: облака слов (Set up a Basic WordCloud, в text помещаем любую строку с текстом).
Занятие 03 (30 января). Форматирование строк. Методы .split() и .join().
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Форматирование строк. Методы .split() и .join() (читать, ipynb).
- Практикум 02 (читать, ipynb), решения практикума (читать, ipynb).
Занятие 04 (6 февраля). Списки и цикл for.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Списки и цикл for (читать, ipynb). Методы на списках (читать, ipynb).
- Практикум 03 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Визуализатор кода от pythontutor.com.
- Pythontutor: списки, цикл for.
Занятие 05 (13 февраля). Списки и кортежи. Функции range() и zip().
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Функция range(), функция zip() и кортежи (читать, ipynb).
- Практикум 04 (читать, ipynb), решения практикума (читать, ipynb).
Занятие 06 (17 февраля). Списки, кортежи, массивы. Методы на строках.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Кортежи и массивы (читать, ipynb). Методы на строках (читать, ipynb).
- Практикум 05 (читать, ipynb), решения (читать, ipynb).
- Библиотека pymorphy2 для морфологического разбора и нормализации слов.
Дополнительно:
- Работа с текстами: облака слов, пример списка стоп-слов для русского языка.
Занятие 07 (27 февраля). Чтение и запись txt-файлов. Условные конструкции: введение.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Чтение и запись txt-файлов (читать, ipynb).
- Практикум 06 (читать, ipynb), решения (читать, ipynb). Файлы: intro.txt, ducks.txt.
Занятие 08 (6 марта). Условные конструкции и цикл while.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Логические выражения и условные конструкции (читать, ipynb). Цикл while (читать, ipynb).
- Практикум 07 читать, ipynb, решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: условия, цикл while.
- Конструкция try-except для ловли ошибок (статья).
- Операции continue и pass и циклах (статья).
Занятие 09 (13 марта). Повторение. Множества.
- Сырые ipynb-файлы с занятий: 221, 222, 223.
- Множества (читать, ipynb).
- Практикум 08 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: множества.
Занятие 10 (20 марта). Словари.
- Сырые ipynb-файлы с занятий: 221, 222, 223.
- Словари (читать, ipynb).
- Практикум 09 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: словари
- Формат JSON, модуль json в Python: тьюториал, документация
Занятие 11 (3 апреля). Функции.
- Сырые ipynb-файлы с занятий: 221, 222, 223.
- Функции (читать, ipynb). Более подробная лекция по функциям (автор И.В.Щуров).
- Практикум 10 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: функции
- Lambda-функции: конспект
- Создание модулей и библиотек в Python: документация
Занятие 12 (10 апреля). Lambda-функции. Повторение.
- Сырые ipynb-файлы с занятий: 221, 222, 223.
- Lambda-функции, анонимные функции (читать, ipynb).
- Практикум 11 (читать, ipynb), решения практикума (читать, ipynb).
Занятие 13 (17 апреля). Повторение: чтение и запись файлов
Занятие 14 (24 апреля). Введение в HTML. Знакомство с библиотекой BeautifulSoup
- Знакомство с HTML (слайды).
- Вспомогательный практикум по введению в BeautifulSoup: читать, ipynb.
- Практикум по парсингу HTML с BeautifulSoup (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Тьюториал по HTML от W3schools.
- Сайт codepen.io для фронт-энд разработчиков.
Занятие 15 (22 мая). Продолжение знакомства с библиотекой BeautifulSoup
Занятие 16 (29 мая). Подключение к API на примере ВКонтакте
- Инструкция по получению доступа к API.
- Практикум по работе с API ВКонтакте: (читать, скачать).
Домашние задания
- Решения домашнего задания №1 необходимо загрузить в папку Dropbox по предложенным ссылкам (отдельная ссылка для каждой группы).
- Последующие домашние задания сдаются через систему python.math-info, видео-инструкция по работе с системой.
Домашнее задание | Дедлайн |
---|---|
Домашнее задание 1 | 23.01 12:00, загружать сюда: 221, 222, 223 |
Домашнее задание 2 | 04.02 23:59, сдается через систему |
Домашнее задание 3 | 16.02 23:59, сдается через систему |
Домашнее задание 4 | 27.02 23:59, сдается через систему |
Домашнее задание 5 pesem.txt | 20.03 23:59, сдается через систему, |
Домашнее задание 6 | 10.04 23:59, сдается через систему |
Домашнее задание 7: часть A, часть BC | 30.04 23:59, сдается через Google Forms и систему |
Домашнее задание 8 | 09.06 23:59, сдается через систему |
Домашнее задание 9 | 20.06 23:59, сдается через систему |
Подготовка к независимому экзамену
Официальная информация
- Студенты ОП «Политология» сдают независимый экзамен по программированию базового уровня (сложнее, чем начальный).
- Экзамен запланирован на 4 модуль, с 15 по 17 мая. Экзамен проходит в LMS, проводится с прокторингом. Во время выполнения экзамена разрешается пользоваться официальной шпаргалкой, доступной по ссылке в LMS. На экзамене не разрешается пользоваться облачными средами для работы типа Google Colab, но разрешается пользоваться стандартными средами для запуска кода Jupyter Notebook, PyCharm, VSCode.
- Для подготовки рекомендуется использовать материалы курса «Python как иностранный», а также открытый банк заданий и демоверсию экзамена из официальных материалов для подготовки. У разработчиков экзамена есть телеграм-канал, в котором публикуется полезная информация к экзамену, задачи и их разбор.