C++ (базовый курс)

Старт обучения
Дату уточните у администрации
36 час. по 2-3 раза в неделю

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

Курс состоит из 11 занятий общей длительностью в 36 академических часов. В курсе предусмотрено 11 лабораторных работ для самостоятельного усвоения материала.

 

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

 

После окончания курса ты сможешь понимать основные принципы C++ и разрабатывать простое ПО на этом языке. Курс подготовит тебя к дальнейшему изучению продвинутых аспектов языка C++.

После курса вы сможете:

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

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

  • 1. Введение. Немного истории
    • Организация вычислительной системы
    • Организация памяти
    • Языки программирования
    • Машинные языки
    • Языки низкого уровня
    • Языки высокого уровня
    • Трансляторы – компиляторы и интерпретаторы
    • Подходы к разработке ПО
    • Процедурное, модульное, структурное программирование
    • Объектно-ориентированный подход
    • Обобщенное программирование
    • Краткая история С/С++
  • 2. Состав языка
    • Алфавит
    • Основные составляющие языка
    • Идентификаторы
    • Ключевые слова
    • Комментарии
    • Пример простейшей программы на С++
  • 3. Переменные и базовые типы данных
    • Переменные
    • Целочисленные типы
    • Типы с плавающей точкой
    • Логический тип
    • Символьный тип
    • Пустой тип void
    • Модификаторы типов «short», «long», «unsigned», «signed»
    • Константы
    • Объявление и инициализация переменных
    • Глобальные и локальные переменные
    • Приведение типов
  • 4. Основные операции языка С++
    • Операция присваивания
    • Арифметические операции
    • Арифметические операции с присваиванием
    • Логические операции
    • Поразрядные операции
    • Операции проверки равенства/неравенства
    • Инкремент, декремент
    • Условная операция
    • Возвращаемое значение
    • Ассоциативность операций
    • Приоритет операций
  • 5. Операторы языка С++
    • Условный оператор «if else»
    • Оператор выбора «switch»
    • Операторы циклов «for», «while», «do while»
    • Операторы «goto», «break», «continue»
    • Пустой оператор
    • Оператор вызова функции
    • Оператор «sizeof»
  • 6. Функции
    • Понятие функции в С++
    • Оператор «return»
    • Параметры функции
    • Формальные и фактические параметры
    • Передача параметров по ссылке и по значению
    • Рекурсивные функции
    • Шаблоны функций
    • Перегрузка функций
  • 7. Форматированный ввод/вывод
    • Функции ввода/вывода
    • Управляющие последовательности символов
  • 8. Структура программы на языке С++
    • Директивы препроцессора
    • Подключение внешних модулей
    • Порядок компиляции
    • Область видимости определений
    • Макроопределения
    • Функции
    • Функция «main»
    • Тип функции «main»
    • Аргументы командной строки
  • 9. Массивы и указатели
    • Понятие массива
    • Работа с массивами
    • Одномерные и многомерные массивы
    • Указатели
    • Работа с динамической памятью
    • Операции с указателями
    • Массивы указателей
    • Адресная арифметика
    • Операции с указателями
  • 10. Пользовательские типы данных
    • Структуры (struct)
    • Перечисления (enum)
    • Объединения (union)
    • Работа со структурным типом
    • Доступ к полям
  • 11. Динамическая память
    • Работа с динамической памятью
    • Методы работы с динамической памятью
    • Операции «new» и «delete»
    • Динамические структуры данных
    • Список
    • Двусвязные и односвязные списки
    • Очередь
    • Стек
  • 12. Введение в объектно-ориентированное программирование
    • Объектно-ориентированный подход к разработке программного обеспечения
    • Объектно-ориентированный анализ и проектирование
    • Принципы ООП
  • 13. Объектно-ориентированное программирование на языке С++
    • Понятие класса и объекта
    • Поля и методы класса
    • Модификаторы прав доступа
    • Конструкторы и деструкторы
    • Создание экземпляра объекта
    • Динамические и статические объекты
    • Инициализация, присваивание и уничтожения объекта
    • Копирующий конструктор и указатель «this»
  • 14. Принципы ООП
    • Инкапсуляция
    • Наследование
    • Полиморфизм
    • Реализация принципов ООП на языке С++
  • 15. Шаблоны (паттерны) проектирования
    • Паттерн проектирования «Singleton»
  • 16. Наследование
    • Наследование классов
    • Множественное наследование
    • Защищенное наследование
    • Закрытое наследование
    • Открытие доступа к отдельным членам класса
    • Композиция объектов
    • Область видимости при наследовании
  • 17. Полиморфизм
    • Реализация полиморфизма
    • Виртуальные функции
  • 18. Абстрактные классы и интерфейсы
    • Понятие интерфейса
    • Наследование интерфейсов
    • Понятие пространства имен
  • 19. Перегрузка методов и операторов
    • Переопределение и перегрузка методов класса
    • Перегрузка операторов
    • Дружественные методы
    • Паттерн проектирования «Прототип»
  • 20. Шаблоны типов
    • Шаблонные функции
    • Шаблонные классы
    • Работа с шаблонами
    • Параметрические типы
  • 21. Обработка исключений
    • Исключительные ситуации и работа с ними
    • Блоки «try catch»
    • Генерация исключения «throw»
    • Отладочный макрос «_ASSERT»
  • 22. Потоковый ввод/вывод
    • Классы ввода/вывода данных
    • Потоки данных
    • Ввод/вывод
    • Бинарные и текстовые файлы
    • Создание, чтение, запись файлов
  • 23. Сетевое взаимодействие
    • Основы Socket API
    • Установка соединения
    • Передача данных
  • 24. Основы работы с графикой OpenGL
  • 25. Проектирование программного обеспечения
    • Проектирование классов
    • Проектирование библиотек
    • Шаблоны (паттерны) проектирования
  • 26. Отношения между классами
    • Ассоциация
    • Агрегация
    • Композиция
    • Наследование
    • Формы наследования

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

  • Наличие собственного ноутбука для занятий в аудиториях
  • Знание основ теории программирования

* Указанные скидки не суммируются с другими действующими акциями и специальными предложениями. Если у Вас возникли вопросы, обращайтесь за консультацией к нашим менеджерам!

spinner-it