Первые 30 дней после книги
Четыре недели закрепления: один завершённый результат за раз, с тестами и разбором решений.
План на четыре недели
Этот план рассчитан на регулярную практику после книги. Он не претендует на универсальный темп. Если на учёбу есть два коротких занятия в неделю, растяните неделю плана на две. Не сокращайте проверку и разбор ошибок ради календаря.
| Неделя | Фокус | Результат недели |
|---|---|---|
| 1 | Повторить основы без копирования: функции, коллекции, файлы, исключения. | Один CLI-мини-проект с README и тестами. |
| 2 | Пересобрать знакомую идею другим инструментом. | Один визуальный проект и журнал решений. |
| 3 | Добавить проверки проекта: ветка, issue, lint, тесты, CI. | Pull Request в собственном репозитории. |
| 4 | Выбрать одну специализацию и провести короткое исследование. | Прототип, ретроспектива и план на следующие 60 дней. |
Банк проектов
Выберите один проект на неделю, не все сразу. Ниже нет готовых решений. Минимальная версия задаёт границу завершения, а расширения дают материал на следующий цикл.
Конвертер валют
Идея: Пересчитать сумму между выбранными валютами по явно заданному набору курсов.
Минимальная версия: CLI или Tkinter, проверка числа и кода валюты, курсы в JSON, понятная ошибка при отсутствии пары.
Расширения: Загрузка курса из HTTP API, кэш с временем обновления, Decimal и история операций.
Что закрепляет: словари, функции, JSON, валидация, отделение расчёта от интерфейса
Гонка в Pygame
Идея: Игрок меняет полосу и избегает препятствий, движущихся сверху вниз.
Минимальная версия: Игровой цикл, управление, коллизии, счёт и перезапуск без глобальной мешанины состояния.
Расширения: delta time, возрастающая сложность, звуки, таблица результатов в файле.
Что закрепляет: события, координаты, состояние игры, классы, отладка по кадрам
Вариации узоров Turtle
Идея: Исследовать, как угол, шаг, цвет и повторение меняют геометрический узор.
Минимальная версия: Три параметризованных узора, ввод параметров и сохранение выбранной конфигурации.
Расширения: генератор палитры, симметрия, экспорт изображения, сравнение времени построения.
Что закрепляет: циклы, функции, параметры, координаты, экспериментальное мышление
Змейка на Pygame
Идея: Повторить механику проекта Turtle в другой событийной и графической модели.
Минимальная версия: Сетка, направление, рост, еда, столкновение с границей и собственным телом.
Расширения: пауза, уровни, препятствия, тестируемая логика движения вне Pygame.
Что закрепляет: декомпозиция, коллекции, состояние, перенос модели между фреймворками
Игра на память
Идея: Открывать пары карточек и сохранять совпавшие пары.
Минимальная версия: Перемешанная сетка, не более двух открытых карточек, задержка перед закрытием, завершение партии.
Расширения: несколько размеров поля, таймер, число ходов, воспроизводимое перемешивание для теста.
Что закрепляет: двумерные данные, конечные состояния, события мыши, тестируемая логика
Игра на уклонение
Идея: Персонаж избегает падающих объектов, а сложность постепенно растёт.
Минимальная версия: Движение, генерация препятствий, столкновение, счёт времени и экран окончания.
Расширения: разные типы препятствий, бонусы, пауза, профиль производительности.
Что закрепляет: игровой цикл, случайность, коллизии, управление темпом
Рабочий ритм
Если застряли, уменьшите задачу до следующего наблюдаемого поведения. Например, сначала покажите неподвижную машинку, затем обработайте одну клавишу, после этого добавьте одно препятствие. Такой разрез сохраняет причинно-следственную связь между кодом и результатом.