×

Алгоритмика. Продвинутый курс (подія в архіві)

Состоялось
2 декабря 2018 (воскресенье)
Место
Киев, ул. Воздвиженская, 34А, Projector
Стоимость
9000 грн/мес.

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

Мало кто задумывается о пользе алгоритмов до тех пор, пока не придется изобретать свой велосипед и решать задачи, выходящие за рамки «очередного CRUD».

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

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

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

Для выполнения домашних заданий и курсового задания подойдет любой популярный высокоуровневый компилируемый или JIT-компилируемый язык программирования. Но больше пользы для себя вы получите, если будете писать на языках уровня C++/C#/Java/Go/Rust etc, поскольку более высокоуровневые (Python/JS etc) скрывают некоторые важные детали реализации.

9 000 грн/мес. Оплачивайте курс помесячно или целиком (со скидкой 5%), возможна оплата в рассрочку
27 занятий. 2 раза в неделю. По вторникам 19:30–21:30 и воскресеньям 11:00–14:00
14 мест. Мы уделяем внимание каждому студенту курса. Поэтому количество мест ограничено

Преподаватель

Дмитрий Кордубан

Программист с глубоким знанием математики и алгоритмов, 14 лет опыта. Работал во Viewdle, Google, CartFresh.com. Преподавал курс алгоритмов в киевском филиале ШАД Яндекса. Победитель студенческого чемпионата Украины по программированию, финалист ACM ICPC 2009.

Facebook

Кому будет полезно

● Программистам, которые которые хотят изучить алгоритмы и научиться применять их для решения сложных задач в области биоинформатики, компьютерной геометрии, криптографии, разработки игр, комбинаторной оптимизации и построения компиляторов.
● Разработчикам, которые хотят обрести уверенность при прохождении алгоритмических собеседований на работу в софтверных гигантах.
● Студентам 3-4 курсов компьютерных специальностей, которые хотят изучить алгоритмы уровня Harvard’s CS 224/MIT’s 6.854 и выше.
● Выпускникам курса «Алгоритмика. Основы».
● Всем, кто фанатеет от алгоритмов и хочет бросить вызов себе.

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

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

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

  1. Сбалансированные двоичные деревья поиска (BST).
  2. Splay-деревья. Амортизационный анализ методом потенциалов.
  3. Персистентные BST. Быстрые 2D запросы на прямоугольниках.
  4. Heavy-Light декомпозиция.
  5. Быстрые запросы «минимум на отрезке» (RMQ)/"наименьший общий предок" (LCA). Метод «четырех русских».
  6. Структуры данных для динамической связности в графах.
  7. Задача о максимальном потоке/минимальном s-t разрезе.
  8. Максимальный поток минимальной стоимости.
  9. Линейное программирование. Двойственность.
  10. Суффиксный массив. Суффиксное дерево. Сложные задачи на строках.
  11. Быстрое преобразование Фурье (FFT). Связанные алгоритмы.
  12. Теоретико-числовые алгоритмы: тесты на простоту, факторизация, нахождение дискретного логарифма.
  13. Приближенный поиск ближайших соседей с помощью Locality-sensitive hashing (LSH).
  14. Основы теории сложности. Теорема Кука. Что значит P≠NP?

Зарегистрироваться

Google Calendar iCal
👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі