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

Длительность, академ. час: 4 модуля по 12 занятий
Стоимость: 400 руб. за час занятий
Преподаватели: Стрюков Николай Анатольевич



Продолжительность: 1 год. 2 раза в неделю (1 и 2 модуль сентябрь-декабрь, 3 и 4 модуль январь-май)

По сути, это "соль" программирования, задачи сортировки, поиска, обхода "дерева", "рюкзак", "коммивояжер" и т.п.

Курс рассчитан на годовой цикл обучения. Два модуля курса рассчитаны на полугодие, 24 занятия по два урока в неделю (2 астрономических часа). Курс рекомендован учащимся 9–10-х классов.

На курсе:

- Вы узнаете, что такое олимпиадное программирование и в чём заключаются особенности автоматической проверки алгоритмов;
- Познакомитесь с тестирующей системой Ejudge, в которой проходят  все крупнейшие соревнования по спортивному программированию;
- Сможете на лету решать основные задачи из области арифметики: разложение числа на цифры, на простые множители, делимость, арифметика остатков;
- Освоите классические алгоритмы и хитрые трюки для решения задач на обработку последовательностей;
- Узнаете, как легко решать задачи обработки матриц: линейный поиск, переворот, максимумы и минимумы;
- Изучите различные методы сортировки, в том числе использующие тонкие оптимизации;
- Приступите к основам высшего пилотажа в программировании – алгоритмам обработки графов, стеков и очередей;
- Полученных знаний и навыков хватит, чтобы начать выступать на олимпиадах по программированию.

Модуль 1.

- Занятие №1. Знакомство;
- Занятие №2. Типы данных и отладка;
- Занятие №3. Решение задач из области арифметики;
- Занятие №4. НОД(GCD) и НОК(LCM);
- Занятие №5. Однопроходные алгоритмы;
- Занятие №6. Массивы;
- Занятие №7. Сортировка массива;
- Занятие №8. Символы и строки в Java;
- Занятие №9. Двумерные массивы;
- Занятие №10. Графы I. Определения, хранение;
- Занятие №11. Стек и очередь;
- Занятие №12. Графы II. Поиск в ширину.

Модуль 2.

- Занятие 1. Вспомнить всё!
- Занятие 2. Рекурсия I;
- Занятие 3. Рекурсия II;
- Занятие 4. Алгоритм поиска в глубину (DFS – Depth First Search);
- Занятие 5. Применения поиска в глубину;
- Занятие 6. Сортировка слиянием;
- Занятие 7. Быстрая сортировка;
- Занятие 8. Командная олимпиада;
- Занятие 9. Динамическое программирование I;
- Занятие 10. Динамическое программирование II;
- Занятие 11. Системы счисления;
- Занятие 12. Дорешивание.

Модуль 3.

- Занятие 1. Вспомнить всё - 2!
- Занятие 2. Основные понятия и формулы комбинаторики;
- Занятие 3. Генерация комбинаторных объектов;
- Занятие 4. Задачи динамического программирования I (НВП);
- Занятие 5. Динамическое программирование II (НОП);
- Занятие 6. Задачи динамического программирования III (расстояние Левенштейна);
- Занятие 7. Алгоритм Флойда-Уоршалла;
- Занятие 8. Алгоритм Дейкстры;
- Занятие 9. Олимпиада;
- Занятие 10. Бинарный поиск;
- Занятие 11. Игры I. Ним;
- Занятие 12. Игры II. Сумма игр;
- Занятие 13. Геометрия. Основы;
- Занятие 14. Геометрия. Окружности и многоугольники;
- Занятие 15. Выпуклая оболочка;
- Занятие 16. Куча (HEAP).



Назад в раздел "1С: Клуб программистов для школьников"