Опис курсу:

Курс складається з 11 занять загальною тривалістю 36 академічних години. З них 14 годин ми будемо вивчати теоретичний матеріал і 22 години практикуватися. У курсі передбачено 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
  • Проектування програмного забезпечення
    • Проектування класів
    • Проектування бібліотек
    • Шаблони (паттерни) проектування
  • Відносини між класами
    • Асоціація
    • Агрегація
    • Композиція
    • Спадкування
    • Форми спадкування

Мінімальні вимоги:

  • Володіння ПК
  • Знання основ теорії програмування

* Вказані знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!