Учёба

К нам приезжают и начинающие программисты, и участники международных олимпиад по информатике. Уровень подготовки определяет, в какую параллель школьника зачислят.

Учебные параллели делятся на группы по 8–15 школьников. С каждой группой работают свои преподаватели: обычно два человека, иногда три.

Каждый день есть пара теории и пара практики. После обеда можно пойти на спецкурс или дорешивать задачи самостоятельно.

Параллель Необходимая подготовка Программа параллели
A
9–10 класс

Уверенное владение производительным языком программирования (рекомендуется C++, Java, допускается Паскаль) и опыт решения олимпиадных задач. Типичный уровень учеников — призеры Всероссийской олимпиады

Продвинутые структуры данных: вариации деревьев отрезков, декартовых деревьев, СНМ

Алгоритмы на строках: продвинутый поиск подстроки, суффиксные структуры

Алгоритмы комбинаторной оптимизации в сетях: потоки, паросочетания

Математические алгоритмы: геометрия, игры на графах

A
???

???

???

B
8–10 класс

Уверенное владение производительным языком программирования. Рекомендуем С++, C#, Java. Можно, но не рекомендуем Паскаль. Опыт решения олимпиадных задач.

Структуры данных: дерево отрезков, декартово дерево, дерево Фенвика.

Динамическое программирование: по подотрезкам, поддеревьям, подмножествам, профилю

Комбинаторика

Геометрия: многоугольники, выпуклые оболочки

Графы: сильная связность, вершинная и рёберная двусвязность, кратчайшие пути, остовные деревья

Строки: префикс-функции, Z-функции, бор, хеши

B
8–10 класс

Уверенное владение любым языком программирования. Опыт решения олимпиадных задач.

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

Алгоритмы сортировки: слиянием, qsort, кучей

Алгоритмы поиска: двоичный, троичный

Метод сканирующей прямой

Правильные скобочные последовательности

Графы: алгоритмы Дейкстры, Флойда, Форда-Беллмана

Геометрия: скалярное и векторное произведения, расстояние от точки до прямой, пересечение окружностей

C
7–9 класс
C.Python

Уверенное владение любым языком программирования и опыт решения олимпиадных задач.

Структуры данных: куча, очередь, стек

Алгоритмы сортировки: слиянием, qsort, кучей

Алгоритмы на графах: обходы в ширину и глубину, кратчайшие пути, топологическая сортировка

Комбинаторика

Динамическое программирование

Преподавание на языке Python, знать Python заранее не требуется.

C.C++

Уверенное владение языком C++ и опыт решения олимпиадных задач.

Вступительную работу надо написать на C++.

Программа совпадает с программой C.Python, но вместо курса Python расскажем особенности С++ и STL

C
6–8 класс

Базовое владение любым языком программирования.

Числовые алгоритмы: проверка на простоту, решето Эратосфена, алгоритм Евклида

Алгоритмы сортировки и поиска: квадратичные сортировки, сортировка подсчётом и слиянием, двоичный поиск

Рекурсивные алгоритмы

Алгоритмы на графах: поиск в ширину, поиск в глубину

Динамическое программирование

Преподавание на языке Python, знать Python заранее не требуется

D

Параллели D в ЛКШ 2017 не будет.

P
8–10 класс

Владение одним из языков программирования (Python, Java, Swift, Objective-C, HTML+JS+CSS).

Опыт написания программ на несколько экранов кода.

Объектно-ориентированное программирование

Работа в команде: системы контроля версий, оформление кода

Тестирование кода: модульное тестирование, «коридорное тестирование», работоспособность продукта

Итеративный подход к разработке: снижение рисков, оценка состояния проекта и постоянная доработка

Учебные планы всех параллелей, PDF

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

Школьник не может быть зачислен в ту же параллель, в которой уже учился, а также в более младшую.