27 занятий
8 июня
30 студентов
О курсе
Добро пожаловать в настоящее программирование!



Опыт с Facebook от студента курса Александра Савсуненко

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

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

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

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

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

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

— Студентам первых курсов технических вузов для углубления знаний в сфере алгоритмики и программирования.
Куратор
Иван Петрушенко
Senior Software Engineer в компании Fiverr. Более 8 лет опыта опыта разработки высоконагруженных систем и алгоритмов для проектов компаний Ring и Dell.


Программа курса
Акцент на практическом инструментарии, необходимый минимум теории. Постоянный фидбек. Масса практических заданий по работе с реальными задачами. Выпускной проект.
Введение. Математические основы анализа алгоритмов
Определение асимптотики, оценка времени работы и затраченной памяти.
Как, не запуская код, понять время его выполнения.
Модели вычислений. Работа с процессором и кэшом
Низкоуровневые оптимизации на примере библиотек 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.
Партнер курса
Партнер курса Fiverr предоставляет стипендии 2 лучшим студентам по итогам курса.
Вопросы
Занятия будут проходить 2 раза в неделю в формате вебинаров, то есть в режиме реального времени. Поэтому рекомендуем заранее выделить время на обучение ;)
Да, вам будут доступны записи занятий, но вы получите намного больше пользы, если будете присутствовать именно в момент проведения. На занятиях будет мало теории, зато много дискуссий внутри группы и практики.
Да, при условии выполнения домашних заданий и выпускного проекта.
До 3-го занятия мы сможем вернуть всю сумму обучения.
Регистрация
Сейчас открыт набор в группу, которая стартует 8 июня 2021. Зарегистрируйтесь — и вам на почту придёт письмо с тестовым заданием.