Язык программирования Python (углубленный курс): различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
 
(не показана 1 промежуточная версия этого же участника)
Строка 4: Строка 4:
|| '''Лектор''' ||colspan="5"| [https://t.me/Ch0p1k3 Иван Лущ]
|| '''Лектор''' ||colspan="5"| [https://t.me/Ch0p1k3 Иван Лущ]
|-
|-
|| '''Номер группы''' || [https://t.me/+m2xKtQ6v73A5NTUy Группа 1] || Группа 2 || [https://t.me/+rGetBSn9-AViZjVi Группа 3] || Группа 4 || [https://t.me/+VIMwq7NR_FoxYzQ6 Группа 1 (ЭАД)]
|| '''Номер группы''' || [https://t.me/+m2xKtQ6v73A5NTUy Группа 1] || Группа 2 || [https://t.me/+rGetBSn9-AViZjVi Группа 3] || [https://t.me/+qGTj9RHbmTVkMTEy Группа 4] || [https://t.me/+VIMwq7NR_FoxYzQ6 Группа 1 (ЭАД)]
|-
|-
|| '''Семинаристы''' || [https://t.me/kiDaniel Хайбулин Даниэль] || [https://t.me/mfgnik Михаил Федоров] || [https://t.me/on1kova Дарья Оникова] || [https://t.me/codeforcesrankzero Андрей Новгородский] || [https://t.me/fsnaumov Федор Наумов]
|| '''Семинаристы''' || [https://t.me/kiDaniel Хайбулин Даниэль] || [https://t.me/mfgnik Михаил Федоров] || [https://t.me/on1kova Дарья Оникова] || [https://t.me/codeforcesrankzero Андрей Новгородский] || [https://t.me/fsnaumov Федор Наумов]
Строка 44: Строка 44:
* [https://hsemanytask.org/ami-python-advanced Manytask]
* [https://hsemanytask.org/ami-python-advanced Manytask]
* [https://sourcecraft.dev/hsemanytask/ami-python-advanced-public-26f Ссылка на репозиторий с задачами и лекциями]
* [https://sourcecraft.dev/hsemanytask/ami-python-advanced-public-26f Ссылка на репозиторий с задачами и лекциями]
* [http://pyadv.hsemanytask.org/intro.html Материал лекций]
* [https://pyadv.hsemanytask.org/intro.html Материал лекций]
* [https://t.me/+U3Lc4H5eokNkYWY6 Канал с анонсами по курсу]
* [https://t.me/+U3Lc4H5eokNkYWY6 Канал с анонсами по курсу]
* [https://t.me/+pZqsKY9Ine5jYzg6 Ссылка на чат]
* [https://t.me/+pZqsKY9Ine5jYzg6 Ссылка на чат]

Текущая версия от 07:53, 13 сентября 2026

Преподаватели

Лектор Иван Лущ
Номер группы Группа 1 Группа 2 Группа 3 Группа 4 Группа 1 (ЭАД)
Семинаристы Хайбулин Даниэль Михаил Федоров Дарья Оникова Андрей Новгородский Федор Наумов

Программа курса

Packaging и tooling
Типы: почему и как
Тестирование и логирование
PDB, introspection и dis
Threading, GIL basics
Multiprocessing, IPC, subinterpreters, free-threading, subprocess
Async, coroutines, event loop
Дескрипторы
Метаклассы и __init_subclass__
Faster CPython: Adaptive Interpreter и JIT
Memory model, GC, weakref
Профилирование и performance
Cython, C-extensions, bindings

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

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

Итоговая оценка:

           Oитог = 0,2 * Семинары + 0,5 * Задачи + 0,3 * Мок-интервью
  • Семинары — активность на семинарах
  • Задачи — регулярные ДЗ через manytask. Защита решений. Преподаватель вправе в любой момент семестра вызвать студента на устную защиту любой сданной задачи или группы задач. Студент обязан объяснить свое решение, работу кода и используемые языковые конструкции. Если студент не может дать связного объяснения по существу, баллы за всю соответствующую группу задач в manytask обнуляются; повторная сдача этих задач не восстанавливает балл. Если провалено больше одной защиты, то преподаватель вправе написать дисциплинарную записку за академические нарушения студента.
  • Мок-интервью — устная форма контроля

Мок-интервью

Устная форма контроля в формате технического собеседования, имитирующая Python-интервью. Проходит на последних 2-3 лекциях семестра (декабрь).

Часть I. Теория

Интервьювер задаёт 4-5 открытых вопросов равномерно по блокам курса. Формат — открытые вопросы, требуют объяснения "почему". Примеры:

  • почему list[Dog] нельзя передать вместо list[Animal], а Sequence[Dog] — можно?
  • чем logger.error(exc) хуже logger.exception()?

Часть II. Разбор задач

Интервьювер выбирает несколько задач из сданных студентом. Студент рассказывает, как устроено его решение, почему выбрал именно такой подход, какие видит компромиссы, и отвечает на уточняющие вопросы.

Критерии оценивания

Каждая часть даёт до 5 баллов, итого 0-10.