Программирование на Python и C++. Всего уроков: 101 по действующим программам портала. Ниже перечислены все занятия с темами и практическими результатами.
Один урок рассчитан на 45 минут. Подробные формулировки и разбивка крупных тем являются авторской разработкой. Наличие урока в плане не означает, что его материал уже опубликован.
01. 7 класс · уроков: 34
34 урока: по 17 на Python и C++. Графика реализуется доступными проверенными средствами; код и тесты приводятся целиком.
| Урок | Тема и содержание | Практический результат |
|---|---|---|
| 1 | Python: Среда, программа и первый вывод Python. Первые программы | Запустить программу и объяснить каждую строку. |
| 2 | Python: Ввод, переменные и диалог Python. Первые программы | Создать программу с вводом и проверенным выводом. |
| 3 | Python: Координаты и пиксели Python. Графика | Построить изображение по заданным координатам. |
| 4 | Python: Линии, прямоугольники и окружности Python. Графика | Создать рисунок из примитивов. |
| 5 | Python: Изменение координат Python. Графика | Преобразовать изображение и проверить границы. |
| 6 | Python: Целые числа и арифметика Python. Числа | Реализовать вычисление с правильным порядком операций. |
| 7 | Python: Частное, остаток и цифры числа Python. Числа | Разобрать число на разряды и проверить крайние случаи. |
| 8 | Python: Вещественные числа и точность Python. Числа | Объяснить ошибку округления и выбрать формат вывода. |
| 9 | Python: Условие и цикл с предусловием Python. Циклы | Записать алгоритм повторения с завершением. |
| 10 | Python: Алгоритм Евклида Python. Циклы | Найти НОД и проверить случай нулевого аргумента. |
| 11 | Python: Поток данных и признак конца Python. Циклы | Обработать последовательность без хранения целиком. |
| 12 | Python: Цикл со счётчиком и шагом Python. Циклы | Сравнить два способа перебора и найти ошибку границы. |
| 13 | Python: Процедура и параметры Python. Процедуры | Выделить повторяющееся действие в подпрограмму. |
| 14 | Python: Рефакторинг рисунка Python. Процедуры | Собрать рисунок из параметризованных процедур. |
| 15 | Python: Случайные числа и ветвление Python. Марафон | Построить проверяемую учебную игру с фиксированными тестами. |
| 16 | Python: Числовая задача с циклом Python. Марафон | Самостоятельно разработать и протестировать алгоритм. |
| 17 | Python: Графический мини-проект Python. Марафон | Объединить ввод, условия, циклы и процедуры; защитить результат. |
| 18 | C++: Среда, программа и первый вывод C++. Первые программы | Запустить программу и объяснить каждую строку. |
| 19 | C++: Ввод, переменные и диалог C++. Первые программы | Создать программу с вводом и проверенным выводом. |
| 20 | C++: Координаты и пиксели C++. Графика | Построить изображение по заданным координатам. |
| 21 | C++: Линии, прямоугольники и окружности C++. Графика | Создать рисунок из примитивов. |
| 22 | C++: Изменение координат C++. Графика | Преобразовать изображение и проверить границы. |
| 23 | C++: Целые числа и арифметика C++. Числа | Реализовать вычисление с правильным порядком операций. |
| 24 | C++: Частное, остаток и цифры числа C++. Числа | Разобрать число на разряды и проверить крайние случаи. |
| 25 | C++: Вещественные числа и точность C++. Числа | Объяснить ошибку округления и выбрать формат вывода. |
| 26 | C++: Условие и цикл с предусловием C++. Циклы | Записать алгоритм повторения с завершением. |
| 27 | C++: Алгоритм Евклида C++. Циклы | Найти НОД и проверить случай нулевого аргумента. |
| 28 | C++: Поток данных и признак конца C++. Циклы | Обработать последовательность без хранения целиком. |
| 29 | C++: Цикл со счётчиком и шагом C++. Циклы | Сравнить два способа перебора и найти ошибку границы. |
| 30 | C++: Процедура и параметры C++. Процедуры | Выделить повторяющееся действие в подпрограмму. |
| 31 | C++: Рефакторинг рисунка C++. Процедуры | Собрать рисунок из параметризованных процедур. |
| 32 | C++: Случайные числа и ветвление C++. Марафон | Построить проверяемую учебную игру с фиксированными тестами. |
| 33 | C++: Числовая задача с циклом C++. Марафон | Самостоятельно разработать и протестировать алгоритм. |
| 34 | C++: Графический мини-проект C++. Марафон | Объединить ввод, условия, циклы и процедуры; защитить результат. |
02. 8 класс · уроков: 33
33 урока по сумме явно указанных часов. В исходной программе заявлено 102 часа за три года, таблицы дают 101. Общие марафоны не удваиваются; недостающий час не придуман.
| Урок | Тема и содержание | Практический результат |
|---|---|---|
| 1 | Python: Контракт процедуры и параметры Документирование | Оформить и проверить подпрограмму с описанием входов, результата и ограничений. |
| 2 | Python: Документирование и читаемость кода Документирование | Оформить и проверить подпрограмму с описанием входов, результата и ограничений. |
| 3 | Python: Docstring и проверяемые примеры Документирование | Оформить и проверить подпрограмму с описанием входов, результата и ограничений. |
| 4 | C++: Контракт процедуры и параметры Документирование | Оформить и проверить подпрограмму с описанием входов, результата и ограничений. |
| 5 | C++: Документирование и читаемость кода Документирование | Оформить и проверить подпрограмму с описанием входов, результата и ограничений. |
| 6 | Python: Логические значения и сложные условия Ветвления | Построить таблицу условий, реализовать решение и проверить граничные случаи. |
| 7 | Python: Вложенные ветвления Ветвления | Построить таблицу условий, реализовать решение и проверить граничные случаи. |
| 8 | Python: Границы условий и таблица тестов Ветвления | Построить таблицу условий, реализовать решение и проверить граничные случаи. |
| 9 | C++: Логические значения и сложные условия Ветвления | Построить таблицу условий, реализовать решение и проверить граничные случаи. |
| 10 | C++: Вложенные ветвления Ветвления | Построить таблицу условий, реализовать решение и проверить граничные случаи. |
| 11 | C++: Границы условий и таблица тестов Ветвления | Построить таблицу условий, реализовать решение и проверить граничные случаи. |
| 12 | Тарифы и кусочные правила Марафон по ветвлениям | Реализовать расчёт по нескольким диапазонам и проверить стыки. |
| 13 | Календарные условия Марафон по ветвлениям | Проверить алгоритм на високосных годах и ошибочном вводе. |
| 14 | Классификатор треугольников Марафон по ветвлениям | Различить допустимость и тип по сторонам. |
| 15 | Рефакторинг сложного условия Марафон по ветвлениям | Сравнить эквивалентные условия на общей таблице тестов. |
| 16 | Защита программы с ветвлениями Марафон по ветвлениям | Представить две реализации и доказать корректность на тестах. |
| 17 | Python: Символы, индексы и перебор Строки | Реализовать подсчёт символов без выхода за границы. |
| 18 | Python: Поиск, вставка и замена Строки | Преобразовать строку и проверить отсутствующий фрагмент. |
| 19 | Python: Строка и число Строки | Проверить преобразование и обработать некорректный ввод. |
| 20 | C++: Символы, индексы и перебор Строки | Реализовать подсчёт символов без выхода за границы. |
| 21 | C++: Поиск, вставка и замена Строки | Преобразовать строку и проверить отсутствующий фрагмент. |
| 22 | C++: Строка и число Строки | Проверить преобразование и обработать некорректный ввод. |
| 23 | Python: Создание списка или массива Массивы и списки | Сформировать структуру и объяснить индексацию. |
| 24 | Python: Ввод, заполнение и перебор Массивы и списки | Реализовать заполнение, вывод и воспроизводимую случайную генерацию. |
| 25 | Python: Сумма и количество по условию Массивы и списки | Обработать коллекцию и проверить пустой набор. |
| 26 | C++: Создание списка или массива Массивы и списки | Сформировать структуру и объяснить индексацию. |
| 27 | C++: Ввод, заполнение и перебор Массивы и списки | Реализовать заполнение, вывод и воспроизводимую случайную генерацию. |
| 28 | C++: Сумма и количество по условию Массивы и списки | Обработать коллекцию и проверить пустой набор. |
| 29 | Частоты символов Марафон по строкам и массивам | Построить отчёт по тексту и сравнить два языка. |
| 30 | Поиск экстремальных элементов Марафон по строкам и массивам | Обработать повторы и особые случаи. |
| 31 | Фильтрация данных Марафон по строкам и массивам | Создать новый набор без изменения порядка. |
| 32 | Текстовый отчёт по данным Марафон по строкам и массивам | Совместить строки, условия и коллекции. |
| 33 | Защита мини-проекта Марафон по строкам и массивам | Продемонстрировать тесты и исправить найденную ошибку. |
03. 9 класс · уроков: 34
34 урока; общий завершающий марафон на 4 часа не удваивается между языками.
| Урок | Тема и содержание | Практический результат |
|---|---|---|
| 1 | Python: Типы файлов и чтение Файлы | Реализовать алгоритм «типы файлов и чтение», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 2 | Python: Запись и обработка строк файла Файлы | Реализовать алгоритм «запись и обработка строк файла», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 3 | Python: Ошибки и надёжный файловый конвейер Файлы | Реализовать алгоритм «ошибки и надёжный файловый конвейер», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 4 | C++: Типы файлов и чтение Файлы | Реализовать алгоритм «типы файлов и чтение», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 5 | C++: Запись и обработка строк файла Файлы | Реализовать алгоритм «запись и обработка строк файла», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 6 | C++: Ошибки и надёжный файловый конвейер Файлы | Реализовать алгоритм «ошибки и надёжный файловый конвейер», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 7 | Python: Подготовка данных и осей Графики | Реализовать алгоритм «подготовка данных и осей», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 8 | Python: Построение и проверка графика Графики | Реализовать алгоритм «построение и проверка графика», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 9 | C++: Подготовка данных и осей Графики | Реализовать алгоритм «подготовка данных и осей», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 10 | C++: Построение и проверка графика Графики | Реализовать алгоритм «построение и проверка графика», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 11 | Python: Логические функции и контракт Функции | Реализовать алгоритм «логические функции и контракт», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 12 | Python: Рекурсия и базовый случай Функции | Реализовать алгоритм «рекурсия и базовый случай», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 13 | C++: Логические функции и контракт Функции | Реализовать алгоритм «логические функции и контракт», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 14 | C++: Рекурсия и базовый случай Функции | Реализовать алгоритм «рекурсия и базовый случай», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 15 | Python: Сортировка пузырьком Сортировка | Реализовать алгоритм «сортировка пузырьком», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 16 | Python: Сортировка выбором Сортировка | Реализовать алгоритм «сортировка выбором», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 17 | Python: Сортировка слиянием Сортировка | Реализовать алгоритм «сортировка слиянием», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 18 | Python: Быстрая сортировка Сортировка | Реализовать алгоритм «быстрая сортировка», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 19 | Python: Встроенная сортировка и сравнение сложности Сортировка | Реализовать алгоритм «встроенная сортировка и сравнение сложности», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 20 | C++: Сортировка пузырьком Сортировка | Реализовать алгоритм «сортировка пузырьком», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 21 | C++: Сортировка выбором Сортировка | Реализовать алгоритм «сортировка выбором», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 22 | C++: Сортировка слиянием Сортировка | Реализовать алгоритм «сортировка слиянием», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 23 | C++: Быстрая сортировка Сортировка | Реализовать алгоритм «быстрая сортировка», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 24 | C++: Встроенная сортировка и сравнение сложности Сортировка | Реализовать алгоритм «встроенная сортировка и сравнение сложности», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 25 | Python: Линейный и двоичный поиск Поиск | Реализовать алгоритм «линейный и двоичный поиск», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 26 | Python: Инвариант и границы двоичного поиска Поиск | Реализовать алгоритм «инвариант и границы двоичного поиска», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 27 | Python: Двоичный поиск по ответу Поиск | Реализовать алгоритм «двоичный поиск по ответу», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 28 | C++: Линейный и двоичный поиск Поиск | Реализовать алгоритм «линейный и двоичный поиск», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 29 | C++: Инвариант и границы двоичного поиска Поиск | Реализовать алгоритм «инвариант и границы двоичного поиска», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 30 | C++: Двоичный поиск по ответу Поиск | Реализовать алгоритм «двоичный поиск по ответу», объяснить ограничения и проверить обычные, пустые и граничные входы. |
| 31 | Постановка проекта обработки данных Итоговый марафон | Составить формат файлов, алгоритм и критерии корректности. |
| 32 | Реализация и автоматические тесты Итоговый марафон | Создать рабочую программу и набор независимых тестов. |
| 33 | Сравнение Python и C++ Итоговый марафон | Сопоставить результаты и измерения времени без ложных обобщений. |
| 34 | Защита и исправление проекта Итоговый марафон | Показать воспроизводимый запуск, график и обработку ошибок. |