27 занятий
январь 2021
30 студентов
О курсе
Добро пожаловать в настоящее программирование.
Фундамент отличает серьезного разработчика от слабого. Фундамент долго создается, но потом позволяет быстро расти.

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

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

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

Как всегда, мы не обещаем прибыльную работу, быстрый успех и легкий старт. Но гарантируем трудную и интересную учебу, практику и (если приложите усилия) серьезные знания на выходе, которые заметно увеличат вашу конкурентоспособность.
8000 грн/мес
оплачивайте курс помесячно или целиком (со скидкой 5%)
27 занятий
все занятия проходят в формате вебинаров 2 раза в неделю: по вторникам в 19:30 и воскресеньям в 11:00
январь 2021
старт новой группы январь 2021
30 мест
мы уделяем внимание каждому студенту, поэтому количество мест в группе ограничено
Кому будет полезно
— Программистам с небольшим опытом в алгоритмах (или почти без него).

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

— Студентам первых курсов технических вузов для углубления знаний в сфере алгоритмики и программирования.
Куратор
Иван Петрушенко
Senior Software Engineer/Machine Learning Engineer в компании Ring Ukraine. 5 лет опыта разработки высоконагруженных систем и алгоритмов для компании Dell. Курировал курс «Алгоритмы и структуры данных» в компании Softheme.


Программа курса
Акцент на практическом инструментарии, необходимый минимум теории. Постоянный фидбек. Масса практических заданий по работе с реальными задачами. Выпускной проект.
Введение. Математические основы анализа алгоритмов
Как, не запуская код, понять время его выполнения.
Модели вычислений. Работа с процессором и кэшом
Низкоуровневые оптимизации на примере библиотек Facebook/Twitter.
Задача поиска. Инвариант цикла
Бинарный поиск в продакшн: Git, Elasticsearch.
Корневая идея. Задача сортировки
Как были придуманы быстрые сортировки и как эти идеи помогают для решения других задач.
Куча. Сортировка кучей
Напишем простой event-loop и поговорим про реализацию key-value store с ttl.
Рекурсия. Хвостовая рекурсия
Использование tail recursion для уменьшения потребляемой памяти.
Амортизационный анализ. Связный список. Стек. Очередь
Поговорим о стратегиях реалокации данных и как в списке искать за log.
Переборные алгоритмы. Комбинаторные подсчеты
Задача о 8-ми ферзях, решатель судоку.
Жадные алгоритмы
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.
Вопросы
Занятия будут проходить 2 раза в неделю в формате вебинаров, то есть в режиме реального времени. Поэтому рекомендуем заранее выделить время на обучение ;)
Да, вам будут доступны записи занятий, но вы получите намного больше пользы, если будете присутствовать именно в момент проведения. На занятиях будет мало теории, зато много дискуссий внутри группы и практики.
Да, при условии выполнения домашних заданий и выпускного проекта.
До 3-го занятия мы сможем вернуть всю сумму обучения.
Регистрация
Сейчас прием заявок в группу еще закрыт. Зарегистрируйтесь — и мы сообщим вам, как только откроется новый набор :)