Онлайн-занятия с преподавателем · 5–11 классы

Олимпиадная информатика

Углубленная подготовка к олимпиадам и экзаменам по информатике: математика, алгоритмы, программирование и проекты.

C++ · Python · Java

Ученица занимается за ноутбуком

Индивидуальная траектория

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

Занятия ведет автор курса

Живые онлайн-занятия с преподавателем: разбор сложных тем и задач, проверка решений и корректировка маршрута.

Гибкий формат и оплата

Можно начать в любое время, делать перерывы и выбирать интенсивность: от 1 до 3 занятий в неделю.

Оплата только за проведенные занятия.

Автор и преподаватель курса

Айрат Ишимбаев
Айрат Ишимбаев

Более 20 лет в образовании: от учителя информатики до руководства масштабными проектами.

Яндекс

Руководил разработкой курсов по информатике для школьников 7–9 классов.

Университет Иннополис

Разрабатывал вступительные испытания и курсы по олимпиадной информатике и программированию.

Сириус

Работал экспертом конкурса «Большие вызовы» и менеджером образовательной программы Data Science совместно с Яндекс и Тинькофф.

Алгоритмика

Разрабатывал стандарты по информатике для Министерства образования Азербайджана.

ОЦРВ РЖД

Руководил образовательными проектами для команд по AI, Big Data, блокчейну, тестированию и VR.

Среди учеников: призеры и участники заключительного этапа ВСОШ, студенты МГУ, ВШЭ, СПбГУ и MIT, сотрудники Google, X, Яндекса и других IT-компаний.

Также работал учителем в Новой Школе, International School of Kazan и Республиканском инженерном лицее.

Школьник занимается за ноутбуком

Для кого

Для школьников 5–11 классов, которым нужна база по информатике: для олимпиад, поступления, современных ИТ-направлений и собственных проектов.

Участвовать и побеждать на олимпиадах по информатике

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

Поступить в ведущие российские и мировые университеты

Курс связан с ключевыми темами российской школьной информатики и международных программ Computer Science. Это дает базу для ЕГЭ, олимпиадных задач и дальнейшей подготовки к IB, A Level и AP.

Разбираться в ИТ на уровне разработки решений

Ученики видят, как информатика применяется в машинном обучении, финтехе, биоинформатике, кибербезопасности, играх и научных задачах.

Разрабатывать приложения и игры

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

Своя платформа

Богатый функционал платформы и качественные материалы позволяют проходить большинство тем самостоятельно, что даёт возможность выстраивать для каждого ученика индивидуальную траекторию.

Экран платформы learncs со структурой курса, учебником, тренажерами и видеоразборами
12+ модулей от основ программирования до графов и олимпиадной практики
40+ тренажеров короткая практика для отработки отдельных навыков
700+ задач подборка для индивидуальной траектории и дорешивания

Открытый учебник-справочник

Учебник-справочник дополняет основные материалы на платформе: помогает быстро вспомнить пройденные темы и глубже разобрать текущие. Он открыт для всех, доступен в любое время и работает без регистрации.

Математика

Страницы учебника learncs.ru по математике
Примеры глав: множества, диаграммы Эйлера-Венна, комбинаторика.

Информатика

Страницы учебника learncs.ru по информатике
Примеры глав: логика, системы счисления, кодирование информации.

Программирование

Страницы учебника learncs.ru по программированию
Примеры глав: основы программирования на Java, C++, Python и API библиотек.

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

Школьница занимается онлайн за ноутбуком

Как обучаем

Занятия строятся вокруг деятельности учеников с минимальной лекционной частью, с упором на практику и при активной поддержке преподавателя.

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

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

В программе рассматривается множество примеров и проектов из реальной жизни, ИТ-индустрии и применения в науке.

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

Для облегчения понимания сложных концепций применяется компетентностный подход: следующая тема проходится только после закрепления предыдущих.

