Продвинутый Python 2024/25 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Домашние задания)
 
(не показано 11 промежуточных версии 2 участников)
Строка 15: Строка 15:
 
{| class="wikitable" style="text-align:center"
 
{| class="wikitable" style="text-align:center"
 
|-
 
|-
|| '''Дата''' || '''Тема''' || '''Лекция''' || '''Семинар''' || '''Домашнее задание''' || '''Дедлайн'''
+
|| '''Дата''' || '''Тема''' || '''Лекция''' || '''Семинар''' || '''Решенный семинар''' || '''Домашнее задание''' || '''Дедлайн'''
 
|-
 
|-
|| 09.09.2024 || Pathlib, platform, sys || [https://colab.research.google.com/github/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_01.ipynb Лекция 1] || [https://colab.research.google.com/github/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_01.ipynb Семинар 1] ||  ||
+
|| 09.09.2024 || Pathlib, platform, sys || [https://colab.research.google.com/github/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_01.ipynb Лекция 1] || [https://colab.research.google.com/github/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_01.ipynb Семинар 1] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_01_solved.ipynb Решенный семинар 1] || [https://classroom.github.com/a/gOHVueYG Домашнее задание 1] || 23.09 23:59
 +
|-
 +
|| 16.09.2024 || OOP, Typing, Pydantic || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_02.ipynb Лекция 2] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_02.ipynb Семинар 2] || ТВD || [https://classroom.github.com/a/yQyJ8Rkw Домашнее задание 2] || 05.10 23:59
 +
|-
 +
|| 22.09.2024 || Консультация || [https://colab.research.google.com/drive/1F6wlp7qqpA4_xiKa_nsDBOG4WdMdONWu?usp=sharing Консультация] ||- || - || -  || -
 +
|-
 +
|| 23.09.2024 || Тестирование + логгирование || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_03.ipynb Лекция 3] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_03.ipynb Семинар 3] || ТВD || [https://classroom.github.com/a/v5NvPBbk Домашнее задание 3]  || 14.10 23:59
 +
|-
 +
|| 30.09.2024 || Multiproccesing + Threading || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_04.ipynb Лекция 4] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_04.ipynb Семинар 4] || ТВD || [https://classroom.github.com/a/K85IHybA Домашнее задание 4] || 23.10 23:59
 +
|-
 +
|| 7.10.2024 || Async || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_05.ipynb Лекция 5] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_05.ipynb Семинар 5] || ТВD || [https://classroom.github.com/a/Rq7iWsJI Домашнее задание 5]  || 12.11 23:59
 +
|-
 +
|| 14.10.2024 || Реляционные БД || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_06.ipynb Лекция 6] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_06_clean.ipynb Семинар 6] || [https://colab.research.google.com/drive/1dTQXOo3Ni-gxhuxEDnye2p89jzZChcp0?usp=sharing#scrollTo=xrJgwOdf-S2w Решенный семинар 6] || [https://classroom.github.com/a/TYP9KeR2 Домашнее задание 6] || 30.11 23:59
 +
|-
 +
|| 21.10.2024 || Нереляционные БД || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_07.ipynb Лекция 7] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Seminars/Deep_Seminar_07.ipynb Семинар 7] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Deep_Seminar_07_solved.ipynb Решенный семинар 7] || ТВD || TBD
 +
|-
 +
|| 09.11.2024 || System Design Interview Prep || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/System%20Design%20Interview%20Prep.pdf Лекция 8] || - || - || ТВD || TBD
 +
|-
 +
|| 11.11.2024 || Flask || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_09.ipynb Лекция 9] || [https://github.com/Palladain/Deep_Python_2024/blob/main/Seminars/week09/seminar.ipynb Семинар 9] || TBD || ТВD || TBD
 +
|-
 +
|| 18.11.2024 || FastAPI || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_10.ipynb Лекция 10] || [https://github.com/Palladain/Deep_Python_2024/tree/main/Seminars/week10 Семинар 10] || TBD || ТВD || TBD
 +
|-
 +
|| 25.11.2024 || API, Telegram API, Aiogram || [https://github.com/Palladain/Deep_Python_2024/blob/main/Lectures/Deep_Lecture_11.ipynb Лекция 11]  || TBD || TBD || ТВD || TBD
 
|}
 
|}
  
Строка 25: Строка 47:
 
