Об'єктно-орієнтоване програмування, частина 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).