Язык программирования Python 2026/27 (основной поток)
О курсе
| Ресурс | Ссылка |
|---|---|
| Telegram-канал | https://t.me/+MF1ahvQcBZRkNzIy |
| Чат курса | https://t.me/+pnhP7Bdp5hs3MWUy |
| Manytask курса | https://hsemanytask.org/ |
| Репозиторий курса | https://sourcecraft.dev/hsemanytask/ami-python-basic-public-26f |
| Записи лекций | место для вашей ссылки |
Лектор курса — Даниэль Хайбулин.
Преподаватели и учебные ассистенты
| Группа | Семинарист | Учебный ассистент |
|---|---|---|
| БПМИ264-1 | Хайбулин Даниэль | Кириченко Дмитрий |
| БПМИ264-2 | Лущ Иван | Кириченко Дмитрий |
| БПМИ265-1 | Панькова Марина | Аникин Александр |
| БПМИ265-2 | Самоненко Илья | Аникин Александр |
| БПМИ267-1 | Нечаев Сергей | Гиндуллин Динар |
| БПМИ267-2 | Нечаев Сергей | Гиндуллин Динар |
| БПМИ268-1 | Арифханов Азаматхан | Иванов Кирилл |
| БПМИ268-2 | Арифханов Азаматхан | Иванов Кирилл |
| БПМИ269-1 | Никитин Богдан | Токарев Алексей |
| БПМИ269-2 | Никитин Богдан | Токарев Алексей |
| БПМИ2610-1 | Лоскутников Станислав | Золина Вероника |
| БПМИ2610-2 | Лоскутников Станислав | Золина Вероника |
| БПМИ2611-1 | Дацковский Алексей | Курлов Артём |
| БПМИ2611-2 | Боронин Николай | Курлов Артём |
| БПМИ2612-1 | Богданов Сергей | Кадыров Таймаз |
| БПМИ2612-2 | Богданов Сергей | Кадыров Таймаз |
| БПМИ2613-1 | Мартиросянц Арменак | Родионов Артём |
| БПМИ2613-2 | Петрухин Вячеслав | Родионов Артём |
| БПМИ2614-1 | Ковалев Александр | Сополев Александр |
| БПМИ2614-2 | Караев Михаил | Сополев Александр |
| БПМИ2615-1 | Павлов Дмитрий | Поздеева Анна |
| БПМИ2615-2 | Павлов Дмитрий | Поздеева Анна |
Manytask
Для логина в manytask и sourcecraft необходимо завести Яндекс ID, после чего с ним удобно залогиниться. Семинарист выдаст на занятии секреты для добавления к курсу в мэнитаске и объяснит как сдавать домашние задания.
Лекции
| № | Тема | Домашнее задание |
|---|---|---|
| 1 | Типы данных, операторы, ввод-вывод | ДЗ 1 |
| 2 | Форматирование строк, условия, циклы, файлы | ДЗ 2 |
| 3 | Контейнеры: множества, словари, массивы | ДЗ 3 |
| 4 | Ссылки, изменяемость, копирование, функции | ДЗ 4 |
| 5 | Функции и классы | ДЗ 5 |
| 6 | Наследование, dunder-методы, property, dataclass, enum | ДЗ 6 |
| 7 | Исключения и контекстные менеджеры | ДЗ 7 |
| 8 | Протоколы и интерфейсы, номинальная и структурная типизация | ДЗ 8 |
| 9 | Итераторы и генераторы | ДЗ 9 |
| 10 | Collections и itertools | ДЗ 10 |
| 11 | Пространства имён и декораторы | ДЗ 11 |
| 12 | NumPy и Pandas | ДЗ 12 |
| 13 | Данные из внешнего мира: пути, JSON, CSV, дата и время | ДЗ 13 |
| 14 | Тестирование | — |
Домашние задания
Домашние задания сдаются в личный репозиторий на
SourceCraft. У каждого студента свой форк репозитория курса; решения
отправляются обычным git push, после чего их автоматически
проверяет CI и выставляет баллы в manytask.
Проверяется не только правильность: помимо тестов запускаются линтер и проверка типов. Задание с падающим линтером не засчитывается, поэтому прогоняйте его локально до отправки — как это делать, написано в README репозитория.
Всего 13 наборов задач, по одному к каждой лекции, плюс вводная задача. У каждого набора два срока: до мягкого задача стоит полный балл, между мягким и жёстким — половину, после жёсткого не оценивается.
| Задание | Задач | Баллов | Мягкий срок | Жёсткий срок |
|---|---|---|---|---|
| Вводная задача | 1 | 10 | 09.09, 23:59 | 16.09, 23:59 |
| ДЗ 1. Типы данных | 11 | 185 | 15.09, 23:59 | 15.09, 23:59 |
| ДЗ 2. Условия, циклы, файлы | 12 | 205 | 11.09, 23:59 | 18.09, 23:59 |
| ДЗ 3. Контейнеры | 12 | 215 | 15.09, 23:59 | 22.09, 23:59 |
| ДЗ 4. Ссылки и изменяемость | 9 | 260 | 18.09, 23:59 | 25.09, 23:59 |
Остальные задания открываются по ходу курса, вместе с соответствующими лекциями. У ДЗ 1 мягкий и жёсткий сроки совпадают: полный балл держится до 15 сентября, после чего задание закрывается.
Правила оценивания
О_итог = 0,2 · О_семинары + 0,5 · О_дз + 0,3 · О_экзамен
Округление арифметическое, применяется только к итоговой оценке. Блокирующих оценок нет.
| Компонента | Вес | Детали |
|---|---|---|
| Семинары | 20% | правила оценивания и оценки — за семинаристами |
| Домашние задания | 50% | 13 наборов задач, по одному к лекции, плюс вводная задача; сдаются в личный репозиторий, проверяются автоматически |
| Экзамен | 30% | коллоквиум на сессии |
Семинарист вправе снизить общую оценку за домашнее задание на 0,1 за незащищённую задачу; снижение складывается за каждое нарушение. Защита при необходимости проходит на семинаре в виде вопросов на понимание: условие, краевой случай, почему сделано так, а не иначе.
Экзамен
Экзамен на курсе — коллоквиум, разговор один на один с преподавателем на 8–10 минут. Проводится на сессионной неделе, предварительно в субботу, чтобы отвести на него весь день. Отвечать нужно без подготовки.
В билете три вопроса, каждый из своей лекции:
| Вопрос | О чём | Баллов |
|---|---|---|
| 1 | сформулировать понятие | 2 |
| 2 | что выведет этот код и почему | 4 |
| 3 | почему язык устроен именно так или каким подходом решать задачу | 4 |
Сумма — 10 баллов, она и есть оценка за экзамен по десятибалльной шкале. За каждый вопрос ставится полный балл, половина или ноль: сказать что происходит — половина, объяснить почему — полный балл.
Спрашивают только материал лекций. Того, что разбиралось на семинарах сверх лекции, в билетах нет. Домашние задачи пересказывать не нужно, но понимание, почему решение работает, проверяется прямо.
Пользоваться конспектами, ноутбуком и телефоном нельзя. Правила и примеры
вопросов всех трёх видов лежат в репозитории курса, в папке exam.