* [https://t.me/+8vxDDs6pMM8yZjRi Канал с объявлениями в Telegram]
 
* [https://t.me/+8vxDDs6pMM8yZjRi Канал с объявлениями в Telegram]
 
* [https://t.me/+yAxWhrzMYaMyMWNi Ссылка на чат]
 
* [https://t.me/+yAxWhrzMYaMyMWNi Ссылка на чат]
 +
* [[Материалы группы 3]]
  
 
== Система оценки ==
 
== Система оценки ==
Строка 68: Строка 91:
 
* Доступность объяснений.
 
* Доступность объяснений.
  
Запись на доклады осуществляется в таблице (будет позже).
+
Критерии:
 +
 
 +
* Скатано подчистую с любого туториала/документации/ChatGPT - 0 баллов (это не значит, что нельзя ничем пользоваться, а то, что полученный результат вы сделали самостоятельно)
 +
* Свои собственные примеры применения - 3 балла (если скопируете, то будет всего 1 балл)
 +
* Доклад должен быть понятную и четкую структуру (чтобы его можно было читать линейно, с начала до конца) - за это 2 балла
 +
* Любые термины, которые используются, должны быть объяснены, язык доклада нормальный (мемы приветствуются) - 1 балл
 +
* Сложность и подробность - доклад должен покрывать основные части библиотеки достаточно подробно, чтобы читающий смог после прочтения доклада сделать что-либо самостоятельно, за это ставится 4 балла
 +
* Сделаете что-то экстра/суперподробный пример или же если доклад покажется прям бомбическим - мы готовы за это давать больше баллов (то есть за доклад МОЖНО получить больше 10 баллов)
 +
 
 +
 
 +
Запись на доклады осуществляется в [https://docs.google.com/spreadsheets/d/1P7zuaRBPu0yvBCgPSjpW-eZrKApxruZcopaAo7XZsSs/edit?usp=sharing таблице].
  
 
== Проекты ==
 
== Проекты ==
  
Запись на проекты осуществляется в таблице (будет позже).
+
Темы проектов: https://docs.google.com/spreadsheets/d/1O3btPCOzu5x_NPB-12ooScS6nhGfyR50kP1cuSl3_-c/edit?usp=sharing
  
 
==== Общие замечания ====
 
==== Общие замечания ====
Строка 78: Строка 111:
 
* Проекты выполняются в командах от 2 до 4 человек;
 
* Проекты выполняются в командах от 2 до 4 человек;
 
* Элемент контроля предусматривает "Контрольные точки". Они влияют на оценивание;
 
* Элемент контроля предусматривает "Контрольные точки". Они влияют на оценивание;
* Разрешено самостоятельно придумать тему проекта, но нужно согласовать ее с преподавательским составом.
+
* Разрешено самостоятельно придумать тему проекта, но нужно согласовать ее с преподавательским составом - пишите @Palladain в телеграмм
  
 
==== Контрольная точки 1 ====
 
==== Контрольная точки 1 ====
 +
Дата КТ-1: 3 ноября 23:59:59
  
Будет позже
+
Оценка за КТ-1 бинарная: 0 или 10. Что ожидаем от КТ-1:
 +
 
 +
1) Выбранный и записанный проект в гугл-таблице (нужно вписать всех участников)
 +
2) Созданный репозиторий под проект (должен быть публичным)
 +
3) Собранный документ (подойдет в любом формате), в котором будет:
 +
 
 +
- Примерное описание, что вы собираетесь делать (какой функционал), как вы себе представляете UI пользователя (то есть примерный сценарий взаимодействия с вашим проектом) - не требуем прям красивой диаграммы, но если сделаете, будет огонь
 +
- Структура проекта (базы данных, архитектура, внутренняя начинка)
 +
- Распределение по ролям (кто что делает) + телегу человека, кому из вас можно писать про проект
 +
 
 +
Все это присылает 1 человек от команды в Anytask.
  
 
==== Контрольная точки 2 ====
 
==== Контрольная точки 2 ====
  
Будет позже
+
Дата КТ-2: 4 декабря 23:59:59
 +
 
 +
После КТ-1 мы проверим все описания и дадим комментарий, что может не хватать, куда стоит посмотреть далее и план того, что мы ожидаем видеть на КТ-2 от вашего проекта
  
 
==== Оценка за проект ====
 
==== Оценка за проект ====
  
О<sub>экзамен</sub> = О<sub>проект</sub> = 0.1 * О<sub>КТ1</sub> + 0.3 * О<sub>КТ2</sub> + 0.6 * О<sub>защита</sub>
+
О<sub>экзамен</sub> = О<sub>проект</sub> = 0.1 * О<sub>КТ1</sub> + 0.4 * О<sub>КТ2</sub> + 0.5 * О<sub>защита</sub>
 +
 
 +
Дата защиты: 23.12

Текущая версия на 21:03, 25 ноября 2024

Преподаватели и учебные ассистенты

Лектор Петров Тимур Александрович
Семинаристы Коган Александра Дешеулин Олег Садуллаев Музаффар Васина Олеся Бузаев Федор
Ассистенты Елкин Григорий Салимова Алина Богданов Сергей Рябов Эдуард Рублева Валерия
Ассистент курса Пастухова Эрика

Прошедшие занятия

Дата Тема Лекция Семинар Решенный семинар Домашнее задание Дедлайн
09.09.2024 Pathlib, platform, sys Лекция 1 Семинар 1 Решенный семинар 1 Домашнее задание 1 23.09 23:59
16.09.2024 OOP, Typing, Pydantic Лекция 2 Семинар 2 ТВD Домашнее задание 2 05.10 23:59
22.09.2024 Консультация Консультация - - - -
23.09.2024 Тестирование + логгирование Лекция 3 Семинар 3 ТВD Домашнее задание 3 14.10 23:59
30.09.2024 Multiproccesing + Threading Лекция 4 Семинар 4 ТВD Домашнее задание 4 23.10 23:59
7.10.2024 Async Лекция 5 Семинар 5 ТВD Домашнее задание 5 12.11 23:59
14.10.2024 Реляционные БД Лекция 6 Семинар 6 Решенный семинар 6 Домашнее задание 6 30.11 23:59
21.10.2024 Нереляционные БД Лекция 7 Семинар 7 Решенный семинар 7 ТВD TBD
09.11.2024 System Design Interview Prep Лекция 8 - - ТВD TBD
11.11.2024 Flask Лекция 9 Семинар 9 TBD ТВD TBD
18.11.2024 FastAPI Лекция 10 Семинар 10 TBD ТВD TBD
25.11.2024 API, Telegram API, Aiogram Лекция 11 TBD TBD ТВD TBD

Материалы курса

Система оценки

  • Оитог = 0.48 * Одз + 0.4 * Оэкзамен + 0.12 * Одоклад
  • Округляется только итоговая оценка
  • Округление арифметическое
  • Блокирующих элементов контроля не предусмотрено

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

Ссылка на курс в Anytask: https://anytask.org/course/1129

Инвайты по группам:

Группа 1: Fjftx1c (Александра)

Группа 2: b6SOuYB (Олег)

Группа 3: CL99McG (Музаффар)

Группа 4: 2kVNh6q (Олеся)

Группа 5: O3lzgDj (Федор)

Доклады

Доклад - это подробный конспект, в котором студент должен рассказать про некоторую библиотеку языка программирования Python. Доклад предъявляет перечень минимальных требований:

  • Доклад выполняется индивидуально;
  • Про одну библиотеку может рассказать не более 5 человек;
  • Доклад содержит общие сведения о библиотеке. Например, ее предназначение;
  • Доклад содержит примеры использования;
  • Предпочтительный тип оформления - Jupyter Notebook или Markdown.

Оценка формируется на основании мнения проверяющих за счет следующих факторов:

  • Полнота рассказа;
  • Наличие примеров;
  • Оформление и визуальная составляющая;
  • Доступность объяснений.

Критерии:

  • Скатано подчистую с любого туториала/документации/ChatGPT - 0 баллов (это не значит, что нельзя ничем пользоваться, а то, что полученный результат вы сделали самостоятельно)
  • Свои собственные примеры применения - 3 балла (если скопируете, то будет всего 1 балл)
  • Доклад должен быть понятную и четкую структуру (чтобы его можно было читать линейно, с начала до конца) - за это 2 балла
  • Любые термины, которые используются, должны быть объяснены, язык доклада нормальный (мемы приветствуются) - 1 балл
  • Сложность и подробность - доклад должен покрывать основные части библиотеки достаточно подробно, чтобы читающий смог после прочтения доклада сделать что-либо самостоятельно, за это ставится 4 балла
  • Сделаете что-то экстра/суперподробный пример или же если доклад покажется прям бомбическим - мы готовы за это давать больше баллов (то есть за доклад МОЖНО получить больше 10 баллов)


Запись на доклады осуществляется в таблице.

Проекты

Темы проектов: https://docs.google.com/spreadsheets/d/1O3btPCOzu5x_NPB-12ooScS6nhGfyR50kP1cuSl3_-c/edit?usp=sharing

Общие замечания

  • Проекты выполняются в командах от 2 до 4 человек;
  • Элемент контроля предусматривает "Контрольные точки". Они влияют на оценивание;
  • Разрешено самостоятельно придумать тему проекта, но нужно согласовать ее с преподавательским составом - пишите @Palladain в телеграмм

Контрольная точки 1

Дата КТ-1: 3 ноября 23:59:59

Оценка за КТ-1 бинарная: 0 или 10. Что ожидаем от КТ-1:

1) Выбранный и записанный проект в гугл-таблице (нужно вписать всех участников) 2) Созданный репозиторий под проект (должен быть публичным) 3) Собранный документ (подойдет в любом формате), в котором будет:

- Примерное описание, что вы собираетесь делать (какой функционал), как вы себе представляете UI пользователя (то есть примерный сценарий взаимодействия с вашим проектом) - не требуем прям красивой диаграммы, но если сделаете, будет огонь - Структура проекта (базы данных, архитектура, внутренняя начинка) - Распределение по ролям (кто что делает) + телегу человека, кому из вас можно писать про проект

Все это присылает 1 человек от команды в Anytask.

Контрольная точки 2

Дата КТ-2: 4 декабря 23:59:59

После КТ-1 мы проверим все описания и дадим комментарий, что может не хватать, куда стоит посмотреть далее и план того, что мы ожидаем видеть на КТ-2 от вашего проекта

Оценка за проект

Оэкзамен = Опроект = 0.1 * ОКТ1 + 0.4 * ОКТ2 + 0.5 * Озащита

Дата защиты: 23.12