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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
 
(не показано 15 промежуточных версии 2 участников)
Строка 16: Строка 16:
 
* [https://t-do.ru/joinchat/CDE3kheCqQ9FmNDkdXCUjw Чат курса в телеграме]
 
* [https://t-do.ru/joinchat/CDE3kheCqQ9FmNDkdXCUjw Чат курса в телеграме]
 
* [https://t-do.ru/joinchat/AAAAAFEIJZosdXGN5fJoOg Канал курса в телеграме]
 
* [https://t-do.ru/joinchat/AAAAAFEIJZosdXGN5fJoOg Канал курса в телеграме]
* [https://anytask.org/course/723#tasks-tab Anytask]
+
* [https://anytask.org/course/723#tasks-tab Anytask], [https://t.me/c/1359488410/43 инвайты]
 
* [https://docs.google.com/spreadsheets/d/13AtF13iSHQrNWiyPlDQ0Hth8z2C6WdaZrnSu5jsRRXw/edit?usp=sharing Таблица оценок]
 
* [https://docs.google.com/spreadsheets/d/13AtF13iSHQrNWiyPlDQ0Hth8z2C6WdaZrnSu5jsRRXw/edit?usp=sharing Таблица оценок]
 
* [https://www.hse.ru/ba/math/courses/375290780.html ПУД курса]
 
* [https://www.hse.ru/ba/math/courses/375290780.html ПУД курса]
Строка 48: Строка 48:
 
! № !! Тема !! Ссылка на занятие !! Контест !! Дедлайн
 
! № !! Тема !! Ссылка на занятие !! Контест !! Дедлайн
 
|-
 
|-
| 1 || Вводные курса. Установка ПО. Введение в Python. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture01_intro.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture01_intro.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture01_intro_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/19635/enter/ contest] || 25.09 23:59
+
| 1 || Вводные курса. Установка ПО. Введение в Python. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture01_intro.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture01_intro.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture01_intro_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/19635/enter/ contest 1] || 25.09 23:59
 
|-
 
|-
| 2 || Условные конструкции. While. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture02_if.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture02_if.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture02_if_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/19781/enter/ contest] || 02.10 23:59
+
| 2 || Условные конструкции. While. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture02_if.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture02_if.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture02_if_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/19781/enter/ contest 2] || 02.10 23:59
 
|-
 
|-
| 3 || Последовательности: списки, кортежи, строки. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture03_container.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture03_container.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture03_container_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/19913/enter/ contest] || 03.10 23:59
+
| 3 || Последовательности: списки, кортежи, строки. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture03_container.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture03_container.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture03_container_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/19913/enter/ contest 3] || 03.10 23:59
 
|-
 
|-
| 4 || Цикл for. Функции range, enumerate, zip, map. Генераторы. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture04_for.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture04_for.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture04_for_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/20226/enter/ contest] || 12.10 23:59
+
| 4 || Цикл for. Функции range, enumerate, zip, map. Генераторы. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture04_for.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture04_for.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture04_for_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/20226/enter/ contest 4] || 12.10 23:59
 
|-
 
|-
| 5 || Функции, рекурсия.|| [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture05_def.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture05_def.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture05_def_slides.ipynb#/ slides] [https://youtu.be/yDqr1mc-j4Y YouTube] || [https://contest.yandex.ru/contest/14529/enter/ contest] || 18.10 23:59
+
| 5 || Функции, рекурсия.|| [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture05_def.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture05_def.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture05_def_slides.ipynb#/ slides] [https://youtu.be/yDqr1mc-j4Y YouTube] || [https://contest.yandex.ru/contest/14529/enter/ contest 5] || 18.10 23:59
 
|-
 
|-
 
| 6 || Домашнее задание #1.|| [https://www.notion.so/6-4049aa1ddc90402aa077cfa8c3bca535 материалы и условие] || [https://contest.yandex.ru/contest/20857/standings contest] || 06.11 23:00
 
| 6 || Домашнее задание #1.|| [https://www.notion.so/6-4049aa1ddc90402aa077cfa8c3bca535 материалы и условие] || [https://contest.yandex.ru/contest/20857/standings contest] || 06.11 23:00
 
|-
 
|-
| 7 || Строки, форматирование.|| [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture06_str.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture06_str.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture06_str_slides.ipynb#/ slides] [https://youtu.be/-n5mvm6lzgE YouTube] || [https://contest.yandex.ru/contest/21625/enter/ contest]  || 12.11 23:59
+
| 7 || Строки, форматирование.|| [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture06_str.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture06_str.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture06_str_slides.ipynb#/ slides] [https://youtu.be/-n5mvm6lzgE YouTube] || [https://contest.yandex.ru/contest/21625/enter/ contest 6]  || 12.11 23:59
 
|-
 
|-
| 8 || Словари, множества.|| [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture07_setdict.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture07_setdict.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture07_setdict_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/21782/enter/ contest]  || 18.11 23:59
+
| 8 || Словари, множества.|| [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture07_setdict.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture07_setdict.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture07_setdict_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/21782/enter/ contest 7]  || 18.11 23:59
 
|-
 
|-
| 9 || Алгоритмическая сложность, сортировки.|| [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture08_alg.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture08_alg.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture08_alg_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/22385/problems/ contest]  || 27.11 23:59
+
| 9 || Алгоритмическая сложность, сортировки.|| [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture08_alg.ipynb notebook] [https://nbviewer.jupyter.org/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture08_alg.ipynb nbviewer] [https://nbviewer.jupyter.org/format/slides/github/svdcvt/math_python_hse_2020/blob/master/lectures/lecture08_alg_slides.ipynb#/ slides] || [https://contest.yandex.ru/contest/22385/problems/ contest 8]  || 27.11 23:59
 
|-
 
|-
 
| 10 || Продвинутые темы 1. Исключения, тестирование, логирование. Модульное оформление. Аргпарс. Файлы. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture09_adv1/lecture09_adv1.ipynb notebook] || -  || -
 
| 10 || Продвинутые темы 1. Исключения, тестирование, логирование. Модульное оформление. Аргпарс. Файлы. || [https://github.com/svdcvt/math_python_hse_2020/blob/master/lectures/lecture09_adv1/lecture09_adv1.ipynb notebook] || -  || -
 
|-
 
|-
| 11 || Классы. Домашнее задание #2.|| TBA || [TBA contest]  || TBA
+
| 11.1 || Классы. || [https://colab.research.google.com/drive/1c1CVoZ_l1pZHPw2tZq94siXZ9FF7_axK?usp=sharing notebook] || [https://contest.yandex.ru/contest/23108 необязательный contest на 40 бонусных баллов]  || 3.12 23:59
 
|-
 
|-
| 12 || Продвинутые темы 2. Итераторы. Itertools, collection, functools. Регулярные выражения. || TBA || [TBA contest]  || TBA
+
| 11.2 || Домашнее задание #2.|| [https://www.notion.so/802e574853dc420ba52a1dcf600b562f ДЗ #2. Класс многочленов. Условие.]|| [https://contest.yandex.ru/contest/23118 contest]  || 13.12 23:59
 
|-
 
|-
| 13 || Библиотеки для научных вычислений: numpy, scipy. || TBA || [TBA contest]  || TBA
+
| 12 || Продвинутые темы 2. Итераторы. Itertools, collection, functools. Регулярные выражения. || [https://www.notion.so/11-08124f6d7db343f2a7a0b043b512be10 Подборка] || - || -
 
|-
 
|-
| 14 || Библиотека для работы с таблицами: pandas. Домашнее задание #3. || TBA || [TBA contest] || TBA
+
| 13 || Библиотеки для научных вычислений: numpy, scipy. || - || - || -
 
|-
 
|-
| 15 || Библиотеки для визуализаций: matplotlib, seaborn, plotly. || TBA || [TBA contest] || TBA
+
| 14 || Библиотека для работы с таблицами: pandas. Домашнее задание #3. || ||  [https://drive.google.com/file/d/1sM6sbWGBlZK2Z7YEKKKCjthZD1qAd1q8/view notebook] || 25.12 23:59
 +
|-
 +
| 15 || Библиотеки для визуализаций: matplotlib, seaborn, plotly. || - || - || -
 
|}
 
|}
  
Строка 112: Строка 114:
 
* Нажатие кнопки "стрелка вправо" переводит к следующему поколению;  
 
* Нажатие кнопки "стрелка вправо" переводит к следующему поколению;  
 
* Нажатие пробела - "умерщвляет" все клетки, то есть отчищает поле.
 
* Нажатие пробела - "умерщвляет" все клетки, то есть отчищает поле.
 +
|}
 +
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 +
| <strong>Домашнее задание 2</strong>
 +
|-
 +
|
 +
Дедлайн:
 +
* 1 часть, контест: 13.12 23:59
 +
* 2 часть, anytask: 20.11 23:59
 +
----
 +
Максимальное число баллов за всё задание: 10 = 5 + 4 (1 часть, открытые и закрытые тесты) + 1 (пункт на выбор из 2 части). Можно получить допбаллы за выполнение других пунктов из второй части, максимум 3 допбалла. То есть можно получить 13/10.
 +
----
 +
[https://www.notion.so/802e574853dc420ba52a1dcf600b562f Условие и материалы], [https://contest.yandex.ru/contest/23118/problems/ Контест]
 +
----
 +
В Anytask необходимо сдать архив с файлами polynomial.py и другими, например, main.py для задания argparse, test_more.py для задания с тестированием. Для задания с Github необходимо приложить ссылку на репозиторий.
 +
 +
Помимо проверки верной работы кода, будет проверяться, что код читаемый и аккуратный (PEP8, осознанные имена переменных, комментарии), не содержит очевидно неоптимальных конструкций (помните о сложности алгоритма, у нас была лекция на эту тему), которых можно было избежать. За плохой код могут быть сняты баллы. 
 +
|}
 +
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 +
| <strong>Домашнее задание 3</strong>
 +
|-
 +
|
 +
Дедлайн: 25.12 23:59 -> перенесен на 28.12 23:59
 +
----
 +
Максимально число баллов за всё задание: 10, остальные 3 являются дополнительными. То есть можно получить 13/10.
 +
----
 +
[https://drive.google.com/file/d/1sM6sbWGBlZK2Z7YEKKKCjthZD1qAd1q8/view?usp=sharing Задание]. Чтобы открыть, необзодимо либо скачать и локально открыть файл, либо нажать кнопку сверху "Открыть в Google Colaboratory".
 +
----
 +
Необходимо отправить в Anytask либо решенный jupyter ноутбук в формате .ipynb, либо ссылку на Google Colab с правами на редактирование.
 
|}
 
|}

Текущая версия на 22:29, 28 декабря 2020

О курсе

borderless






Курс читается для студентов факультета математики ВШЭ в 1-2 модулях.

Необходимые ссылки

Семинаристы

Группа Преподаватель Почта Расписание
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. - - -

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

Правила сдачи заданий

Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.

При обнаружении плагиата за домашнее задание ставится оценка ноль всем задействованным в списывании студентам, а также подаётся докладная записка в деканат.

Список заданий и описание