+7 (812) 703-02-02 info@hse.spbstu.ru Max Rutube

Олимпиадное программирование на PythonНовый курс!

C 8 класса | 26 занятий | Очно или онлайн

Длительность курса: 26 занятий по 4 ак. часа и выполнение домашних заданий

О чём курс

Олимпиады по программированию перестали быть спортом для высокоодарённых школьников. Обилие олимпиад по программированию и информатике, дающих те или иные преимущества при поступлении в вузы приводит к тому, что из-за отсутствия баллов за индивидуальные достижения (олимпиады) школьник уступает в конкурентной борьбе другим абитуриентам. Навыки быстрого и надёжного программирования пригодятся и на ЕГЭ, и в вузе, а самоконтроль, внимание и стрессоустойчивость — полезнейшие качества, востребованные во всех сферах жизни.

Знание языка программирования и умение решать задачи по программированию — не одно и то же. Самый простой способ получить опыт решения задач, научиться быстрому и безошибочному программированию в точном соответствии с заданными требованиями — участие в олимпиадах, сначала «тренировочных», затем реальных.

Решение задач на контестере (сайте для проведения олимпиад, где высланные решения проверяются автоматически) в формате соревнования не только полезно, но и интересно, азартно. А если речь идёт о задачах из коллекции АИШ, накопленной за долгие годы проведения олимпиад и тренировок, методически выверенной, — ещё и весело. При этом преподаватель курса готов помочь, если что-то не ладится, дать подсказку, показать полезный приём. Турниру предшествует теория и упражнения, а разбор задач проходит на следующем занятии. Знания и навыки закрепляются решением задач из сборников. Преподаватель имеет возможность подбирать задания для ученика индивидуально с учётом его уровня, возраста, целей обучения.

Язык курса — Python: именно на нём даются примеры и пояснения. Это общепринятый язык для начинающих в спортивном программировании и самый популярный язык ЕГЭ по информатике.

Годовой курс синхронизирован с графиком проведения олимпиад школьников. Информация о доступных олимпиадах, тренировках, практикумах размещается в дистанционном курсе.

Цель курса: выработка навыков решения сложных задач по программированию в условиях ограничения времени и гипермотивации, тренировка внимания и самоконтроля, повышение эрудиции в области алгоритмизации и инструментов Python.

Об эффективности курса (он существует с 2017 года, изменяясь и обновляясь) говорят успехи его выпускников: высокие результаты на олимпиадах и на ЕГЭ, поступление в Политех, ИТМО, на IT-направления других вузов.

Курс доступен в ОНЛАЙН-формате! Уточняйте информацию у специалистов.

Чему научим

Знания и представления:

  • Спортивное (олимпиадное) программирование как жанр.
  • История состязаний программистов, типы, правила (классические контесты, ВСОШ, профильные олимпиады).
  • Принципы работы контестеров.
  • Интерфейс автопроверяемой задачи.
  • Математическая база олимпиадного программирования (арифметика остатков, системы счисления, комбинаторика, теория множеств).
  • Трансформация данных в олимпиадных задачах: списки, очереди, множества, словари.
  • Организация перебора значений и перебора комбинаций.
  • Использование итераторов itertools.
  • Рекурсия в олимпиадных задачах, ускорение и углубление рекурсии.
  • Оценка вычислительной сложности алгоритма.
  • Жадные алгоритмы.
  • Приёмы динамического программирования.
  • Приёмы решения задач, сводящихся к графам.
  • Особенности ЕГЭ-программирования.
  • Техника тестирования задачи.

Умения и навыки:

  • Работа с контестерами.
  • Работа с условием задачи, оценка сложности и трудоёмкости.
  • Анализ тестовых значений, работа на бумаге.
  • Организация данных при решении задачи.
  • Написание понятного, компактного и надёжного кода.
  • Подготовка тестов и отладка программы.
  • Использование справочной информации и искусственного интеллекта в тренировочном процессе и при решении задач.
  • Тактика на олимпиадах различных форматов.
  • Календарное планирование, организация самоподготовки к олимпиадам.

Занятие 1

Олимпиады и контестеры

  • История состязаний программистов.
  • Типы олимпиад, их правила.
  • Контестеры – программы для автоматической проверки решений.
  • Организация ввода и вывода в автопроверяемых задачах.
  • Знакомство с контестером КИТпро.
  • Здание-эксперимент: черновая оценка сложности задач.
  • Пробный турнир «Муму-олимпиада».

Занятие 2

Классификация олимпиадных задач

  • Типы олимпиадных задач по способу оценки, по стилю условия, по тематике.
  • Примеры формулировки условия задачи в олимпиадах разных типов.
  • Разбор задач «Муму-олимпиады».
  • О-большое: первое знакомство.
  • Решение задач разных жанров из сборников «Проба пера», «Учебные задачи».

