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

Спеціальність: Фінансовий інжиніринг
Код дисципліни: 6.113.03.O.010
Кількість кредитів: 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-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).