Занятие 1
- Краткая история С++
- Назначения языка программирования
- Компиляторы, интерпретаторы, линковщики
- Знакомство с IDE
- Структура программы на языке С++
- Полезная литература
- Практика:
- Установка IDE
- Пишем 1-ю программу на С++
- Домашнее задание
Занятие 2
- Системы контроля версий
- Review кода
- Системы счисления
- Представление информации в компьютере
- Базовые типы данных
- Переменные
- Операции
- Выражения
- Практика:
- Регистрация на GinHub
- Выкладывание кода в gerrit
- Написание программ, выполняющих операции ветвления
- Домашнее задание
Занятие 3
- Отладка программ, gdb
- Преобразование типов
- Условные операторы
- Циклы
- Блок операторов
- Практика:
- Написание программ вычисления математических рядов
- Домашнее задание
Занятие 4
- Функции
- Рекурсия
- Функции ввода и вывода данных
- Практика:
- Написание функций, выполняющих логические операции и вычисления математических рядов
- Написание программы «Ханойские башни», решение через рекурсию
- Домашнее задание
Занятие 5
- Введение в тестирование
- Модульное тестирование Gtest
- Указатели. Операции работы с указателями
- Массивы
- Строки
- Практика:
- Установка и наладка Gtest
- Написание программ преобразования матриц
- Написание программ преобразования строк
- Домашнее задание
Занятие 6
- Динамическое выделение памяти.
- Перечисления, Объединения, Битовые
- Структуры данных
- Работа с файлами
- Практика:
- Разработка программы работы с фалами и записью и чтением данных - «База данных»
- Домашнее задание
Занятие 7
- Контрольная работа
Занятие 8
- Препроцессор, макросы
- #define
- #include
- #ifdef
- #endif
- #pragma
- #line
- #, ##
- #error
- #warning
- GNU make
- Знакомство с make-файлами.
- Создание make-файлов.
- Составление правил.
- Написание команд.
- Использование переменных.
- Запуск make.
- Кроссплатформенная компиляция
- Практика:
- Сборка программы «База данных» для разных операционных систем
- Домашнее задание
Занятие 9
- Сложность алгоритмов
- Сортировка
- Поиск
- Структуры данных
- Практика:
- Реализация вектора на языке Си.
- Реализация дерева на языке Си.
- Домашнее задание
Занятие 10
- Ссылки
- Понятие ООП
- Понятие класса
- Спецификаторы доступа
- Конструкторы, деструкторы
- Практика:
- Реализация списка на языке Си.
- Реализация очереди на языке Си.
- Домашнее задание
Занятие 11
- Методы класса
- Операторы класса
- Move семантика
- Практика:
- Реализация строки на языке С++
- Домашнее задание
Занятие 12
- Сдача курсового проекта
- Подведение итогов
- Куда двигаться дальше?
Contacts