Основы программирования на Python осень 2020 матфак
Содержание
О курсе
Курс читается для студентов факультета математики ВШЭ в 1-2 модулях.
Необходимые ссылки
- Чат курса в телеграме
- Канал курса в телеграме
- Anytask, инвайты
- Таблица оценок
- ПУД курса
- Форма контактов
- Документация Питон по темам
Семинаристы
Группа | Преподаватель | Почта | Расписание |
---|---|---|---|
1, 2 | Соня Дымченко | sadymchenko@edu.hse.ru | понедельник, четверг: 1я пара, ауд. 318 |
3, 4 | Митя Попов | mitya1510@ya.ru | вторник, пятница: 1я пара, ауд. 318 |
Формула оценки
Результирующая оценка по дисциплине рассчитывается по формуле:
Oитог (пилот) = 6 + 0.2 * OМидтерм + 0.2 * OЭкзамен
Oитог = 0.4 * Oсеминары + 0.6 * OДЗ
Семинары
Все материалы можно найти здесь.
№ | Тема | Ссылка на занятие | Контест | Дедлайн |
---|---|---|---|---|
1 | Вводные курса. Установка ПО. Введение в Python. | notebook nbviewer slides | contest 1 | 25.09 23:59 |
2 | Условные конструкции. While. | notebook nbviewer slides | contest 2 | 02.10 23:59 |
3 | Последовательности: списки, кортежи, строки. | notebook nbviewer slides | contest 3 | 03.10 23:59 |
4 | Цикл for. Функции range, enumerate, zip, map. Генераторы. | notebook nbviewer slides | contest 4 | 12.10 23:59 |
5 | Функции, рекурсия. | notebook nbviewer slides YouTube | contest 5 | 18.10 23:59 |
6 | Домашнее задание #1. | материалы и условие | contest | 06.11 23:00 |
7 | Строки, форматирование. | notebook nbviewer slides YouTube | contest 6 | 12.11 23:59 |
8 | Словари, множества. | notebook nbviewer slides | contest 7 | 18.11 23:59 |
9 | Алгоритмическая сложность, сортировки. | notebook nbviewer slides | contest 8 | 27.11 23:59 |
10 | Продвинутые темы 1. Исключения, тестирование, логирование. Модульное оформление. Аргпарс. Файлы. | notebook | - | - |
11.1 | Классы. | notebook | необязательный contest на 40 бонусных баллов | 3.12 23:59 |
11.2 | Домашнее задание #2. | ДЗ #2. Класс многочленов. Условие. | contest | 13.12 23:59 |
12 | Продвинутые темы 2. Итераторы. Itertools, collection, functools. Регулярные выражения. | Подборка | - | - |
13 | Библиотеки для научных вычислений: numpy, scipy. | - | - | - |
14 | Библиотека для работы с таблицами: pandas. Домашнее задание #3. | notebook | 25.12 23:59 | |
15 | Библиотеки для визуализаций: matplotlib, seaborn, plotly. | - | - | - |
Домашние задания
Правила сдачи заданий
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.
При обнаружении плагиата за домашнее задание ставится оценка ноль всем задействованным в списывании студентам, а также подаётся докладная записка в деканат.
Список заданий и описание
Домашнее задание 1 |
Дедлайн:
Максимальное число баллов за всё задание: 10 = 3 (контест) + 7 (визуализация). Можно получить допбаллы за придуманные студентом особенности визуализации. В Anytask необходимо сдать файл .py с кодом, который используя библиотеку pygame позволяет играть в игру "Жизнь". Код должен запускаться без ошибок, иначе за работу ставится оценка ноль. Часть кода сдается на автоматическую проверку в контест и оценивается отдельно. Помимо проверки верной работы кода, будет проверяться, что код читаемый и аккуратный (PEP8, осознанные имена переменных, комментарии), не содержит очевидных неоптимальных конструкций, которых можно было избежать, например тройные-четверные и более вложенные циклы. За плохой код могут быть сняты баллы. Интерактивная визуализация в себя включает:
|
Домашнее задание 2 |
Дедлайн:
Максимальное число баллов за всё задание: 10 = 5 + 4 (1 часть, открытые и закрытые тесты) + 1 (пункт на выбор из 2 части). Можно получить допбаллы за выполнение других пунктов из второй части, максимум 3 допбалла. То есть можно получить 13/10. В Anytask необходимо сдать архив с файлами polynomial.py и другими, например, main.py для задания argparse, test_more.py для задания с тестированием. Для задания с Github необходимо приложить ссылку на репозиторий. Помимо проверки верной работы кода, будет проверяться, что код читаемый и аккуратный (PEP8, осознанные имена переменных, комментарии), не содержит очевидно неоптимальных конструкций (помните о сложности алгоритма, у нас была лекция на эту тему), которых можно было избежать. За плохой код могут быть сняты баллы. |
Домашнее задание 3 |
Дедлайн: 25.12 23:59 -> перенесен на 28.12 23:59 Максимально число баллов за всё задание: 10, остальные 3 являются дополнительными. То есть можно получить 13/10. Задание. Чтобы открыть, необзодимо либо скачать и локально открыть файл, либо нажать кнопку сверху "Открыть в Google Colaboratory". Необходимо отправить в Anytask либо решенный jupyter ноутбук в формате .ipynb, либо ссылку на Google Colab с правами на редактирование. |