Алгоритмы на C++ и Python: с нуля до уверенного владения.Часть 1

Курс для начинающих, желающих освоить алгоритмы для собеседований, отборочных этапов олимпиад и применения в проектах. Теория содержит глубокие модификации алгоритмов и включает интерактивные визуализации. Много практики в виде задач на программирование и подводящих упражнений. Разборы - не набор сложных утверждений,…
Начальный уровень
2-3 часа в неделю

Чему вы научитесь

  • Применять существующие алгоритмы на практике, а также разрабатывать свои модификации
  • Понимать глубокие детали алгоритмов
  • Анализировать время работы и объем потребляемой памяти алгоритмов
  • Эффективно отлаживать код с помощью стресс-тестирования
  • Реализовывать алгоритмы на Python и C++
  • Предсказывать ожидаемую сложность алгоритма по ограничениям задачи
  • Работать с многомерными массивами
  • Применять и реализовывать техники префиксных сумм к многомерным массивам
  • Применять и реализовывать технику дискретной производной
  • Работать с модифицированными стеком и очередью
  • Применять и реализовывать метод многих указателей
  • Применять и реализовывать рекурсию на практике
  • Применять и реализовывать параллельный бинарный поиск
  • Применять и реализовывать технику "разделяй и властвуй"
  • Применять и реализовывать базовые строковые алгоритмы
  • Применять и реализовывать хеш-таблицы
  • Применять и реализовывать разреженные таблицы
  • Решите финальный контест для закрепления полученных знаний по всем темам курса
  • Изучите базовые математические алгоритмы, широко используемые в олимпиадах и криптографии

О курсе

Алгоритмы на C++ и Python: с нуля до уверенного владения. Часть 1

Это первая часть серии курсов по изучению алгоритмов и структур данных

Цели курса:

  1. Сформировать навыки применения алгоритмического мышления для решения сложных технических задач и оптимизации кода.
  2. Сформировать комптенции эффективной отладки идеи вашего решения, а также ее реализации.
  3. Расширить алгоритмический кругозор.
  4. Сделать доступными глубокие детали в том числе самых базовых алгоритмов.
  5. Научить решать базовые алгоритмические задачи.

Последовательность изложения

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

Визуализация и разборы

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

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

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

Библиотека

Всем ученикам курса будет доступна авторская библиотека алгоритмов на Python и C++, протестированная на десятках тысяч олимпиадных задач со строгими ограничениями по времени и памяти. Ее можно использовать при написании олимпиад или внедрять ее части в свои проекты.

Конспект

По окончании курса ученикам будет доступен конспект по всем материалам курса. Время прочтения конспекта - 10 минут

Поддержка

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

Чтобы узнать подробности, а также оперативно узнавать новости о выходе новых курсов или об обновлениях существующих присоединяйтесь к официальному телеграм-каналу "Polaris" по ССЫЛКЕ

В процессе прохождения курса ученики будут:

1. Изучать теорию, разбитую на смысловые блоки-степы. Блок - это текстовый кусочек информации с иллюстрацией и интерактивным разбором примеров.

2. Решать подводящие задачи дла закрепления особенностей алгоритмов

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

4. Решать задачи на программирование с автоматическими тестами

Курс будет состоять из следующих модулей:

  1. Введение
  2. Базовая математика
  3. Базовые структуры данных и их модификации
  4. Методы эффективного тестирования и отладки
  5. Базовые алгоритмы и их модификации
  6. Строки
  7. Хеш-таблицы
  8. Разреженные таблицы
  9. Финал

На данный момент курс содержит следующие модули, которые будут постепенно пополняться:

  1. Введение
  2. Базовая математика

Для кого этот курс

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

Начальные требования

Базовое знание Python ИЛИ C++ (достаточно владеть лишь одним языком на базовом уровне).

Базовое знание школьной математики.

Наши преподаватели

Как проходит обучение

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

Программа курса

загружаем...

Что вы получаете

  • Навыки реализации и анализа базовых алгоритмов.
  • Полный конспект, прочитав который в течение 10 минут, можно вспомнить все темы и идеи курса.
  • Авторская библиотека алгоритмов на Python и C++, протестированная на множестве олимпиадных задач, которую можно применять при написании олимпиад или в собственных проектах.
  • Поддержку преподавателя в течение 24-х часов.
  • Доступ к материалам курса без ограничения по времени.
Price: Бесплатно

Расскажите о курсе друзьям

Price: Бесплатно