Расписание, формат и стоимость

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

Расписание

3 слота в неделю

  • Среда 17:00–19:20
  • Пятница 17:00–19:20
  • Воскресенье 10:00–12:20

Формат

3 блока по 40 минут

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

Стоимость

3000 ₽ за занятие

В конце месяца родители получают счет и краткий отчет о прогрессе ребенка. Платформа, учебник, тренажеры и проверяемые задачи входят в стоимость.

Оплата только за фактически проведенные занятия.

Программа обучения

Курс состоит из модулей, каждый из которых предполагает от 4 до 8 занятий.

Модуль 01 Робот исполнитель
Робот-исполнитель в учебной среде

По окончанию модуля вы сможете:

Установка и настройка программного обеспечения

  • Устанавливать Java, IntelliJ IDEA, скачивать, открывать и запускать учебные проекты в IDE.
  • Реализовывать простые алгоритмы исполнителя в виде программ на Java.

Циклы и ветвления

  • Разрабатывать программы для различных входных условий, используя цикл while, ветвления if else и вложенные условия.
  • Проверять верность своих решений на готовых тестах.
Модуль 02 Графика и анимация
Графика и анимация в учебном проекте

По окончанию модуля вы сможете:

Графика и математика

  • Строить и вычислять положение геометрических фигур на координатной плоскости.
  • Создавать изображения с помощью графической библиотеки.
  • Применять относительные и абсолютные координаты для векторной графики.

Анимация и интерактив

  • Создавать анимации, разрабатывать интерактивные программы и игры, реагирующие на события мыши и клавиатуры.

Исследование и моделирование явлений

  • Применять основы кинематики, такие как скорость, время и расстояние, и исследовать различные явления через разработку и построение математических и компьютерных моделей.
Модуль 03 Основы программирования
Основы программирования и работа в среде разработки

По окончанию модуля сможете:

Основы работы в среде разработки

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

Основы программирования

  • Решать разнообразные практические задачи, отправлять решения на проверку в тестирующую систему и анализировать полученные результаты.
  • Работать с встроенными типами данных, понимать их особенности и области применения.
  • Применять базовые арифметические операции, циклы и условные операторы для решения задач.
  • Решать задачи из области целочисленной арифметики.
Модуль 04 Массивы и строки

По окончанию модуля вы сможете:

Применение массивов для обработки данных

  • Создавать и управлять одномерными массивами для хранения данных одного типа, вводить и выводить элементы массива, осуществлять их обработку, применять методы копирования и поиска в массиве, работать с различными алгоритмами обработки массивов.
  • Создавать двумерные массивы, включая неровные, и использовать их для хранения сложных структур данных, выводить двумерные массивы в виде таблицы, считать сумму элементов и элементов главной диагонали.

Работа с символами и строками

  • Преобразовывать символы в числа и обратно, сравнивать символы, применять операции преобразования регистра и другие методы обработки символов.
  • Создавать, читать и изменять строки с помощью класса String, применять методы для поиска, замены и сравнения строк, а также для работы с подстроками.
Модуль 05 Функции
Функции и рекурсия в программировании

По окончанию этого модуля вы сможете:

Статические методы и библиотеки

  • Определять и управлять статическими методами, реализовывать математические функции, работать с передачей аргументов и возвратом значений.
  • Использовать статические методы в различных программах, работать с библиотеками, включая создание и использование клиентов и API.
  • Учитывать область видимости переменных в контексте статических методов.

Рекурсия

  • Разрабатывать и анализировать рекурсивные программы, включая числа Фибоначчи, алгоритм Евклида и задачу о Ханойских башнях.
  • Учитывать недостатки рекурсии, такие как чрезмерное требование к памяти и избыточные вычисления, и уметь их корректировать.
  • Генерировать изображения с помощью рекурсивной графики.

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

  • Применять динамическое программирование для улучшения эффективности рекурсивных алгоритмов и сокращения времени выполнения за счет мемоизации и табуляции.
