Базовый курс С++

php2hCKii

Продолжительность курса — 5 дней

Описание курса:

Курс состоит из 11 занятий общей длительностью в 36 академических часов. В курсе предусмотрено 11 лабораторных работ для самостоятельного усвоения материала. Основной задачей курса является обучение слушателей теоретическим основам объектно-ориентированного программирования, приемам разработки ПО, решения типичных задач программирования и разработки приложений на языке С++.

После изучения курса Вы сможете:

  • Разрабатывать ПО на языке C++
  • Выполнять математические расчеты, решать задачи и реализовывать типовые алгоритмы
  • Разрабатывать консольные приложения в операционной системе Linux

Программа курса:

  • Введение. Немного истории
    • Организация вычислительной системы
    • Организация памяти
    • Языки программирования
    • Машинные языки
    • Языки низкого уровня
    • Языки высокого уровня
    • Трансляторы – компиляторы и интерпретаторы
    • Подходы к разработке ПО
    • Процедурное, модульное, структурное программирование
    • Объектно-ориентированный подход
    • Обобщенное программирование
    • Краткая история С/С++
  • Состав языка
    • Алфавит
    • Основные составляющие языка
    • Идентификаторы
    • Ключевые слова
    • Комментарии
    • Пример простейшей программы на С++
  • Переменные и базовые типы данных
    • Переменные
    • Целочисленные типы
    • Типы с плавающей точкой
    • Логический тип
    • Символьный тип
    • Пустой тип void
    • Модификаторы типов «short», «long», «unsigned», «signed»
    • Константы
    • Объявление и инициализация переменных
    • Глобальные и локальные переменные
    • Приведение типов
  • Основные операции языка С++
    • Операция присваивания
    • Арифметические операции
    • Арифметические операции с присваиванием
    • Логические операции
    • Поразрядные операции
    • Операции проверки равенства/неравенства
    • Инкремент, декремент
    • Условная операция
    • Возвращаемое значение
    • Ассоциативность операций
    • Приоритет операций
  • Операторы языка С++
    • Условный оператор «if else»
    • Оператор выбора «switch»
    • Операторы циклов «for», «while», «do while»
    • Операторы «goto», «break», «continue»
    • Пустой оператор
    • Оператор вызова функции
    • Оператор «sizeof»
  • Функции
    • Понятие функции в С++
    • Оператор «return»
    • Параметры функции
    • Формальные и фактические параметры
    • Передача параметров по ссылке и по значению
    • Рекурсивные функции
    • Шаблоны функций
    • Перегрузка функций
  • Форматированный ввод/вывод
    • Функции ввода/вывода
    • Управляющие последовательности символов
  • Структура программы на языке С++
    • Директивы препроцессора
    • Подключение внешних модулей
    • Порядок компиляции
    • Область видимости определений
    • Макроопределения
    • Функции
    • Функция «main»
    • Тип функции «main»
    • Аргументы командной строки
  • Массивы и указатели
    • Понятие массива
    • Работа с массивами
    • Одномерные и многомерные массивы
    • Указатели
    • Работа с динамической памятью
    • Операции с указателями
    • Массивы указателей
    • Адресная арифметика
    • Операции с указателями
  • Пользовательские типы данных
    • Структуры (struct)
    • Перечисления (enum)
    • Объединения (union)
    • Работа со структурным типом
    • Доступ к полям
  • Динамическая память
    • Работа с динамической памятью
    • Методы работы с динамической памятью
    • Операции «new» и «delete»
    • Динамические структуры данных
    • Список
    • Двусвязные и односвязные списки
    • Очередь
    • Стек
  • Введение в объектно-ориентированное программирование
    • Объектно-ориентированный подход к разработке программного обеспечения
    • Объектно-ориентированный анализ и проектирование
    • Принципы ООП
  • Объектно-ориентированное программирование на языке С++
    • Понятие класса и объекта
    • Поля и методы класса
    • Модификаторы прав доступа
    • Конструкторы и деструкторы
    • Создание экземпляра объекта
    • Динамические и статические объекты
    • Инициализация, присваивание и уничтожения объекта
    • Копирующий конструктор и указатель «this»
  • Принципы ООП
    • Инкапсуляция
    • Наследование
    • Полиморфизм
    • Реализация принципов ООП на языке С++
  • Шаблоны (паттерны) проектирования
    • Паттерн проектирования «Singleton»
  • Наследование
    • Наследование классов
    • Множественное наследование
    • Защищенное наследование
    • Закрытое наследование
    • Открытие доступа к отдельным членам класса
    • Композиция объектов
    • Область видимости при наследовании
  • Полиморфизм
    • Реализация полиморфизма
    • Виртуальные функции
  • Абстрактные классы и интерфейсы
    • Понятие интерфейса
    • Наследование интерфейсов
    • Понятие пространства имен
  • Перегрузка методов и операторов
    • Переопределение и перегрузка методов класса
    • Перегрузка операторов
    • Дружественные методы
    • Паттерн проектирования «Прототип»
  • Шаблоны типов
    • Шаблонные функции
    • Шаблонные классы
    • Работа с шаблонами
    • Параметрические типы
  • Обработка исключений
    • Исключительные ситуации и работа с ними
    • Блоки «try catch»
    • Генерация исключения «throw»
    • Отладочный макрос «_ASSERT»
  • Потоковый ввод/вывод
    • Классы ввода/вывода данных
    • Потоки данных
    • Ввод/вывод
    • Бинарные и текстовые файлы
    • Создание, чтение, запись файлов
  • Сетевое взаимодействие
    • Основы Socket API
    • Установка соединения
    • Передача данных
  • Основы работы с графикой OpenGL
  • Проектирование программного обеспечения
    • Проектирование классов
    • Проектирование библиотек
    • Шаблоны (паттерны) проектирования
  • Отношения между классами
    • Ассоциация
    • Агрегация
    • Композиция
    • Наследование
    • Формы наследования

Минимальные требования:

  • Собственный ПК
  • Знание основ теории программирования
Базовый курс С++
Курсы по программированию,