Алгоритми та програмування, частина 2

Спеціальність: Прикладна математика та інформатика
Код дисципліни: 6.113.00.O.009
Кількість кредитів: 8.00
Кафедра: Прикладна математика
Лектор: к.т.н., доц. Рижа І. А.
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Мета навчальної дисципліни – познайомити студентів із основами ООП, дати поняття про його базові концепції (інкапсуляція, поліморфізм, наслідування); навчити використовувати мови програмування, що підтримують методологію ООП (C++ та C# у Microsoft Visual Studio), познайомити зі стандартними алгоритмами та шаблонами (STL); ознайомити із основами UML (Unified Modelling Language), що є стандартним засобом при моделюванні, проектуванні, розробці та тестуванні складних систем і процесів; дати уявлення про шаблони проектування (design patterns) та їх класифікацією (creational patterns, structural patterns, behavior patterns, concurrency patterns).
Завдання: Вивчення навчальної дисципліни передбачає формування та розвиток у здобувачів освіти компетентностей: • загальних: ЗК3-ЗК6; ЗК8; ЗК11; ЗК13 відповідно до ОПП; • фахових: ФК1; ФК2; ФК4 відповідно до ОПП Результати навчання даної дисципліни деталізують такі програмні результати навчання: ЗН2; ЗН4; УМ1; УМ5 відповідно до ОПП.
Результати навчання: У результаті вивчення модуля студент повинен: • знати особливості об’єктно-орієнтованих мов програмування (C++/С#); основні концепції ООП (інкапсуляція, поліморфізм, наслідування); можливості стандартної бібліотеки шаблонів (STL); основи уніфікованої мови моделювання (UML); основні (та найчастіше вживані) шаблони проектування; • вміти описувати класи, їх атрибути і методи; розуміти призначення та використовувати конструктори, деструктори, перевантажені (overloaded) функції та оператори; описувати віртуальні (virtual) методи та абстрактні (abstract) класи; описувати і використовувати статичні (static) атрибути та методи класів; описувати та використовувати дружні (friend) функції класів; застосовувати при розробці класів інкапсуляцію, поліморфізм та наслідування (в т.ч. множинне); описувати та використовувати інтерфейси (interface); застосовувати при створенні програм деякі стандартні шаблони STL (вектор, стек, ітератор); описувати архітектуру програм, використовуючи схеми та діаграми UML; застосовувати при розробці програм шаблони проектування (abstract factory, singleton; adapter, bridge, proxy; iterator, observer, strategy).
Необхідні обов'язкові попередні та супутні навчальні дисципліни: пререквізит: Алгоритми та програмування, частина 1 кореквізити: Організація баз даних та знань, Дискретна математика, частина 1, Математичний аналіз, частина 2.
Короткий зміст навчальної програми: Навчальна дисципліна «Алгоритми та програмування, частина 2» складається із блоків «Основи структурного програмування на C/C++», «Основи ООП (на C/C++)», «Стандартні потоки (на C/C++)», «Основи STL (на C/C++)», «Основи C# та платформа .NET», «Основи UML», «Шаблони проектування (Design Patterns)» та «Інші платформи і мови для ООП».
Опис: Основи ООП і його базові концепції (інкапсуляція, поліморфізм, наслідування). Мови програмування, що підтримують методологію ООП (C++, C#). Стандартні алгоритми та шаблони (STL). Основи UML (Unified Modelling Language). Шаблони проектування
Методи та критерії оцінювання: Діагностика знань студентів проводиться за допомогою усного опитування під час здачі лабораторних робіт на лабораторних заняттях, виконання студентами трьох контрольних робіт та семестрового екзаменаційного контролю.
Критерії оцінювання результатів навчання: Поточний контроль (45%): усне опитування, виконання лабораторних робіт та їх захист, контрольні роботи. Підсумковий контроль (55%): екзамен.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Prata S. C++ Primer Plus, 6th Edition. Addison-Wesley, 2011. 1420 pp. 2. Trey N. Accelerated C# 2010. Apress Berkeley, CA, 2010. 656 pp. 3. Booch G., Rumbaugh J. and Jacobson I. The Unified Modeling Language User Guide, 2nd Edition. Addison-Wesley Professional, 2005. 475 pp. 4. Gamma E., Helm R., Johnson R. and Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994. 417 pp.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).