Чему вы научитесь
- Применять существующие алгоритмы на практике, а также разрабатывать свои модификации
- Понимать глубокие детали алгоритмов
- Анализировать время работы и объем потребляемой памяти алгоритмов
- Эффективно отлаживать код с помощью стресс-тестирования
- Реализовывать алгоритмы на Python и C++
- Предсказывать ожидаемую сложность алгоритма по ограничениям задачи
- Работать с многомерными массивами
- Применять и реализовывать техники префиксных сумм к многомерным массивам
- Применять и реализовывать технику дискретной производной
- Работать с модифицированными стеком и очередью
- Применять и реализовывать метод многих указателей
- Применять и реализовывать рекурсию на практике
- Применять и реализовывать параллельный бинарный поиск
- Применять и реализовывать технику "разделяй и властвуй"
- Применять и реализовывать базовые строковые алгоритмы
- Применять и реализовывать хеш-таблицы
- Применять и реализовывать разреженные таблицы
- Решите финальный контест для закрепления полученных знаний по всем темам курса
- Изучите базовые математические алгоритмы, широко используемые в олимпиадах и криптографии
О курсе
Алгоритмы на C++ и Python: с нуля до уверенного владения. Часть 1
Это первая часть серии курсов по изучению алгоритмов и структур данных
Цели курса:
- Сформировать навыки применения алгоритмического мышления для решения сложных технических задач и оптимизации кода.
- Сформировать комптенции эффективной отладки идеи вашего решения, а также ее реализации.
- Расширить алгоритмический кругозор.
- Сделать доступными глубокие детали в том числе самых базовых алгоритмов.
- Научить решать базовые алгоритмические задачи.
Последовательность изложения
Темы выстроены в наиболее простом для понимания порядке. Каждый модуль рассказан, разобран и подкреплен задачами на основе многолетнего олимпиадного опыта автора так, чтобы у ученика возникло полное понимание алгоритма, а также пришло осознание наиболее важных тонкостей и деталей рассматриваемой темы.
Визуализация и разборы
Теоретические блоки содержат не только текст, но также наглядные визулазиации и разборы алгоритмов на конкретных нетривиальных примерах.
Для многих алгоритмов будет приложен инструмент для интерактивной визулазиации. Ученики смогут рассматривать не только предложенные теоретические примеры, но и рассматривать собственные случаи.
Разборы всех задач представляют из себя не просто набор утверждений, которые по какой-то причине должны были возникнуть у ученика в голове, а последовательность рассуждений, идей и визуализаций, которые зарождаются по мере решения задачи, и по итогу приводят к результату в виде успешно сданной задачи и очередному осознанному алгоритму.
Библиотека
Всем ученикам курса будет доступна авторская библиотека алгоритмов на Python и C++, протестированная на десятках тысяч олимпиадных задач со строгими ограничениями по времени и памяти. Ее можно использовать при написании олимпиад или внедрять ее части в свои проекты.
Конспект
По окончании курса ученикам будет доступен конспект по всем материалам курса. Время прочтения конспекта - 10 минут
Поддержка
В случае возникновения трудностей ученики смогут получить ответы на вопросы в комментариях к степам или в нашем закрытом сообществе.
Чтобы узнать подробности, а также оперативно узнавать новости о выходе новых курсов или об обновлениях существующих присоединяйтесь к официальному телеграм-каналу "Polaris" по ССЫЛКЕ
В процессе прохождения курса ученики будут:
1. Изучать теорию, разбитую на смысловые блоки-степы. Блок - это текстовый кусочек информации с иллюстрацией и интерактивным разбором примеров.
2. Решать подводящие задачи дла закрепления особенностей алгоритмов
3. Рассматривать интерактивные визуальные примеры для более глубокого понимания
4. Решать задачи на программирование с автоматическими тестами
Курс будет состоять из следующих модулей:
- Введение
- Базовая математика
- Базовые структуры данных и их модификации
- Методы эффективного тестирования и отладки
- Базовые алгоритмы и их модификации
- Строки
- Хеш-таблицы
- Разреженные таблицы
- Финал
На данный момент курс содержит следующие модули, которые будут постепенно пополняться:
- Введение
- Базовая математика
Для кого этот курс
Начальные требования
Базовое знание Python ИЛИ C++ (достаточно владеть лишь одним языком на базовом уровне).
Базовое знание школьной математики.
Наши преподаватели
Как проходит обучение
Курс разделен на модули. В каждом модуле разобрана теория. Теория разделена на несколько текстовых степов с иллюстрациями. Теория подкрепляется вспомогательными тестами и небольшими задачами для закрепления материала. После блоков с теорией располагаются блоки с задачами на программирование. Каждая задача сопровождается подсказками, разбором, а также авторским кодом. В случае возникновения трудностей ученики cмогут получить ответы на вопросы в комментариях или в закрытом сообществе.
Программа курса
Что вы получаете
- Навыки реализации и анализа базовых алгоритмов.
- Полный конспект, прочитав который в течение 10 минут, можно вспомнить все темы и идеи курса.
- Авторская библиотека алгоритмов на Python и C++, протестированная на множестве олимпиадных задач, которую можно применять при написании олимпиад или в собственных проектах.
- Поддержку преподавателя в течение 24-х часов.
- Доступ к материалам курса без ограничения по времени.