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

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску

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

Лектор Иван Лущ
Номер группы Группа 1 Группа 2 Группа 3 Группа 4 Группа 1 (ЭАД)
Семинаристы Иван Лущ TBA TBA TBA Федор Наумов

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

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
  • Мок-интервью — устная форма контроля

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

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

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

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

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

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

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

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

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