Алгоритмическое программирование на Си
Для кого этот курс?
Что мы делаем на занятиях
Си — язык, на котором написано то, чем мы пользуемся каждый день. Ядра Linux, UNIX и Windows, драйверы, библиотеки для работы с оборудованием, прошивки устройств. Это фундамент, а не надстройка.
И он же прародитель большинства современных языков — от C++ и Java до PHP и JavaScript. Тот, кто освоил Си, переходит на любой из них почти без усилий: синтаксис узнаваем, а понимание того, что происходит под капотом, уже никуда не денется.
Программу курса составил Дмитрий Мартынов — член жюри заключительного этапа Всероссийской олимпиады школьников по информатике, директор школы робототехники «Роболатория». Курс построен так, как готовят к олимпиадам: не пересказ учебника, а разбор того, что реально требуется на задачах — и в каком порядке это укладывается в голове.
Курс из двух частей по 14 занятий.
Часть 1. Программирование на Си
Часть 2. Эффективные олимпиадные алгоритмы на Си
Отдельно учим двум вещам, которых нет в учебниках. Первая — читать чужой код: взять незнакомую программу и объяснить, что она делает. Вторая — отлаживать: пошаговое выполнение, точки останова, просмотр переменных. Не гадать, почему программа выдаёт не то, а находить причину.
Си не прощает небрежности — и в этом его ценность для школьника. Забыл про тип, вышел за границу массива, не освободил память — программа сломается. Язык приучает к аккуратности гораздо жёстче, чем среды, где всё делается за тебя.
Формат — онлайн, 28 занятий по 90 минут. Всё необходимое ПО бесплатно и ставится на домашний компьютер, поэтому заниматься можно из любого города.
Каждая часть заканчивается олимпиадной работой с разбором решений в группе: сравниваем подходы, обсуждаем эффективность и читаемость кода. Разбираем, как устроены школьные олимпиады по информатике и как готовиться дальше.
И он же прародитель большинства современных языков — от C++ и Java до PHP и JavaScript. Тот, кто освоил Си, переходит на любой из них почти без усилий: синтаксис узнаваем, а понимание того, что происходит под капотом, уже никуда не денется.
Программу курса составил Дмитрий Мартынов — член жюри заключительного этапа Всероссийской олимпиады школьников по информатике, директор школы робототехники «Роболатория». Курс построен так, как готовят к олимпиадам: не пересказ учебника, а разбор того, что реально требуется на задачах — и в каком порядке это укладывается в голове.
Курс из двух частей по 14 занятий.
Часть 1. Программирование на Си
- ⌨️ База языка — типы данных, ввод-вывод, операции и преобразования, ветвления, все три вида циклов.
- 🧩 Функции — как разбить программу на части, чтобы её можно было читать и чинить.
- 📊 Массивы, матрицы и строки — база олимпиадных задач: поиск, перебор, обработка таблиц и текста.
- 🎯 Указатели — самая важная тема части. Здесь ребёнок впервые видит, что переменная лежит по конкретному адресу в памяти, и понимает, почему Си даёт такой контроль над машиной.
- 🗂️ Структуры и препроцессор — собственные типы данных, директивы, разделение программы на файлы.
Часть 2. Эффективные олимпиадные алгоритмы на Си
- ⏱️ Сложность алгоритмов — почему решение, верное на маленьком тесте, не проходит по времени на большом.
- 🔎 Сортировки и бинарный поиск — включая поиск по ответу, один из главных олимпиадных приёмов.
- ➕ Префиксные суммы, два указателя, жадные алгоритмы — как превратить перебор за минуты в решение за доли секунды.
- 🧮 Динамическое программирование — от простых рекуррентных задач до рюкзака и наибольшей возрастающей подпоследовательности.
- 🕸️ Теория чисел, стек и очередь, графы — решето Эратосфена, поиск в ширину и в глубину, алгоритм Дейкстры.
Отдельно учим двум вещам, которых нет в учебниках. Первая — читать чужой код: взять незнакомую программу и объяснить, что она делает. Вторая — отлаживать: пошаговое выполнение, точки останова, просмотр переменных. Не гадать, почему программа выдаёт не то, а находить причину.
Си не прощает небрежности — и в этом его ценность для школьника. Забыл про тип, вышел за границу массива, не освободил память — программа сломается. Язык приучает к аккуратности гораздо жёстче, чем среды, где всё делается за тебя.
Формат — онлайн, 28 занятий по 90 минут. Всё необходимое ПО бесплатно и ставится на домашний компьютер, поэтому заниматься можно из любого города.
Каждая часть заканчивается олимпиадной работой с разбором решений в группе: сравниваем подходы, обсуждаем эффективность и читаемость кода. Разбираем, как устроены школьные олимпиады по информатике и как готовиться дальше.
Чему научится ребенок?
Писать на Си понятные программы и работать со сложными данными: массивы, строки, структуры, указатели
Оценивать сложность решения и выбирать эффективный алгоритм под ограничения задачи
Решать олимпиадные задачи на сортировку, бинарный поиск, динамическое программирование и графы
Какие навыки получит ребенок?
Алгоритмическое мышление: разложить задачу на шаги и выразить их в коде
Навык организации программы через функции, препроцессор и разделение на файлы
Грамотная работа с типами данных и их преобразованиями — основа надёжного кода
Соревнования и конкурсы
В процессе обучения по курсу ребенок сможет принять участие в следующих соревнвоаниях и конкурсах
Всероссийская олимпиада школьников по информатике
Промежуточная и итоговая олимпиадные работы с разбором решений в группе
Продолжительность курса?
28 занятий по 2 академических часа
Максимальное кол во человек в группе:
12 человек
Расписание групп
онлайн · 1 группаДень
Время
Цена занятия