Основы и методология программирования на ПМИ 2021/2022 (основной поток) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Дедлайны по ДЗ в группах)
Строка 140: Строка 140:
 
|-
 
|-
 
| 216-2 || 15.09.21 18:10 || 15.09.21 19:40 || 22.09.21 18:10 || 22.09.21 19:40 || 06.10.21 18:10 || 06.10.21 18:10 || 06.10.21 19:40 || - || - || - || -
 
| 216-2 || 15.09.21 18:10 || 15.09.21 19:40 || 22.09.21 18:10 || 22.09.21 19:40 || 06.10.21 18:10 || 06.10.21 18:10 || 06.10.21 19:40 || - || - || - || -
 +
|-
 +
| 219-1 || 15.09.21 11:10 || 16.09.21 11:10 || 22.09.21 11:10 || 23.09.21 11:10 || 06.10.21 11:10 || 06.10.21 11:10 || 06.10.21 11:10 || - || - || - || -
 +
|-
 +
| 2111-1 || 16.09.21 9:30 || 18.09.21 9:30 || 23.09.21 9:30 || 25.09.21 9:30 || 07.10.21 9:30 || 07.10.21 9:30 || - || - || - || - || -
 
|}
 
|}
  

Версия 22:10, 28 сентября 2021

Основы и методология программирования, основной поток, 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://t.me/joinchat/LsEVKZunealjOTUy

Материалы прошлого года (рус. яз.):

ДЗ

После каждого семинара вам будет дано оцениваемое домашнее задание. На выполнение задания дается 8 дней от момента начала соответствующего семинара. Еще в течение 7 дней после этого доступна возможность досдать задачи, однако задачи оцениваются вполовину меньшим баллом. Перед семинаром необходимо изучить соответствующую тему по лекциям и текстовым конспектам.

ДЗ 1 (Арифметика)

ДЗ 2 (if, while, for, float)

ДЗ 3 (strings, lists)

ДЗ 4 (dictionaries, sets)

ДЗ 5-6 (functions, recursion) На 2 недели. Чтобы набрать максимальное количество баллов за это ДЗ нужно решить на 20 баллов

ДЗ 7 (sorting, linear search)

ДЗ 8 (OOP intro)

Программа 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 06.10.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 07.10.21 09:30 - - - - - -
216-2 15.09.21 18:10 15.09.21 19:40 22.09.21 18:10 22.09.21 19:40 06.10.21 18:10 06.10.21 18:10 06.10.21 19:40 - - - -
219-1 15.09.21 11:10 16.09.21 11:10 22.09.21 11:10 23.09.21 11:10 06.10.21 11:10 06.10.21 11:10 06.10.21 11:10 - - - -
2111-1 16.09.21 9:30 18.09.21 9:30 23.09.21 9:30 25.09.21 9:30 07.10.21 9:30 07.10.21 9:30 - - - - -

Дедлайны по дорешиванию семинаров в группах

- Семинар 2 (code style) Семинар 3 (тестирование) Семинар 4 (matplotlib) Семинар 5 (git) Семинар 6 (wiki)
214-2 13.09.21 23:59 18.09.21 23:59 20.09.21 23:59 (для новеньких = 24.09.21 23:59) 27.09.21 23:59 06.10.21 23:59