Занятие 3

Задача как модель ситуации

  • От текста к данным.
  • От данных к алгоритму.
  • От алгоритма к программе.
  • Искусство видеть закономерность.
  • Турнир «Бисер-олимпиада».

Занятие 4

Победа над задачей: слагаемые успеха

  • Тест-эксперимент «Слагаемые успеха».
  • Разбор задач Бисер-олимпиады.
  • Решение задач из сборников "Учебные задачи", "Дополнительные задания".

Занятие 5

Математика и программирование

  • Как программируют математики.
  • Экспресс-математика из Интернета – лучше, чем ничего.
  • Как не стать рабом искусственного интеллекта.
  • Турнир «MathWay-олимпиада».

Занятие 6

Базовые математические инструменты программиста

  • Разбор задач «MathWay-олимпиады».
  • Модуль math: самое полезное.
  • Решение задач из сборников "Учебные задачи", "Математика для начальной школы", "Фёдор Меньшиков. Тренировки".

Занятие 7

Олимпиадная задача как система взаимосвязанных данных

  • Классификация типов данных, их возможности.
  • Простые и структурированные данные.
  • Индексированные данные: систематизация, возможности, уязвимости.
  • Турнир «ДА-олимпиада».

Занятие 8

Полезные приёмы работы с индексированными данными

  • Разбор задач ДА-олимпиады.
  • Методы списков, примеры их применения.
  • Список счётчиков, список нарастающих сумм.
  • Указатели.
  • Решение задач из сборников "Учебные задачи", "Приёмы и приёмчики".

Занятие 9

Хэшируемые данные и очереди

  • Сравнение быстродействия списка и множества.
  • Идея хэширования.
  • Хэшируемые данные.
  • Очередь. Примеры применения очереди и стека.
  • Турнир «ДА-C--олимпиада».

Занятие 10

Промежуточные итоги

  • Разбор задач ДАс-олимпиады.
  • Тест для самооценки.
  • Гигиена умственного труда.
  • Ментальная гимнастика для супергероев.
  • Решение задач из сборников "Дополнительные задания", "Приёмы и приёмчики", «ЕГЭ-задачи».

Занятие 11

Практикум: решение задач в неформальной постановке

  • Что делать, если задача не похожа на задачу. Примеры формализации условия.
  • Полезные символы из математики для черновика.
  • Турнир «Мексиканские негодяи» - проверочная работа по первой части курса.

Занятие 12

Формула вместо подсчёта

  • Разбор задач олимпиады "Мексиканские негодяи".
  • Тест "Мексиканские негодяи на ЕГЭ".  Разбор задач теста.
  • Решение задач из сборников "Учебные задачи", "Дополнительные задания", «ЕГЭ-задачи».

Занятие 13

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

  • Тесты «чёрного ящика» и «белого ящика».
  • Вырожденные и предельные тесты.
  • Генерация «больших» тестов.
  • Тест «Делаем тесты».
  • Турнир «Олимпиада ПроТеста».

Занятие 14

Через тесты - к решению

  • • Разбор задач «Олимпиады ПроТеста».
  • • Через тесты – к выявлению закономерности.
  • • Примеры задач ВСОШ с начислением баллов за группы тестов.
  • • Решение задач сборника «Из ВСОШ».

Занятие 15

ЕГЭ-программирование: как не ошибаться

  • ЕГЭ-программирование: обзор, особенности.
  • Специфика проверки программ на ЕГЭ.
  • Решение задач сборника «ЕГЭ-задачи».

Занятие 16

Перебор вариантов как метод поиска решения

  • Перебор: от простого к сложному.
  • Перебор с параметром, с несколькими параметрами.
  • Перебор комбинаций через вложенные циклы. 
  • Комбинаторные итераторы.
  • Турнир «Перебор-олимпиада»: начало.

Занятие 17

Классические приёмы перебора комбинаций

  • Числовой ключ.
  • Индуктивный перебор.
  • Перебор комбинаций через рекурсию.
  • Применение очереди для перебора комбинаций.
  • Турнир «Перебор-олимпиада»: сложные задачи.

Занятие 18

Сокращение области перебора

  • Разбор задач «Перебор-олимпиады».
  • Уменьшение вычислительной сложности алгоритма – примеры.
  • Задачи ЕГЭ, требующие эффективных алгоритмов.
  • Турнир «ДЖ-олимпиада» или решение задач сборников "Дополнительные задания", «ЕГЭ-задачи».

Занятие 19

Практикум: решение задач, требующих эффективных алгоритмов

  • Разбор наиболее сложных задач прошедших занятий.
  • Мини-турнир «Винни-Пух-олимпиада».
  • Разбор задач «Винни-Пух-олимпиады».

