Курс починається з розуміння базових понять - що таке алгоритми та структури даних. Слухачі дізнаються про часову складність алгоритмів та навчаться використовувати О-нотацію для її оцінки. Перший модуль охоплює роботу зі зв'язними списками - як однозв'язними, так і двозв'язними, з практичними прикладами реалізації на C#.
На цьому етапі розглядається робота з динамічними масивами. Слухачі навчаться створювати ArrayList на C#, додавати та видаляти елементи, розуміти політику зростання динамічного масиву та працювати з індексацією.
Модуль присвячений двом фундаментальним структурам даних - стекам та чергам. Курс охоплює реалізацію стека на основі двозв'язного списку з методами Push, Pop, Peek та Count. Також розглядаються черги - звичайні та двозв'язні, з методами Enqueue, Dequeue, Peek та Count. Показано різні способи реалізації - на основі списків та масивів.
Цей блок вчить роботі з деревоподібними структурами. Слухачі навчаться реалізовувати дерева на основі масивів та бінарні дерева пошуку на C#. Модуль включає додавання, видалення та пошук вузлів, а також прямі, зворотні та симетричні обходи дерева. Друга частина модуля присвячена множинам - реалізації класу Set, операціям об'єднання, перетину, різниці та симетричної різниці.
Тут розглядаються основні алгоритми сортування: бульбашкою, вставками, вибором, злиттям, Шелла та швидке сортування. Кожен алгоритм демонструється з поясненням принципу роботи та особливостей реалізації.
Модуль починається з вивчення хеш-таблиць - їх структури, хеш-функцій та способів вирішення колізій. Друга частина присвячена В-деревам - їх реалізації на C#, операціям пошуку, додавання та видалення записів, а також аналізу часу виконання операцій.
Завершальна частина курсу включає роботу з класичними задачами: комівояжера, Ханойські вежі, тріангуляція та рюкзак. Ці завдання допомагають закріпити отримані знання на практиці.
Після завершення курсу слухачі зможуть розбиратися в поширених алгоритмах та структурах даних, оцінювати складність алгоритмів, знати сильні та слабкі сторони різних структур даних. Вони навчаться працювати з графами, реалізовувати складні структури даних та створювати алгоритми сортування, пошуку та обходу дерев.
Курс включає практичні заняття з перевіркою домашніх завдань, безкоштовний відеокурс, онлайн тестування та видачу сертифіката після успішного завершення.