Модуль 06 Клеточные автоматы, змейка и моделирование
Клеточные автоматы и моделирование

В этом модуле вы будете заниматься разработкой трех проектов. Каждый из них направлен на практическое применение и закрепление навыков, полученных в предыдущих модулях, таких как работа с массивами, графика и функции.

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

Моделирование явления перколяции и применение метода Монте-Карло

Вы научитесь моделировать явление перколяции, которое описывает прохождение жидкости или газа через пористую среду. Вы будете использовать метод Монте-Карло, статистический метод, позволяющий анализировать сложные системы с использованием случайных выборок.

Игра "Жизнь"

Вы создадите клеточный автомат для моделирования игры "Жизнь", знаменитого математического эксперимента, который исследует динамику населения. В этом проекте вы определите правила рождения, выживания и смерти клеток, создадите интерфейс и визуализацию для наблюдения за эволюцией системы.

Игра "Змейка"

Вы разработаете классическую аркадную игру "Змейка".

Модуль 07 Объектно-ориентированное программирование
Объектно-ориентированное программирование

В этом модуле вы познакомитесь с базовыми принципами ООП, важной концепцией, которая позволит понимать, использовать и создавать сложные программные структуры — фундамент современной программной инженерии.

По окончанию этого модуля вы сможете:

Ссылочные типы данных

  • Использовать классы java.awt.Color, Picture и их API для создания, масштабирования и обработки изображений на пиксельном уровне в RGB-модели.
  • Работать с ссылочными типами данных и их API, включая встроенные в Java классы-обертки для примитивных типов и указатели на массивы.

Создание пользовательских типов данных

  • Создавать типы данных с использованием механизмов Java: классов, модификаторов доступа, конструкторов и методов экземпляра.
  • Проектировать и использовать API для взаимодействия с клиентами созданных классов.
  • Использовать тестовые клиенты для проверки работы конструкторов и методов созданных классов.
  • Разрабатывать и использовать Java-интерфейсы для создания общего набора методов для различных классов.
  • Создавать типы данных и их клиенты для моделирования физических явлений, черепашьей графики, обработки финансовых данных и операций, обработки дат и времени.
Модуль 08 Разработка игр
Разработка игр на курсе

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

Затем вам будет предложено модифицировать и добавить новые механики в игру.

В заключение вы попробуете разработать свою собственную игру или приложение с последующей презентацией группе.

Модуль 09 Введение в алгоритмы и структуры данных
Алгоритмы и структуры данных

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

По окончанию модуля вы сможете:

Стек и очередь

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

Анализ алгоритмов

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

Системы непересекающихся множеств

  • Применять принципы работы систем непересекающихся множеств и динамической связанности для решения алгоритмических задач.
  • Использовать и реализовывать различные методы Union-Find, включая Quick-find, Quick-union и Weighted quick-union с и без сжатия пути.

Анализ и применение

  • Анализировать эффективность различных алгоритмов и структур данных с точки зрения времени выполнения и потребления памяти.
  • Применять полученные навыки в реальных задачах, таких как моделирование явления перколяции и обработка текстовых и графических данных.
Модуль 10 Сортировки
Алгоритмы сортировки

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

На примере сортировок вы научитесь оценивать и сравнивать эффективность алгоритмов по производительности и потреблению памяти.

По окончанию модуля вы сможете:

Элементарные сортировки

  • Реализовывать и применять сортировку выбором и сортировку вставкой.

Сортировка слиянием и быстрая сортировка

  • Применять принцип "разделяй и властвуй" в контексте сортировки слиянием.
  • Реализовать сортировку слиянием сверху вниз с рекурсией и снизу вверх без рекурсии.
  • Реализовать и применять быструю сортировку в различных сценариях, включая работу с порядковой статистикой и повторяющимися ключами.

