Обʼєктно-орієнтоване програмування
Освітня програма: Прикладна Математика
Структурний підрозділ: Факультет комп'ютерних наук та кібернетики
Назва дисципліни
Обʼєктно-орієнтоване програмування
Код дисципліни
ННД.27
Тип модуля
Обов’язкова дисципліна для ОП
Цикл вищої освіти
Перший
Рік навчання
2022/2023
Семестр / Триместр
3 Семестр
Кількість кредитів ЕСТS
8
Результати навчання
РН18. Ефективно спілкуватися з питань інформації, ідей, проблем та рішень зі спеціалістами та суспільством загалом
Форма навчання
Попередні умови та додаткові вимоги
Для успішного вивчення дисципліни «Об'єктно-орієнтоване програмування» студент повинен відповідати таким вимогам:
1. Успішне опанування курсів:
1. Програмування.
2. Знати:
1. Основні структури даних і алгоритми їх обробки.
3. Вміти:
1. Проектувати, розробляти та тестувати програми.
4. Володіти:
1. Програмування на мовах С та С++.
Зміст навчальної дисципліни
Модуль 1. Узагальнене програмування.
Шаблонні функції
Шаблонні класи
Поліморфні можливості шаблонів
Винятки
Характеристики і стратегії
Шаблони виразів
Метапрограмування
Ієрархії шаблонів та їх застосування
Класификація типів
Інтелектуальні вказівники
Контрольна робота
Модуль 2. Стандартна бібліотека С++
Структура бібліотеки шаблонів STL
Контейнери
Алгоритми
Функтори
Допоміжні засоби стандартної бібліотеки.
Стандартні масиви. Клас vector.
Стандартні списки. Класс list.
Стандартні множини і мультимножини. Класи set і multiset.
Стандартні відображення і мультивідображення. Класи map і multiset.
Ітератори й адаптери літераторів
Стандартні інтелектуальні вказівники. Класи shared_ptr та weak_ptr
Стандартні інтелектуальні вказівники. Клас unique_ptr_ptr
Стандартні рядки
Неупорядковані асоціативні контейнери. Хешування
Робота з числами. Класс array.
Робота з числами. Класс valarray.
Робота з числами. Класс bitset.
Еволюція мови С++.
Контрольна робота
Рекомендована та необхідна література
1. Джосаттис Н.М. Стандартная библиотека С++: справочное руководство. М.: Издательский дом “Вильямс”, 2014
2. Вандервурд Д., Джосаттис Н. Шаблоны С++: справочник разработчика. — М.: Издательский дом “Вильямс”, 2003. — 544 с.
3. Клюшин Д.А. Полный курс С++. Профессиональная работа. — М.: Издательский дом “Вильямс”, 2004.
4. Кнут Д. Искусство программирования. Т. 1-3. — 3-е изд. — М.: Издательский дом “Вильямс”, 2000.
5. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ. – – М.: Издательский дом “Вильямс”, 2006.
6. Страуструп Б. Язык программирования С++. Специальное издание. — Спб: Невский диалект, 2002.
7. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. — Спб.: Питер, 2004.
8. Ласло М. Вычислительная геометрия и компьютерная графика на С++: Пер. с англ. М., "БИНОМ", 1997.
..
Заплановані освітні заходи та методи викладання
Лекції, лабораторні роботи, самостійна робота, опрацювання рекомендованої літератури, виконання домашніх завдань.
Методи та критерії оцінювання
Семестрове оцінювання:
Максимальна кількість балів, які можуть бути отримані студентом: 70 балів:
1. Контрольна робота №1: РН 1.1, РН 1.2, 1.3, 2.1, 3.1 – 35/18 балів.
1. Контрольна робота № 2: РН 1.1, РН 1.2, 1.3, 2.1, 3.1 – 35/18 балів.
Підсумкове оцінювання (у формі іспиту):
- Максимальна кількість балів, які можуть бути отримані студентом: 30 балів.
- Результати навчання, які будуть оцінюватись: РН 1.1, РН 1.2, 1.3, 2.1, 3.1
- Форма проведення: письмова.
- Види завдань: 3 письмових завдань (2 теоретичних питання та 1 практичних завдання).
Мова викладання
Українська
Викладачі
Ця дисципліна викладаеться наступними викладачами
Кафедри
Наступні кафедри задіяні у викладанні наведеної дисципліни