Бакалавриат
2026/2027
Язык программирования Python (углубленный курс)
Статус:
Курс по выбору
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
4
Контактные часы:
96
Программа дисциплины
Аннотация
На первом курсе вы уже познакомились с Python: писали классы, разбирались с итераторами, щупали декораторы. Этого достаточно, чтобы решать задачи и писать небольшие скрипты — но явно не хватает для понимания того, как устроен язык изнутри и как выглядит настоящий продакшн Python-код.
На этом курсе мы постараемся это исправить. Разберёмся, как работает CPython под капотом, научимся писать строго типизированный код и понимать, зачем это нужно, поговорим про метаклассы и дескрипторы — те самые штуки, на которых держатся все любимые фреймворки. Потрогаем asyncio и корутины, разберёмся с многопоточностью и тем, почему в Python она работает именно так. Напишем биндинги к C-коду и поймём, как Python дружит с другими языками. Научимся правильно паковать и распространять свой код, отлаживать его через pdb и покрывать код тестами
Мало теории — много практики. Планируются мелкие задачи и два больших домашних задания.