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

Спеціальність: Програмно-апаратні пристрої інфокомунікаційних систем
Код дисципліни: 6.172.10.O.016
Кількість кредитів: 6.00
Кафедра: Теоретична радіотехніка та радіовимірювання
Лектор: К.т.н., доц. Шкілюк Олександр Петрович
Семестр: 3 семестр
Форма навчання: денна
Мета вивчення дисципліни: Мета навчальної дисципліни — вивчення основних принципів об'єктно-орієнтованого програмування – однієї з найбільш важливих методологій розробки, яка ґрунтується на уявленні про програму як про сукупність об'єктів, кожен з яких є екземпляром певного класу, а класи утворюють ієрархію наслідування. Відповідно до парадигми об'єктно-орієнтованого програмування, кожен об'єкт здатний отримувати повідомлення, обробляти дані, та надсилати повідомлення іншим об'єктам.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: Загальні компетентності: • ЗК-1. Здатність до абстрактного мислення, аналізу та синтезу. • ЗК-2. Здатність застосовувати знання у практичних ситуаціях. • ЗК-3. Здатність планувати та управляти часом. • 3К-4. Знання та розуміння предметної області та розуміння професійної діяльності. • ЗК-6. Здатність працювати в команді. • ЗК-7. Здатність вчитися і оволодівати сучасними знаннями. • ЗК-8. Вміння виявляти, ставити та вирішувати проблеми. • ЗК-13. Здатність до системного мислення; • ЗК-14. Здатність здійснювати пошук та аналізувати інформацію з різних джерел; Фахові компетентності: • ФК-1.Здатність розуміти сутність і значення інформації в розвитку сучасного інформаційного суспільства . • ФК-2. Здатність вирішувати стандартні завдання професійної діяльності на основі інформаційної та бібліографічної культури із застосуванням інформаційно-комунікаційних технологій і з урахуванням основних вимог інформаційної безпеки. • ФК-3. Здатність використовувати базові методи, способи та засоби отримання, передавання, обробки та зберігання інформації. • ФК-4. Здатність здійснювати комп'ютерне моделювання пристроїв, систем і процесів з використанням універсальних пакетів прикладних програм.
Результати навчання: У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі результати навчання: • знати можливості мови програмування С++, структур даних та засобів їх використання; • знати загальні підходи до використання засобів стандартних бібліотек для опису класів, методів та атрибутів; • знати сучасні методи, засоби і технології проектування програмного забезпечення; • знати основні етапи розробки закінченого програмного проекту та основні вимоги до оформлення текстового, програмного та ілюстративного матеріалу для звіту до нього. • уміти створити розвинений інтерфейс для власних програм з використанням принципу інкапсуляції даних; побудувати ієрархію успадкування, використовувати поліморфізм; У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання: Можливості мови програмування С++, структур даних та засобів їх використання Загальні підходи до використання засобів стандартних бібліотек для опису класів, методів та атрибутів Сучасні методи, засоби і технології проектування програмного забезпечення; Основні етапи розробки закінченого програмного проекту та основні вимоги до оформлення текстового, програмного та ілюстративного матеріалу звіту до нього. Інтерфейс для власних програм з використанням принципу інкапсуляції даних; побудувати ієрархію успадкування, використовувати поліморфізм;
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Основи IT та електронної інженерії Програмування Програмування апаратних засобів
Короткий зміст навчальної програми: Об'єктно-орієнтоване програмува?ння (ООП, англ. Object-oriented programming, OOP) — одна з парадигм програмування, яка розглядає програму як множину «об'єктів», що взаємодіють між собою. Відповідно до парадигми об'єктно-орієнтованого програмування, кожен об'єкт здатний отримувати повідомлення, обробляти дані, та надсилати повідомлення іншим об'єктам. Кожен об'єкт — своєрідний незалежний автомат з окремим призначенням та відповідальністю. Таким чином, програма є набором об'єктів, що мають стан та поведінку. Об'єкти взаємодіють використовуючи повідомлення. Будується ієрархія об'єктів: програма в цілому — це об'єкт, для виконання своїх функцій вона звертається до об'єктів що містяться у ньому, які своєю чергою виконують запит шляхом звернення до інших об'єктів програми.
Опис: Вступ до мови програмування С++. Зворотна сумісність С++ щодо С Типи даних. Операції та їх пріоритети. Цикли. Функції. Директиви препроцесора. Створення багатофайлових програм. Простір імен. Класи та їх елементи. Клас як тип даних. Методи та атрибути класів. Конструктори і деструктори класів. Рівні доступу до атрибутів класу. Масиви. Робота із пам’яттю. Вказівники, посилання. Динамічне виділення пам’яті. Наслідування, інкапсуляція, перевантаження операторів. Віртуальні функції, поліморфізм, абстракція. Виключення. Файли і потоки. Огляд стандартної бібліотеки шаблонів (Standard Template Library). Патерни програмування.
Методи та критерії оцінювання: Поточний контроль (оцінка виконаних завдань) Семестровий контроль (проведення письмового екзамену)
Критерії оцінювання результатів навчання: Поточний контроль: - Лабораторні роботи - 40 балів; Екзаменаційний контроль: - Письмова компонента - 50 балів; - Усна компонента - 10 балів; Загалом: 100 балів.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Шкілюк О.П. Методичні вказівки для виконання лабораторних робіт з курсу «Об'єктно-орієнтоване програмування на С++». 2. Бєлов Ю.А., Карнаух Т.О., Коваль Ю.В., Ставровський А.Б. Вступ до програмування мовою С++. – К.: Видавничо-поліграфічний центр "Київський університет", 2012. – 175 с. 3. Васильєв О.М. Програмування на С++ в прикладах і задачах. – К.: Видавництво: "Ліра-К", Київ, 2017 рік, 382 с. 4. Галкін О.В., Верес М.М. Мова програмування С++. Конспект лекцій . К.: ДП “Вид. дім “Персонал”, 2017. — 260 с 5. Грицюк Ю.І., Рак Т.Є. Програмування мовою С++. – Львів : Вид-во Львівського ДУ БЖД, 2011. – 292 с. 6. Пех П.А., Лавренчук С.В., Делявський М.В., Гринюк С.В. Лабораторний практикум з програмування мовою С/С++. – Луцьк : Вежа-Друк, 2020. 228 с.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).