Програмування, частина 2 (Об'єктно-орієнтоване програмування)

Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.00.O.013
Кількість кредитів: 6.00
Кафедра: Електронні обчислювальні машини
Лектор: доцент Морозов Юрій Васильович.
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: У викладанні дисципліни за мету поставлено виробити у бакалаврів чітке та систематизоване уявлення про методи і засоби об’єктно-орієнтованого програмування (ООП), його використання при проектуванні електронної обчислювальної техніки та при створенні відповідного системного програмного забезпечення. Внаслідок вивчення навчальної дисципліни студент повинен бути здатним продемонструвати такі результати навчання: 1. вивчити теоретичні основи об’єктно-орієнтованого програмування, 2. розуміти методи проведення об’єктно-орієнтованого аналізу, що дозволить проектувати об’єктно-орієнтовані програми, 3. вивчити механізми вводу – виводу в об’єктно-орієнтованому програмуванні, 4. розуміти механізми обробки повідомлень та виключних ситуацій, 5. вивчити принципи узагальненого програмування, 6. вміти розробляти програми на мові С++.
Завдання: загальні компетентності: – базові знання фундаментальних наук, в обсязі, необхідному для освоєння загально-професійних дисциплін; – базові знання в галузі комп’ютерної інженерії (комп’ютерної логіки, теорії програмування, електротехніки) необхідні для освоєння професійно-орієнтованих дисциплін. – здатність до аналізу та синтезу; – здатність до застосування знань на практиці; – здатність здійснювати пошук та аналізувати інформацію з різних джерел; – здатність розв’язувати поставлені задачі та приймати відповідні рішення; – креативність, здатність до системного мислення. фахові компетентності: – базові знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації комп’ютерних систем, мереж та обладнання; – знання сучасних технологічних процесів та систем автоматизації технологічної підготовки виробництва; – здатність застосовувати та інтегрувати знання і розуміння дисциплін інших інженерних галузей; – здатність досліджувати проблему та визначати обмеження, у тому числі технічні та обумовлені проблемами сталого розвитку, а також проблемами впливу на навколишнє середовище та безпеку життєдіяльності.
Результати навчання: розуміти теоретичні основи об’єктно-орієнтованого програмування; знати прийоми об’єктно-орієнтованого програмування та аналізу; володіти прийомами програмування з використанням методів об’єктно-орієнтованого програмування; вміти аналізувати предметну область, що моделюється застосовуючи об’єктно-орієнтовані підходи; вміти розробляти програмне забезпечення із застосуванням об’єктно-орієнтованих підходів та сучасних інструментальних засобів.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Програмування, ч.1 (Основи алгоритмізації та програмування)
Короткий зміст навчальної програми: Об’єктна модель. Основні концепції мови програмування С++. Класи: інтерфейс і реалізація. Застосування методів об’єктно-орієнтованого програмування: об’єктно-орієнтована мова С++ та її стандартна бібліотека, перевантаження операторів, шаблони.
Опис: 1. Об’єктна модель: абстрагування, інкапсуляція, модульність, ієрархія, типізація, паралелізм, збережуваність. 2. Основні концепції мови програмування С++. Константи, вбудовувані функції, перевантаження функцій. Особливості реалізація стандартного та файлового введення-виведення в С++. Перевантаження операцій введення-виведення. Особливості реалізації роботи з динамічною пам’яттю. 3. Класи: інтерфейс і реалізація. Члени класів: дані, функції. Види функцій членів класу: конструктори, деструктори, селектори, модифікатори. Відносини між класами: асоціація, успадкування, агрегація, використання, інстанціювання. 4. Успадкування класів. Види успадкування. Особливості успадкування функцій членів класу. Віртуальні функції та поліморфізм. Дружні функції та класи. Перевантаження функцій та операторів. Ієрархія класів. Множинне успадкування. Невизначеність при множинному успадкуванні. Віртуальне успадкування. 5. Параметризоване програмування в С++: шаблони та інстанціонування. Шаблони функцій та класів. Особливості організації стандартної бібліотеки шаблонів (STL): контейнери, алгоритми, ітератори. Використання компонентів STL. 6. Технологія розробки об’єктно-орієнтованого програмного забезпечення. Об’єктно-орієнтовані аналіз, проектування та програмування. Еволюція створення об’єктно-орієнтованої програми.
Методи та критерії оцінювання: поточний контроль - письмові звіти з лабораторних робіт, усне опитування, оцінювання виконаних індивідуальних завдань (30%); підсумковий контроль - контрольний захід, диф. залік: письмово-усна форма (70 %).
Критерії оцінювання результатів навчання: Максимальна кількість балів для оцінки поточного контролю (ПК) знань за семестр – 40 балів. Екзаменаційний контроль проводиться в письмово-усній формі. Максимальна кількість балів для оцінки екзаменаційного контролю – 60 балів.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. Второе издание. М.: «Издательство Бином», 1999. 2. Страуструп Б. Язык программирования С++. Третье издание. - М.: «Издательство Бином», 1999. 3. Грегори К. Использование Visual С++. Специальное издание. - М.: «Диалектика», 1999.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).