Очередь с приоритетом

  • Использовать API и основы реализации очереди с приоритетом для решения задач.
  • Реализовать и использовать бинарную кучу и пирамидальную сортировку для работы с очередями с приоритетом.

Практическое применение очереди с приоритетами

  • Оптимизировать расписание задач для минимизации среднего времени выполнения.
  • Строить модели и визуализацию столкновения частиц.
  • Использовать алгоритм A* для нахождения оптимального пути в лабиринтах.
  • Реализовывать алгоритм сжатия данных Хаффмана.
Модуль 11 Поиск
Поиск и структуры данных

Структуры данных, такие как ассоциативные массивы, деревья и хеш-таблицы, являются основой для эффективного поиска и хранения информации. Они используются в банковских системах, медицине, криптовалютах, машинном обучении, информационной безопасности, компьютерной графике и разработке игр.

По окончанию модуля вы сможете:

Ассоциативный массив

  • Работать с API ассоциативных массивов в Java, включая создание, добавление, удаление и поиск элементов.
  • Применять базовые реализации ассоциативных массивов на основе массивов и связанных списков.
  • Осуществлять расширенные операции с ассоциативными массивами, такие как сортировка и фильтрация.

Деревья поиска

  • Понимать принципы работы и осуществлять базовые операции с бинарными деревьями поиска, включая добавление, удаление и поиск элементов.
  • Реализовывать и использовать сбалансированные деревья поиска, такие как 2-3-деревья и красно-черные деревья.

Хеш-таблицы

  • Применять хеш-функции для эффективного хранения данных в хеш-таблицах.
  • Решать проблемы коллизий в хеш-таблицах с использованием метода цепочек.
Модуль 12 Графы
Графы и алгоритмы на графах

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

По окончанию модуля вы сможете:

Основы графов

  • Работать с основными типами графов: неориентированными и ориентированными.
  • Применять базовые алгоритмы обхода и поиска в графах, такие как поиск в глубину (DFS) и поиск в ширину (BFS).

Минимальное остовное дерево

  • Построить минимальное остовное дерево с использованием алгоритмов Краскала и Прима.

Кратчайшие пути

  • Оптимизировать поиск кратчайших путей через релаксацию ребер.
  • Применять алгоритмы Дейкстры и Беллмана-Форда для различных типов графов.
  • Работать с ациклическими графами и понимать, когда использовать специализированные алгоритмы для них.

Частые вопросы

Можно ли начать в середине года?

Да, занятия идут круглый год, поэтому можно начать в любую неделю. Ученик стартует со своего текущего уровня.

Нужно ли уже уметь программировать?

Не обязательно. На первом занятии смотрим текущую подготовку и подбираем стартовые темы. Важно, чтобы ребенку были интересны задачи, программирование и математика.

Как в одной группе занимаются ученики 5-11 классов?

Каждый получает задачи своего уровня и помощь преподавателя.

Сколько раз в неделю лучше заниматься?

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

Что происходит между занятиями?

Ученик работает на платформе: читает теорию, решает задачи, проходит тренажеры и получает автопроверку решений.

Если остались вопросы

По вопросам можно написать автору курса напрямую в Telegram: aishimbaev или заполнить форму в конце страницы, чтобы с вами связались для обсуждения времени консультации.

Отзывы учеников и родителей

Скриншоты отзывов учеников и родителей из learncs.ru

Куда поступили выпускники курса

  • Логотип МГУ имени М. В. Ломоносова
  • Логотип факультета компьютерных наук ВШЭ
  • Логотип Санкт-Петербургского государственного университета
  • Логотип Университета Иннополис
  • Логотип Massachusetts Institute of Technology
  • Логотип МГТУ им. Н. Э. Баумана

Записаться на занятия

Оставьте имя и контакт для связи. Я свяжусь с вами, чтобы обсудить детали занятий.

Можно также написать мне напрямую Telegram илиMAX