Чему вы научитесь
- Разберётесь с основными алгоритмическими приёмами, использующимися для решения большинства вычислительных задач. Мы подробно разберём такие техники, как жадные алгоритмы, метод "разделяй и властвуй" и динамическое программирование.
- Научитесь оценивать время работы алгоритмов. Мы наглядно продемонстрируем, как оценить, с какой скоростью растёт время работы алгоритма, и как понять, сколько будет работать алгоритм на больших данных, даже не запуская его.
- Потренируетесь писать эффективный и надёжный код на вашем любимом языке программирования: C++, Java, Python, C, C#, Go, Haskell, Javascript, Kotlin, Ruby, Rust, Scala, или TypeScript.
- Будете применять эффективные техники тестирования и отладки кода. Ваши решения будут проверяться на десятках тщательно подобранных тестов.
- Потренируетесь решать алгоритмические задачи с собеседований. Мы подобрали задачи так, чтобы они покрывали самые распространённые техники, использующиеся для решения задач с собеседований.
- Попрактикуетесь читать и писать по-английски — этот навык для программиста не менее важен, чем умение программировать. Все материалы курса приводятся на английском, вопросы на форуме можно задавать как по-английски, так и по-русски.
О курсе
Решайте задачи с алгоритмических собеседований на любом языке программирования! Мы поможем вам с этим: для каждой задачи мы приводим серию подсказок, подробное решение и код на Python.
Для кого этот курс
Пройдите этот курс, чтобы подготовиться к алгоритмической секции собеседования или просто хорошо разобраться в алгоритмах.
Начальные требования
Базовое знание хотя бы одного языка программирования. Для всех задач мы приводим решение на языке Python.
Преподаватели курса
Как проходит обучение
Мы тщательно отобрали задачи для этого курса, чтобы помочь вам разобраться с основными алгоритмическими идеями — в частности, теми, которые используются в большинстве задач на алгоритмических секциях собеседований. Чтобы вы не просто запомнили, как решаются такие задачи, а именно научились их решать, мы также подготовили набор интерактивных алгоритмических головоломок, которые помогут вам самостоятельно дойти до важных идей.
Сертификат
Успешно завершив курс, вы получите сертификат от платформы Stepik. Уже 88 учеников получили сертификат.
Что вы получите
- 30 задач на программирование, которые можно сдавать на любом языке программирования. К каждой задаче мы приводим подробное решение и код на Python.
- 30 алгоритмических задач с собеседований. К каждой задаче мы приводим серию наводящих вопросов, которые постепенно приводят к решению.
- Возможность общаться с авторами книги на форуме. Мы отвечаем на все вопросы в течение суток.
- Возможность сравнить своё решение с решениями других слушателей курса. Это позволит вам учиться друг у друга и увидеть, как ту же задачу можно было решить короче или на другом языке программирования.
- Сертификат и персональное рекомендательное письмо от авторов.
Нагрузка
8 часов в неделю