Язык программирования Python (углубленный курс): различия между версиями
Перейти к навигации
Перейти к поиску
удалил ненужное |
Chopik (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
== Преподаватели | == Преподаватели == | ||
{| class="wikitable" style="text-align:center" | {| class="wikitable" style="text-align:center" | ||
|- | |- | ||
|| '''Лектор''' ||colspan=" | || '''Лектор''' ||colspan="5"| [https://t.me/Ch0p1k3 Иван Лущ] | ||
|- | |- | ||
|| '''Номер группы''' || | || '''Номер группы''' || Группа 1 || Группа 2 || Группа 3 || Группа 4 || Группа 1 (ЭАД) | ||
|- | |- | ||
|| '''Семинаристы''' || | || '''Семинаристы''' || TBA || TBA || TBA || TBA || TBA | ||
|} | |} | ||
== | == Программа курса == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
|| | || Packaging и tooling | ||
|- | |- | ||
|| | || Типы: почему и как | ||
|- | |- | ||
|| Тестирование и логирование | |||
|- | |- | ||
|| | || PDB, introspection и dis | ||
|- | |- | ||
|| | || Threading, GIL basics | ||
|- | |- | ||
|| | || Multiprocessing, IPC, subinterpreters, free-threading, subprocess | ||
|- | |- | ||
|| | || Async, coroutines, event loop | ||
|- | |- | ||
|| | || Дескрипторы | ||
|- | |- | ||
|| | || Метаклассы и <code>__init_subclass__</code> | ||
|- | |- | ||
|| | || Faster CPython: Adaptive Interpreter и JIT | ||
|- | |- | ||
|| | || Memory model, GC, weakref | ||
|- | |- | ||
|| | || Профилирование и performance | ||
|- | |- | ||
|| | || Cython, C-extensions, bindings | ||
|} | |} | ||
== Материалы курса == | == Материалы курса == | ||
* [https:// | * [https://hsemanytask.org/ami-python-advanced Manytask] | ||
* [TBD Канал с анонсами по курсу] | |||
* [ | * [TBD Ссылка на чат] | ||
* [ | |||
== Система оценки == | == Система оценки == | ||
Итоговая оценка: | |||
O<sub>итог</sub> = | O<sub>итог</sub> = 0,2 * Семинары + 0,5 * Задачи + 0,3 * Мок-интервью | ||
* '''Семинары''' — активность на семинарах | |||
* '''Задачи''' — регулярные ДЗ через [https://hsemanytask.org/ami-python-advanced manytask] | |||
* '''Мок-интервью''' — устная форма контроля | |||
== Мок-интервью == | |||
Устная форма контроля в формате технического собеседования, имитирующая Python-интервью. Проходит на последних 2-3 лекциях семестра | |||
(декабрь). | |||
Часть I. Теория | |||
Интервьювер задаёт 4-5 открытых вопросов равномерно по блокам курса. Формат — открытые вопросы, требуют объяснения "почему". Примеры: | |||
[[ | * почему list[Dog] нельзя передать вместо list[Animal], а Sequence[Dog] — можно? | ||
* чем logger.error(exc) хуже logger.exception()? | |||
Часть II. Разбор задач | |||
Интервьювер выбирает несколько задач из сданных студентом. Студент рассказывает, как устроено его решение, почему выбрал именно такой | |||
подход, какие видит компромиссы, и отвечает на уточняющие вопросы. | |||
Критерии оценивания | |||
Каждая часть даёт до 5 баллов, итого 0-10. | |||
Версия от 15:47, 26 августа 2026
Преподаватели
| Лектор | Иван Лущ | ||||
| Номер группы | Группа 1 | Группа 2 | Группа 3 | Группа 4 | Группа 1 (ЭАД) |
| Семинаристы | TBA | TBA | 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 |
Материалы курса
- Manytask
- [TBD Канал с анонсами по курсу]
- [TBD Ссылка на чат]
Система оценки
Итоговая оценка:
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.