Тема | Академических часов |
Блок 1. Введение в объектно-ориентированное программирование | |
Основные положения ООП Основные компоненты объектно-ориентированной парадигмы: абстракция, инкапсуляция, наследование, полиморфизм Классы Конструкторы и деструкторы Конструктор по умолчанию Конструктор копирования | 3 |
Блок 2. Классы. Исключения | |
Доступ к членам класса Спецификаторы доступа к членам класса Друзья класса Встроенные функции-члены класса Статические члены класса Обработка исключений | 3 |
Блок 3. Операторы | |
Перегрузка операторов. Общие правила перегрузки операторов Перегрузка унарных операторов. Перегрузка оператора присваивания = Перегрузка операторов присваивания +=, -=, *=, /=, %= Перегрузка оператора индексирования[] Перегрузка операторов ++ и -- Перегрузка бинарных операторов Перегрузка операторов >> и << для ввода/вывода объектов в/из потоков | 4 |
Блок 4. Наследование | |
Определение наследования Доступ к членам базового класса из производного класса Конструкторы, деструкторы и наследование | 3 |
Блок 5. Виртуальные функции | |
Понятие виртуальной функции Полиморфизм и позднее связывание Абстрактные классы Множественное и виртуальное наследование | 3 |
Блок 6. Ввод/вывод | |
Организация ввода-вывода Файловый ввод-вывод Текстовые файлы Бинарные файлы | 2 |
Блок 7. Шаблоны и библиотеки | |
Шаблоны функций Шаблоны классов Стандартная библиотека С++ STL | 6 |
Блок 8. Списки | |
Списковые структуры и основные операции Однонаправленные и двунаправленные списки Основные операции обработки списков: создание, добавление, удаление, корректировка элементов Рекурсивные алгоритмы | 5 |
Блок 9. Строки и обобщенные алгоритмы | |
Класс string Создание и инициализация строк С++ Операции со строками Поиск в строках Абстрагирование функций Объекты функций Сортировка, заполнение интервалов, копирование и перестановки, поиск и замена, удаление элементов, операции с кучей | 4 |
Блок 10. Контейнеры | |
Обобщенные контейнеры Абстрактные структуры данных Контейнеры и итераторы Классификация итераторов Последовательные контейнеры: вектор, дек, список Базовые операции в последовательных контейнерах Контейнеры: стек, очередь, приоритетная очередь Ассоциативные контейнеры: множество(set, multiset), отображение (map, multimap) | 4 |
Блок 11. Введение в Ассемблер | |
Команды и операнды в языке Ассемблер Основные способы адресации оперативной памяти, форматы команд Арифметические команды Реализация вычислений на языке низкого уровня, особенности операций над целыми числами Команды манипулирования данными Использование стека Реализация базовых управляющих структур на языке Ассемблер Построение разветвлений Организация циклических структур Обработка чисел | 10 |
Блок 12. Структурные данные | |
Массивы, множества, операции над ними Представление множества, массива в оперативной памяти, адресация, индексирование Основные операции, примеры реализации алгоритмов на языке низкого уровня | 4 |
Блок 13. Битовая информация | |
Двоичная арифметика Обработка битовой информации, команды сдвига и логические команды Команды обработки строк Строковые операции Обработка последовательностей элементов по схеме память-память Префикс повторения | 7 |