Занятие 20

Жадные алгоритмы в олимпиадных задачах

  • Классические жадные алгоритмы: примеры.
  • Ограниченность применимости жадных алгоритмов (непрерывная и дискретная задача о рюкзаке).
  • Турнир «Во-олимпиада».

Занятие 21

Основы динамического программирования

  • Разбор задач ВО-олимпиады.
  • Понятие динамического программирования. Примеры простейшей динамики.
  • Решение задач из лекции и из сборника «Дополнительные задания».

Занятие 22

Задачи на графах

  • Граф как модель.
  • Представление графа в памяти компьютера.
  • Обход графа в ширину и в глубину: идея и реализация.
  • Упражнения из сборника «Учебные задачи».
  • Турнир «Графская олимпиада».

Занятие 23

Алгоритмическая классика - примеры

  • Разбор задач «Графской олимпиады».
  • Длина наибольшей возрастающей подпоследовательности.
  • Алгоритм Джонсона для двух станков.
  • Двумерная динамика.
  • Как самостоятельно осваивать классические алгоритмы.
  • Решение задач сборника «Алгоритмическая классика»

Занятие 24

Итоги курса

  • Тест для самооценки-2.
  • Языки программирования для олимпиад и ЕГЭ.
  • Обзор информационных ресурсов для саморазвития программиста.
  • Методика самостоятельных тренировок по спортивному программированию.
  • Примерный календарь олимпиад следующего учебного года.
  • Решение задач из сборников курса (индивидуальная работа).

Занятие 25

Тренинг перед экзаменом

  • Тренировочный турнир «Мексиканские негодяи – 2»
  • Разбор задач и анализ результатов турнира.

Занятие 26

Экзамен

  • Экзамен: турнир из задач олимпиад разного уровня.
  • Индивидуальные рекомендации по продолжению обучения и самообучению.

Стоимость

56 400 ₽

Социальные скидки для многодетных и других категорий семей.
Скидки по акциям.
Оплата материнским капиталом.
Можно оформить налоговый вычет по расходам на обучение - 13%.

Как поступить

Для тех, кто ещё не учится в АИШ:

  • Вступительное тестирование

Для уже обучающихся в АИШ:

  • Базовый курс:
    • «Структурное программирование на языке Python» – промежуточная аттестация не менее 80 баллов или итоговая оценка не ниже «отлично».
    • «Функциональное программирование и структуры данных на языке Python» - промежуточная аттестация не менее 70 баллов или итоговая оценка не ниже «хорошо».
    • «Основы Python разработки» – промежуточная аттестация не менее 80 баллов или итоговая оценка не ниже «отлично».
    • «Практикум проектирования на Python» - промежуточная аттестация не менее 70 баллов или итоговая оценка не ниже «хорошо».
    • «Первые шаги в олимпиадном программировании на Python» - промежуточная аттестация не менее 80 баллов или итоговая оценка не ниже «отлично».

Участники открытых тренировок АИШ по олимпиадному программированию, решившие в одной из олимпиад не менее трёх задач, могут быть зачислены на курс без теста.

Тест № АИШ-341 Вступительный тест для обучения на семестре "Введение в олимпиадное программирование"

Необходимые знания и умения для успешного прохождения тестирования:

  1. Базовые математические знания, основы математической культуры.
  2. Опыт процедурного программирования на языке Python, С++, C# или Pascal:
    • Типы данных, преобразование типов.
    • Операторы консольного ввода и вывода, присваивания.
    • Операторы для организации циклов и ветвлений.
    • Массивы и стандартные алгоритмы работы с ними (поиск, нахождение максимума, сортировка, сдвиг и т.п.).
    • Создание процедур и функций, способы передачи данных между подпрограммами.
    • Владение приёмами работы со строками (выделение и поиск подстроки).
    • Знание классических численных алгоритмов (НОД, выделение цифр числа).

По результатам выполнения практического задания необходимо набрать не менее 60 баллов.

Для сдачи теста предоставляется 1 попытка.

Как записаться на занятия

Если ребёнок уже обучается

Оставьте заявку в Личном кабинете

Если ребёнок ещё не обучается

заполните форму

пятница 25.09.2026 - 23.04.2027 онлайн 18:00 - 21:30

Группа
516.01.01
Свободных мест: 8
Аудитория
_Онлайн

Академия информатики для школьников в цифрах

21 год

успешной работы
в Политехническом университете Петра Великого

9

направлений обучения

54

учебные программы

2 800

школьников
проходят обучение
ежегодно

151

выпускник АИШ
в 2025 году поступил
в Политехнический университет

3

учебные площадки

40

компьютерных классов