Детский технопарк РТУ МИРЭА «Альтаир» открывает набор в клуб по спортивному программированию для учащихся 9–10-х классов, владеющих базовыми навыками программирования.

Занятия проводятся БЕСПЛАТНО и будут проходить 1 раз в неделю по субботам, с 15:00 

Длительность одного занятия – 3 часа. 

Начало курса — декабрь 2020 года. Длительность обучения — 2 года.

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

●      Всероссийская олимпиада школьников по информатике

●      Всероссийская олимпиада школьников «Высшая проба» (ВШЭ)

●      Олимпиада школьников СПбГУ по информатике

●      Технокубок

●      Олимпиада школьников «Ломоносов»

●      Открытая олимпиада школьников по информатике ИТМО

●      Олимпиада Университета Иннополис

●      Московская олимпиада школьников по информатике и другие.

Занятия для школьников в рамках предлагаемого курса проводят тренеры сборной РТУ МИРЭА по спортивному программированию, имеющие богатый опыт по подготовке к различным олимпиадам и соревнованиям по программированию. 

Для участия в клубе необходимо зарегистрироваться по ссылке и пройти отборочный этап, который состоится 28 ноября в 14:00 в дистанционном формате.

Рекомендуемые начальные знания:

1.     Типы данных, переменные, константы

2.     Инструкции ветвления

3.     Инструкции циклов

4.     Массивы, в том числе многомерные

Задачи будут разбираться преимущественно на C++, иногда на Python.

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

●      https://acmp.ru/index.asp?main=task&id_task=25

●      https://acmp.ru/index.asp?main=task&id_task=539

●      https://acmp.ru/index.asp?main=task&id_task=529

●      https://acmp.ru/index.asp?main=task&id_task=43

●      https://acmp.ru/index.asp?main=task&id_task=715

●      https://acmp.ru/index.asp?main=task&id_task=642

●      https://acmp.ru/index.asp?main=task&id_task=357

●      https://acmp.ru/index.asp?main=task&id_task=46

В чём ценность данного курса?

·       Фундаментальные знания. Безусловно, владение навыками программирования на сегодняшний день является значительным конкурентным преимуществом на рынке труда. Тем не менее, в случае конкуренции в среде программистов владение основными навыками программирования, которое обычно развивается сначала в школе, а затем в университете, не является отличительной чертой. Существенными факторами становятся знания в области конкретных технологий (фреймворков, наборов инструментов, заточенных под выполнение определённых задач) и углублённые знания алгоритмов, структур данных и умение их применять в прикладных задачах. И если конкретные технологии и фреймворки меняются каждый год, то алгоритмы и структуры данных, лежащие в основе разработки эффективных программ, остаются неизменными. Именно поэтому изучение данных подходов и закрепление соответствующих навыков при помощи решения олимпиадных задач является лучшей инвестицией среди прочих на пути становления ценного специалиста в сфере разработки программного обеспечения.

·       Перспективы углублённого обучения. Для тех ребят, которые в будущем планируют продолжить учёбу в РТУ МИРЭА, данный курс позволит получить необходимые навыки для участия в студенческой сборной университета по спортивному программированию. 

Это сообщество активных студентов, которым интересно решать сложные алгоритмические задачи под руководством тренеров. Получить углублённые знания здесь могут как начинающие олимпиадники, так и более опытные и сильные алгоритмисты. Наиболее активным студентам университет оплачивает участие в различных сборах по спортивному программированию. Студенты, которые занимаются в составе сборной, демонстрируют высокие достижения на различных соревнованиях. Только за последнее время ребята вышли в полуфинал Международного студенческого чемпионата мира по программированию, стали призёрами и победителями на финальном чемпионате по алгоритмическому программированию в рамках международного фестиваля RuCode 2020, успешно выступили на сборах по алгоритмическому программированию и ИИ Discover World 2020. Больше информации о сборной в сообществе.

Содержание курса

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

2.     Целочисленная и модульная арифметика. Основы теории чисел. Перебор делителей числа. Алгоритм проверки на простоту. Решето Эратосфена. Алгоритм Евклида. Расширенный алгоритм Евклида. Свойства колец и полей. Быстрое возведение в степень. Нахождение обратного по модулю.

3.     Комбинаторика и вероятность. Число сочетаний. Треугольник Паскаля и его свойства. Дискретные случайные величины. Геометрическое и биномиальное распределение. Парадокс дня рождения.

4.     Одномерные массивы и последовательности. Сортировка с помощью кучи. Быстрая сортировка. Бинарный поиск. Сортировка за линейное время. Медианы и порядковые статистики.

5.     Жадные алгоритмы. Размен монет. Выбор заявок.

6.     Алгоритмы на строках. Палиндромы. Поиск подстрок. Алгоритм Кнута-Морриса-Пратта.

7.     Рекурсия, перебор. Рекуррентные соотношения. Ханойские башни. Синтаксический анализ арифметических выражений. Все подпоследовательности.

8.     Двумерные массивы. Матрицы. Умножение матриц. Алгоритм Штрассена. Обращение матрицы.

9.     Динамическое программирование. Задача о порядке перемножения матриц. Наибольшая общая подпоследовательность.

10.  Геометрия. Свойства отрезков. Поиск пересекающихся отрезков. Построение выпуклой оболочки. Пара ближайших точек.

11.  Основы теории графов. Поиск в ширину. Поиск в глубину. Топологическая сортировка.

12.  Структуры данных. Множества и словари. Очередь, стек, список. Асимптотическая сложность операций. Преимущества и недостатки, реализация. Стандартная библиотека.

13.  Задача одномерной оптимизации. Метод дихотомии. Метод золотого сечения.

Примеры задач, которые не должны вызывать трудностей у выпускников клуба:

●      http://acmp.ru/index.asp?main=task&id_task=118

●      https://acmp.ru/index.asp?main=task&id_task=151

●      https://acmp.ru/index.asp?main=task&id_task=161

●      https://acmp.ru/index.asp?main=task&id_task=421

●      https://acmp.ru/index.asp?main=task&id_task=427

●      https://acmp.ru/index.asp?main=task&id_task=16