Курс починається з базового знайомства. Студенти дізнаються, що таке алгоритми та структури даних. Тут пояснюють, як оцінювати складність алгоритмів - що це таке і навіщо потрібно. Цей модуль дає фундамент для всього подальшого навчання.
Наступний крок - масиви. Розглядають статичні та динамічні масиви. Студенти вчать основні операції з масивами та аналізують їхню ефективність. Практика включає розв'язання задач з LeetCode та розбір реальних кейсів. Після цього модуля можна впевнено працювати з масивами різної складності.
Далі йдуть зв'язані списки, стеки та черги. Студити вчать створювати ці структури на основі масивів чи списків. Практичні заняття охоплюють роботу з Deque та ArrayDeque. Особлива увага приділяється рекурсії - від основ до хвостової рекурсії. Кожну тему закріплюють задачами з LeetCode.
Цей блок присвячений класичним алгоритмам. Вивчають різні методи пошуку та сортування - включаючи сортування злиттям і швидке сортування. Розглядають гібридні підходи та бібліотечні рішення. Студенти навчаються вибирати оптимальний алгоритм для конкретної задачі та застосовувати його на практиці.
Модуль про дерева починається з основ - бінарні дерева пошуку, методи обходу, робота з вузлами. Потім переходять до складніших тем: збалансовані дерева, купи (Heap) та спеціальні дерева. Кожен тип структур розглядають через практичні задачі - пошук предків, визначення діаметра, робота з гілками.
Графи вивчають у двох частинах. Спочатку - основи представлення графів (матриці, списки суміжності). Потім - алгоритми обходу та пошуку найкоротшого шляху. Практика включає розв'язання типових задач на графи, що часто зустрічаються на співбесідах.
Модуль пояснює принципи роботи хеш-функцій та хеш-таблиць. Студенти вчать застосовувати ці структури для ефективного розв'язання задач. Практичні заняття допомагають зрозуміти, коли використання хеш-таблиць є оптимальним вибором.
Завершальний теоретичний блок охоплює динамічне програмування та жадібні алгоритми. Студенти вчать розпізнавати задачі, які вирішуються цими методами. Практика включає оптимізацію часу виконання та використання пам'яті. Розглядають різні підходи до розв'язання складних алгоритмічних проблем.
Фінальний модуль готує до технічних інтерв'ю. Студенти дізнаються про структуру кодинг-інтерв'ю та отримують поради щодо підготовки. Вчать декомпозувати задачі, швидко знаходити рішення та ефективно працювати в умовах обмеженого часу. Завершується курс сесією питань та відповідей.
Курс зосереджений на практичному застосуванні алгоритмів. Теорія immediately закріплюється розв'язанням задач з LeetCode. Трьом найкращим студентам лектор проводить пробне технічне інтерв'ю чи особисту консультацію. На протязі всього курсу доступна допомога ментора. Після успішного завершення видається сертифікат.