- Развитие языков программирования.
- Понятие ЖЦ ПО. Развитие стандартов.
- Каскадная модель ЖЦ.
- Спиральная модель ЖЦ.
- V-образная модель ЖЦ.
- Динамические структуры данных. Списки. Реализация списков в ядре Linux.
- Динамические структуры данных. Стеки, очереди.
- Динамические структуры данных. Деревья. Бинарные деревья поиска.
- Квадратичные сортировки: пузырьком, выбором, вставками. Сортировка подсчётом.
- Быстрая сотировка. Сортировка слиянием. Сортировка двоичным деревом.
- Радикс сортировки. Прямая радикс, радикс обменом.
- Поиск подстроки в строке. Наивный алгоритм. Создание конечного автомата для поиска шаблона.
- Поиск подстроки в строке. Алгоритм Кнута-Морриса-Пратта.
- Поиск подстроки в строке. Алгоритм Бойера-Мура-Хорспула.
- Поиск подстроки в строке. Алгоритм Рабина.
- Поиск подстроки в строке. Двоичный bitap алгоритм.
- Сжатие без потерь. RLE.
- Сжатие без потерь. LZ77.
- Сжатие без потерь. Статический код Хаффмана.
- Сжатие без потерь. Динамический код Хаффмана - алгоритм Виттера.
- Предварительная обработка данных. Move-to-Front.
- Предварительная обработка данных. Burrows-Wheeler Transform.
- Работа с системой контроля версий git и репозиториями github.
- Методологии работы с git.
- Качество ПО. Стандарты, характеристики, атрибуты.
- Основы тестирования ПО согласно ISTQB.