Об'єктно-орієнтоване програмування
Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.00.O.009
Кількість кредитів: 9.00
Кафедра: Програмне забезпечення
Лектор: доцент Коротєєва Тетяна Олександрівна
Семестр: 2 семестр
Форма навчання: денна
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей:
ІНТ: Здатність розв’язувати складні спеціалізовані завдання або практичні проблеми інженерії програмного забезпечення, що характеризуються комплексністю та невизначеністю умов, із застосуванням теорій та методів інформаційних технологій.
загальні компетентності:
1. Здатність до абстрактного мислення, аналізу та синтезу. (К01)
2. Здатність застосовувати знання у практичних ситуаціях. (К02)
фахові компетентності:
1. Здатність застосовувати і розвивати фундаментальні і міждисциплінарні знання для
успішного розв’язання завдань інженерії програмного забезпечення. (К20)
2. Здатність обґрунтовано обирати та освоювати інструментарій з розробки та супроводження програмного забезпечення. (К25)
Результати навчання:
Результати навчання Методи навчання і викладання Методи оцінювання рівня досягнення результатів навчання
ПР07. Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення. Лекційні та лабораторні заняття: інформаційно-рецептивний метод; репродуктивний метод. Поточний та екзаменаційний контроль. Методи оцінювання знань: вибіркове усне опитування на практичних заняттях; захист лабораторних робіт; контрольні заходи на практичних заняттях; тести. Екзамен – письмова компонента, тестовий контроль, усна компонента.
ПР08. Вміти розробляти людино-машинний інтерфейс. Практичні та лабораторні заняття: інформаційно-рецептивний метод; репродуктивний метод. Поточний та екзаменаційний контроль. Методи оцінювання знань: вибіркове усне опитування на практичних заняттях; захист лабораторних робіт; контрольні роботи на практичних заняттях; тести. Екзамен – письмова компонента, тестовий контроль, усна компонента.
ПР12. Застосовувати на практиці ефективні підходи щодо проектування програмного забезпечення. Практичні та лабораторні заняття: інформаційно-рецептивний метод; репродуктивний метод. Поточний та екзаменаційний контроль. Методи оцінювання знань: вибіркове усне опитування на практичних заняттях; захист лабораторних робіт; контрольні заходи на практичних заняттях; тести. Екзамен – письмова компонента, тестовий контроль, усна компонента.
ПР13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань. Лекційні, лабораторні та практичні заняття: інформаційно-рецептивний метод; репродуктивний метод. Поточний та екзаменаційний контроль. Методи оцінювання знань: вибіркове усне опитування на практичних заняттях; захист лабораторних робіт; контрольні роботи на практичних заняттях; тести. Екзамен – письмова компонента, тестовий контроль, усна компонента.
ПР14. Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення. Практичні, лабораторні заняття: інформаційно-рецептивний метод; репродуктивний метод. Поточний та екзаменаційний контроль. Методи оцінювання знань: вибіркове усне опитування на практичних заняттях; захист лабораторних робіт; контрольні заходи на практичних заняттях; тести. Екзамен – письмова компонента, тестовий контроль, усна компонента.
ПР15. Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення. Лекційні та практичні заняття: інформаційно-рецептивний метод; репродуктивний метод. Самостійна робота: репродуктивний метод. Поточний та екзаменаційний контроль. Методи оцінювання знань: вибіркове усне опитування на практичних заняттях; захист лабораторних робіт; контрольні роботи на практичних заняттях; тести. Екзамен – письмова компонента, тестовий контроль, усна компонента.
ПР23. Вміти документувати та презентувати результати розробки програмного
забезпечення. Практичні заняття: інформаційно-рецептивний метод; репродуктивний метод. Самостійна робота: репродуктивний метод. Методи оцінювання знань:захист курсової роботи.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Основи програмування,
Алгоритми і структури даних
Об’єктно-орієнтоване програмування
Конструювання ПЗ
Короткий зміст навчальної програми: Дисципліна передбачає вивчення основ об‘єктно-орієнтованого програмування, основних принципів та властивостей ООП, поняття класу та його членів, об‘єктів як змінних типу клас, доступ до членів класу через об‘єкт та вказівник в динамічній пам‘яті. Лекції дисципліни включають матеріал про перевантаження операторів, дружні функції, статичні зміннні та функції, наслідування даних та методів, розробку шаблонних класів, обробку виняткових ситуацій. Лабораторні та практичні заняття передбачають практичне засвоєння розглянутого на лекціях матеріалу.
Частина програмних результатів дисципліни може бути оцінена через представлення результатів неформальної та інформальної освіти (сертифікати платформи Coursera для Intro to Operating Systems, сертифікати навчальних програм ІТ фірм, напр.. Linux Kernel GL BaseCamp, та ін..).
Опис: 1.Екскурс в історію мови С++. Відмінності С++ від С.
Огляд несумісностей. Стилі програмування. Абстрагування. Обмеження доступу. Модульність. Ієрархія. Типізація. Паралелізм. Стійкість.
2.Переваги та недоліки ООП. Основні принципи ООП
3.Функції. Способи оголошення функції. Перевантаження функції в С++. Вбудовані функції.
4.Об’єкт . Операції над об’єктами. Активні і пасивні обєкти. Відношення між об’єктами.
5.Класи. Відношення між класами. Взаємозв’язок класів та об’єктів.
6.Оголошення класу. Визначення об’єкту. Доступ до членів класу. Реалізація методів классу. Конструктори та деструктори.
7.Вказівники. Оператор new. Оператор delete. Створення та видалення об’єктів в/з області динамічної пам’яті.
8.Вказівник this. Вказівники та константи. Арифметичні операції з вказівниками
9.Посилання. Передача функції аргументів за посиланням. Переваги посилань
10.Перевизначення операторів. Загальні правила перевизначення. Дружні функції
11.Наслідування. Типи наслідування. Похідні класи. Перевизначення функцій. Віртуальні методи. Метод Clone(). Недоліки віртуальних функцій.
12.Похідні класи на прикладі векторів. Масиви об‘єктів. Масиви вказівників.
13.Оголошення масивів в області динамічної пам‘яті. Масиви символів. Зв‘язані списки. Класи масивів.
14.Шаблони. Оголошення шаблонів. Функції шаблону. Спеціалізація. Шаблони та дружні функції.
15.Стандартна бібліотека шаблонів. Контейнери. Вектори. Списки. Стек. Черги. Асоціативні контейнери. Класи алгоритмів.
16.Спеціальні класи та функції. Статичні дані-члени. Статичні функції-члени. Вказівники на функції.
17.Винятки та обробка помилок. Класифікація помилок. Основні етапи застосування винятків. Обробка винятків.
18.Поліморфізм. Множинне наслідування. Віртуальний базовий клас. Правило домінування.
19.Класи можливостей. Абстрактні типи даних. Чисті віртуальні функції.
20.Об’єктно-орієнтований аналіз та проектування.
Побудова моделей. Мова моделювання. Метод. Циклічне проектування. Каскадне проектування. Екстремальне програмування. Аналіз вимог.
21.Прецедент. Визначення виконавців. Створення моделі сфери діяльності. Узагальнення. Входження . Асоціація. Визначення сценаріїв. Визначення критеріїв.
22.Діаграми взаємодій. Візуалізація. Артефакти. Проектування. Взаємозв’язок класів при проектуванні.
Методи та критерії оцінювання: 1. Контрольні заходи на практичних заняттях.
2. Усне опитування на практичних заняттях.
3. Тести.
4. Захист лабораторних робіт.
5. Захист курсової роботи – усне оцінювання при захисті, оцінювання оформлення пояснювальної записки.
6. Екзаменаційний контроль (письмова компонента, усна компонента).
Критерії оцінювання результатів навчання: • поточний контроль включає захист 11 лабораторних робіт з усним опитуванням та письмовими звітами (1+2+3+4+4+4+3+4+3+4+5=37 %) та письмовий захід (8%). Для захисту лабораторних з балами встановлюються крайні терміни. За межами крайніх термінів роботи оцінюються в 0 балів;
• підсумковий контроль - екзамен: письмово-усна форма (50+5=55%)
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: 1. Бублик В.В. Об’єктно-орієнтоване програмування: [Підручник] / В.В. Бублик. – К.: ІТкнига, 2015. – 624 с.: іл.
ISBN 978-966-97182-1-1
2. Жуковський С.С., Вакалюк Т.А. Об‘єктно-орінтоване програмування мовою С++. Навчально-методичний посібник для студентів напряму 6.040302 Інформатика.
– Житомир: Вид-во ЖДУ, 2016. – 100 c.
3. Кравець П.О. Обєктно-орієнтоване програмування. - Навчальний посібник. Львів: Видавництво Львівської політехніки, 2012. 624 с.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).