Основы и методология программирования на ПМИ 2021/2022 (основной поток)
Содержание
- 1 Основы и методология программирования, основной поток, 2021-2022 1 модуль
- 2 ДЗ
- 3 Программа advanced группы 2112-2
- 4 Программа advanced группы 214-2
- 5 Система защиты ДЗ
- 6 Формула оценки и экзамен
- 7 Используемое ПО
- 8 Списывание
- 9 Дедлайны по ДЗ в группах
- 10 Дедлайны по дорешиванию семинаров в группах
Основы и методология программирования, основной поток, 2021-2022 1 модуль
Лектор: [А. Г. Михеев]
Программа курса и ноутбуки лекций (будут добавляться по мере поступления): https://github.com/justalge/another_python_totorial/blob/main/README.md
Видеозаписи всех лекций и некоторых семинаров: https://www.youtube.com/playlist?list=PLEwK9wdS5g0pOn3KCblRmmBV24o17r3LD
Материалы лекций основаны на https://www.python-course.eu (англ. яз.). Разделы Python Tutorial, OOP и Advanced.
Материалы прошлого года (рус. яз.):
- Конспекты лекций: https://yadi.sk/i/BkcKilJkumcPV
- Видео-лекции: https://www.coursera.org/learn/python-osnovy-programmirovaniya/home/welcome (платить денег ни в коем случае не нужно)
ДЗ
После каждого семинара вам будет дано оцениваемое домашнее задание. На выполнение задания дается 8 дней от момента начала соответствующего семинара. Еще в течение 7 дней после этого доступна возможность досдать задачи, однако задачи оцениваются вполовину меньшим баллом. Перед семинаром необходимо изучить соответствующую тему по лекциям и текстовым конспектам.
ДЗ 5-6 (functions, recursion) На 2 недели. Чтобы набрать максимальное количество баллов за это ДЗ нужно решить на 20 баллов
Программа advanced группы 2112-2
Краткое введение на примерах в:
- использование внешних библиотек
- dataclasses, type hints
- сравнение oop и fp стилей
- чистый читабельный код: нейминг, agile, ограничения на средства языка, линтеры
- простой веб сервис: http, бд
- threading, multiprocessing
- async
- git
- bash
- публикация библиотек
- аналитика и визуализация
- ML/pytorch
- поиск информации и готовых модулей
- мини-проект на любую из вышеперечисленных тем
Программа advanced группы 214-2
Семинар 1 - знакомство с python
Семинар 2 - код стайл, pep8, правила хорошего тона camel case, snake case
Семинар 3 - учимся писать тесты, tdd
Семинар 4 - python в математике: графики, статистика
Семинар 5 - системы контроля версий, open source
Семинар 6 - парсинг данных: bs4, selenium
Семинар 7 - учимся писать код на собеседованиях, и как их проходить
Семинар 8 - фреймворки для тестирования, пишем свой mvp проект на семинаре
Семинар 9 - pyqt
Семинар 10 - веб разработка, requests, flask
Семинар 11 - пишем телеграм-бота
Семинар 12 - intro ml
Система защиты ДЗ
Раз в две недели проходит защита ДЗ (с прокторингом или очно). На защиту отводится одна лекционная пара. На защите будет предложено для решения 8 задач, по 2 задачи средней сложности на каждую тему лекции. Во время решения практических задач можно пользоваться конспектами и своими решениями задач ДЗ.
Оценка за каждую лекционную тему определяется как koef*оценка за лекционную тему (до защиты), где koef - коэффициент, который определяется тем, как была написана защита ДЗ. Так, если на защите ДЗ решено 0 задач - коэффициент составляет 0.3, 1 задача - 0.6, 2 задачи - 1.
Со студентами, результат работы которых на защите сильно отличается от оценки за ДЗ до защиты, будет проведена дополнительная устная защита с целью поиска путей исправления проблем в освоении материала.
Формула оценки и экзамен
На оценку влияют: выполнение домашнего задания, работа на семинаре, защита домашнего задания и экзамен. Итоговая оценка за курс вычисляется как 0.6*накопленная + 0.4*экзамен.
Накопленная оценка считается как: среднее арифметическое оценок за каждую лекционную тему. Оценка за каждую лекционную тему рассчитывается как: min(10, koef*(0.8*оценка за ДЗ по теме лекции (до защиты) + 0.2*оценка за семинар по теме лекции)). Максимальная оценка за работу на семинаре - 10 баллов. Максимальная оценка за ДЗ по теме лекции (до защиты) - 14 баллов. При этом суммарное количество баллов в одном ДЗ в контесте больше 14. Чтобы получить максимальную оценку за ДЗ можно решить не все задачи. Таким образом, максимальную оценку по теме лекции вы можете получить, решая только ДЗ.
За найденные и сообщенные семинаристу проблемы в тестах вы можете получить от 2 до 5 дополнительных баллов к оценке за семинар.
Промежуточные значения не округляются, итоговое значение округляется по математическим правилам: к ближайшему целому, при дробной части 0.5 - в большую сторону.
Используемое ПО
Необходимо установить интерпретатор Python версии не ниже 3.6 под свою ОС. Ссылка https://www.python.org/downloads/
JetBrains PyCharm Community: https://www.jetbrains.com/pycharm/download/
На занятия можно приносить свой ноутбук.
Списывание
Все ваши домашние задания, их защиты и экзамен будут проверены на плагиат. При выявлении списывания ваша работа будет аннулирована. Выявление повторного списывания влечет за собой отчисление из университета.
Дедлайны по ДЗ в группах
Контест | ДЗ 1 | ДЗ 2 | ДЗ 3 | ДЗ 4 | ДЗ 5-6 | ДЗ 7 | ДЗ 8 | ДЗ 9 | ДЗ 10 | ДЗ 11 | ДЗ 12 |
---|---|---|---|---|---|---|---|---|---|---|---|
212-1 | 15.09.21 16:20 | 16.09.21 15:00 | - | - | - | - | - | - | - | - | - |
214-2 | 16.09.21 9:29 | 18.09.21 9:29 | 23.09.21 9:29 | 25.09.21 9:29 | - | - | - | - | - | - | - |
218-1 | 19.09.21 13:00 | 22.09.21 19:40 | 23.09.21 14:40 | 29.09.21 19:40 | 30.09.21 14:40 | - | - | - | - | - | - |
2111-2 | 18.09.21 09:30 | 19.09.21 11:10 | 23.09.21 09:30 | 25.09.21 09:30 | - | - | - | - | - | - | - |
Дедлайны по дорешиванию семинаров в группах
- | Семинар 2 (code style) | Семинар 3 (тестирование) | Семинар 4 (matplotlib) | |
---|---|---|---|---|
214-2 | 13.09.21 23:59 | 18.09.21 23:59 | 20.09.21 23:59 |