Логотип МФТИ — Московский физико-технический институт
Вернуться к программе курса

Информация о содержании обучения

Модуль 1. Базовый синтаксис, условия, циклы и формат ЕГЭ

Основные темы

  • Среда Python, формат задач ЕГЭ и ответственное использование ИТ: Python IDE, JupyterLab, интерпретатор, программа, виртуальная среда, консольный ввод-вывод, raw strings, PEP 8, кибербезопасность.
  • Типы данных, арифметика и форматирование: int, float, str, bool, преобразование типов, арифметика, //, %, округление, форматированный вывод.
  • Логика, системы счисления и условия: логические операторы, системы счисления, бинарный вид числа, if, elif, else.
  • Циклы, функции и трассировка программ: for, range, while, функции, параметры, return, состояние переменных.
  • Вложенные циклы, перебор и граничные тесты: вложенные циклы, перебор, счётчики, накопители, граничные случаи.
  • ИИ-инструменты для проверки и улучшения решений: ИИ-инструменты, проверка ИИ-сгенерированного кода, тесты, контрпримеры, кибербезопасность.

Примеры практических заданий

  • реализовать расчёт с точным соблюдением формата ввода и вывода;
  • перевести число между системами счисления и проверить граничные случаи;
  • протрассировать цикл или функцию в стиле заданий ЕГЭ.

Модуль 2. Строки, коллекции, файлы и функции

Основные темы

  • Строки и регулярные выражения: методы строк, сравнение строк, re, шаблоны, проверка формата.
  • Списки, кортежи и таблицы: списки, кортежи, таблицы, списочные выражения, индексы, срезы.
  • Файлы и CSV-подобные данные: чтение файлов, запись, контекстный менеджер, CSV-подобные строки.
  • Множества и словари: множества, словари, частоты, уникальные элементы, быстрый поиск.
  • Функции высшего порядка: map, filter, zip, lambda, reduce.
  • Ошибки, исключения и разбор неверных решений: исключения, тестирование, поиск ошибок, ИИ для проверки решений.

Примеры практических заданий

  • обработать строку по формату и проверить её регулярным выражением;
  • прочитать таблицу результатов и посчитать требуемый показатель;
  • найти ошибку в решении и подтвердить исправление тестами.

Модуль 3. Алгоритмические приёмы и подготовка к ЕГЭ

Основные темы

  • Оценка сложности и ограничения задачи: O(n), O(n²), ограничения, выбор алгоритма.
  • Префиксные суммы и два указателя: префиксные суммы, окна, два указателя.
  • Сортировка и жадные идеи: сортировка, ключ сортировки, greedy-подход.
  • Бинарный поиск: монотонность, границы поиска, проверка ответа.
  • Рекурсия, мемоизация и динамика: рекурсия, functools, кеширование, простые динамические переходы.
  • Генерация тестов и контрпримеров: тест-дизайн, стресс-тесты, ИИ для поиска контрпримеров.

Примеры практических заданий

  • выбрать алгоритм по ограничениям и оценить его сложность;
  • решить задачу на префиксные суммы, два указателя или бинарный поиск;
  • сгенерировать тесты, найти контрпример и исправить решение.

Модуль 4. Проектная разработка и прикладные инструменты

Основные темы

  • itertools и collections для проверки решений: Counter, defaultdict, deque, itertools.
  • Прикладные модули: math, random, datetime, statistics, pathlib.
  • ООП как способ собрать тренажёр: class, объект, __init__, методы.
  • Модули, пакеты, исключения и структура проекта: import, структура проекта, обработка ошибок.
  • Проект «ЕГЭ-тренажёр и аналитик подготовки»: результаты тренировок, темы риска, отчёты, тесты.
  • Доработка, тестирование и ИИ-ревью проекта: README, тест-план, исправление ИИ-сгенерированного кода, защита.

Примеры практических заданий

  • собрать анализатор тренировочных результатов с использованием collections;
  • описать объектную модель тренажёра и вынести код в модули;
  • подготовить проект к демонстрации: тесты, README и устная защита.

Тематика итоговых и комплексных работ

Проектная линия курса: ЕГЭ-тренажёр и аналитик подготовки. Обучающийся выбирает один из вариантов и готовит работающий программный продукт с README, тест-планом, демонстрационными данными и защитой.

  • ЕГЭ-тренажёр тем
  • Аналитик ошибок по тренировкам
  • Планировщик подготовки
  • Генератор карточек повторения
  • Проверка решений по тестам
  • Отчёт по прогрессу
  • Справочник алгоритмических приёмов
Назад