Алгоритмизация: от условия к эффективному решению

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

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

  • Разбирать условие задачи и выделять важные ограничения
  • Оценивать время работы и дополнительную память алгоритма с помощью Big O
  • Выбирать подход к задаче и сравнивать несколько решений
  • Строить алгоритмы для задач на массивы и последовательности
  • Применять динамическое программирование и находить переходы между состояниями
  • Проверять решение на крайних случаях
  • Объяснять, почему алгоритм работает и укладывается в ограничения

О курсе

Знать синтаксис языка - ещё не значит сразу видеть решение задачи. На курсе мы будем учиться переходить от условия к алгоритму: замечать закономерности, выбирать подход и оценивать, подойдёт ли он под ограничения.

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

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

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

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

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

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

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

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

Каждая тема начинается с текстовой теории и примеров. Затем вы отвечаете на вопросы с выбором ответа и решаете задачи с автоматической проверкой. В задачах доступны подсказки; после самостоятельной попытки можно изучить разбор вти аорское решение. Проходить материалы можно в собственном темпе.

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

В курс входят

  • 8 уроков
  • 9 тестов
  • 10 интерактивных задач
загружаем...

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

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

  • Структурированную теорию по алгоритмизации
  • Практику на классических задачах
  • Автоматическую проверку ответов
  • Подсказки к заданиям
  • Авторские разборы и решения
  • Приёмы для самостоятельного решения новых задач

Сколько стоит обучение

Бесплатно

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

Бесплатно