Development Алгоритмика

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

О курсе

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

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

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

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

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

28 сентября курс длится 3 месяца
8000 грн/мес оплачивайте курс помесячно или целиком (со скидкой 5%)
30 мест каждый студент получает регулярный фидбек от куратора группы

Куратор

Иван Петрушенко

Tech Lead в компании SQUAD.
Более 8 лет опыта разработки высоконагруженных систем.

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

Введение. Математические основы анализа алгоритмов

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

Модели вычислений. Работа с процессором и кэшом

Низкоуровневые оптимизации на примере библиотек Facebook/Twitter.

Задача поиска. Инвариант цикла

Бинарный поиск в продакшн: Git, Elasticsearch.

Корневая идея. Задача сортировки.

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

Куча. Сортировка кучей

Напишем простой event-loop и поговорим про реализацию key-value store с ttl.

Рекурсия

Использование хвостовой рекурсии. Поймем, как работает перебор комбинаторных объектов в модуле itertools стандартной библиотеки Python или next_permutation в C++.

Амортизационный анализ. Связный список. Стек. Очередь

Поговорим о стратегиях реалокации данных и как в списке искать за log.

Жадные алгоритмы

LRU cache. Huffman coding. Interval scheduling.

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

Diff utility, spelling correction, db query optimisation, «Did you mean ... ?» feature, routing algorithms in Maps и много других задач.

Графы и их представление. Поиск в глубину и ширину

Как хранить в памяти весь Twitter и написать Garbage collector.

Алгоритмы решения задачи о кратчайших путях на графе

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

Хеш-таблицы и хеш-функции. Фильтр Блума

Напишем свою хеш-таблицу и посмотрим как это сделал Google.

Алгоритмы на строках

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

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

Включая MST, Trie, Treap и Rope.

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

Живые занятия

Все занятия проходят в формате вебинаров с куратором (они также будут доступны вам в записи). По вторникам в 19:30 и по воскресеньям в 11:00. Занятия проходят в Zoom.

Real-life задания

У нас действует Practicult — культ практики. Поэтому вы будете делать много сложных домашек из реальных рабочих будней. Have fun & survive.

Курсовой проект

Во время курса вы сделаете большой проект. Ведь принцип курса — все как в жизни.

Unlimited фидбек

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

Сертификат за дело

Выдаем только тем, кто своим потом, временем и силами его заслужил.

ГРАФИК

Прием заявок

до 5 июня

Старт занятий

8 июня

Занятия

по вторникам и воскресеньям

Кейсы

PROJECTOR MAG «Половина інтерв'ю від Facebook були про те, що я вчив у Проджі»: історія випускника «Алгоритміка. Основи»
PROJECTOR MAG Як прожити 3 місяці в режимі «їсти, кодити, страждати, спати»

Кому подходит курс

Программистам

с небольшим опытом в алгоритмах или почти без него.

Работающим программистам,

которые хотят укрепить фундамент и заполнить пробелы, мешающие росту (в том числе — карьерному).

Студентам

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

Вопросы

Как будут проходить занятия?

Занятия будут проходить 2 раза в неделю в формате вебинаров, то есть в режиме реального времени. Поэтому рекомендуем заранее выделить время на обучение ;)

Как происходит коммуникация на курсе, и в каком формате куратор дает фидбек?

Вся коммуникация на курсе проходит на платформе Slack (рабочий чат группы, каналы для домашних заданий и полезных ссылок). Фидбек от куратора будет в виде комментариев на домашние задания и обсуждения на вебинарах.

Можно ли смотреть занятия в записи?

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

А сертификат будет?

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

Что, если мне не понравится?

До 3-го занятия мы сможем вернуть вам всю сумму за обучение, если вы передумаете.

Регистрация

Остались вопросы?
Не стесняйтесь их задавать.

Проконсультируйте меня