- Тема 1 : Анализ на итеративни алгоритми. Нотации. Алгоритми за сортиране - Bubble sort, Selection sort, Insertion Sort
- Тема 2 : Анализ на рекурсивни алгоритми. Алгоритми за сортиране - Merge sort, Quick sort, Counting sort.
- Тема 3 : Сравнение за време между сортиращи алгоритми. Увод в линейните структури от данни. Абстрактни структури от данни. Динамичен масив.
- Тема 4 : Едносвързан списък. Двусвързан списък.
- Тема 5 : Стек. Опашка. Реализации.
- Тема 6 : Итератори. Приложения. Реализация на итератори за различни структури.
- Тема 7 : Задачи. Упражнение (част 1).
- Тема 8 : Задачи. Упражнение (част 2).
- Тема 9 : Дървета. Двоични дървета. Дървета с произволен брой наследници.
- Тема 10 : Двоично наредено дърво.
- Тема 11 : Приоритетна опашка. Двоична пирамида (Binary heap). Heap sort.
- Тема 12 : Графи. Видове графи. Представяния на графи. Алгоритми за обхождане (BFS/DFS).
- Тема 13 : Алгоритъм за най-къс път в тегловен граф - Dijkstra's algorithm. Алгоритъм за минимално покриващо дърво - Prim's algorithm. Увод в union-find структурата.
- Тема 14 : Структурата Union-find. Алгоритъм за минимално покриващо дърво в граф - Kruskal's algorithm. Търсене на цикъл в граф. Топологично сортиране.
- Тема 15 : Подготовка за контролно 2. Задачи.
- Тема 16 : Хеш-таблици. Хеш-функции. Справяне с колизии.
- Тема 17 : Изпитни задачи.
- Тема : Комбинаторно генериране. Генериране на прости комбинаторни обекти.
- Тема : Сегментни дървета.
- Тема : Многонишково програмиране.