Технології програмування, частина 2
Спеціальність: Кібербезпека
Код дисципліни: 6.F5.01.O.017
Кількість кредитів: 7.00
Кафедра: Захист інформації
Лектор: к.т.н., доцент Отенко Віктор Іванович
Семестр: 2 семестр
Форма навчання: денна
Завдання: Загальні компетентності:
1. ЗК 1. Здатність застосовувати знання у практичних ситуаціях;
2. ЗК 2. Знання та розуміння предметної області та розуміння професії;
3. ЗК 5. Здатність до пошуку, оброблення та аналізу інформації.
Фахові компетентності:
1. СК 2. Здатність використовувати інформаційні технології, сучасні методи і моделі кібербезпеки та системи захисту інформації;
2. СК 4. Здатність забезпечувати захист інформації в інформаційних та інформаційно-комунікаційних системах згідно встановленої політики кібербезпеки й захисту інформації;
3. СК 10. Здатність виконувати моніторинг інформаційних процесів, аналізувати, виявляти, оцінювати можливі вразливості та загрози інформаційному простору й інформаційним ресурсам згідно з встановленою політикою інформаційної безпеки.
Результати навчання: 1. РН 6. Адаптуватися до нових умов і технологій професійної діяльності, прогнозувати кінцевий результат;
2. РН 10. Використовувати сучасні інформаційні технології, методи і моделі кібербезпеки та систем захисту інформації для здійснення професійної діяльності;
3. РН 13. Впроваджувати, налаштовувати, супроводжувати та підтримувати функціонування програмних і програмно-апаратних комплексів і систем кібербезпеки та захисту інформації як необхідні процедури для функціонування інформаційних й інформаційно-комунікаційних систем та/або інфраструктури організації в цілому;
4. РН 21. Виконувати впровадження, підтримку, аналіз ефективності систем виявлення несанкціонованого доступу, дій з інформацією в інформаційній системі, вразливостей, можливих загроз інформаційному простору й інформаційним ресурсам та використовувати комплекси захисту для забезпечення необхідного рівня захищеності інформації в інформаційних системах.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: • Технології програмування, частина 1.
Короткий зміст навчальної програми: Подаються відомості про парадигми о’бєктно-орієнтованого програмування, алгоритмічну мову C#, її особливості, області застосування. Розглядаються питання розробки програмного забезпечення мовою C# та його відлагодження.
Опис: Історія створення мови C#. Генеалогічне дерево мови C#. Платформа Microsoft .NET Framework.
Парадигми об‘єктно-орієнтованого програмування: інкапсуляція, поліморфізм, успадкування.
Елементарні типи даних та літерали мови C#: позначення типів даних; цілочисельні літерали та літерали з плаваючою крапкою; символьні та рядкові літерали; логічні літерали; літерал null.
Базові вирази та оператори мови C#: оператор присвоєння; ініціалізація змінних та переліків; перевірка результату ініціалізації; математичні, унарні, складені, порозрядні, логічні оператори; оператори відношення; пріоритети операторів.
Оператори управління: умовний оператор; оператор вибору; ітераційні оператори; оператори безумовного переходу; пустий оператор; складений оператор.
Об‘єктно-орієнтоване програмування: класи, об‘єкти, поля та методи.
Об‘єктно-орієнтоване програмування: успадкування; заборона успадкування; маскування методів базового класу; модифікатори доступу.
Об‘єктно-орієнтоване програмування: модифікатори доступу.
Об‘єктно-орієнтоване програмування: конструктор та деструктор; константні поля, поля readonly.
Об‘єктно-орієнтоване програмування: статичні члени класу.
Об‘єктно-орієнтоване програмування: передача параметрів за посиланням;
Об‘єктно-орієнтоване програмування: поліморфізм; раннє та пізнє зв‘язування.
Об‘єктно-орієнтоване програмування: абстрактні класи.
Об‘єктно-орієнтоване програмування: перевантаження операторів.
Перетворення типів об‘єктів: неявне та явне перетворення числових типів; перевірка перетворення числових типів; перетворення типів і класи; нестандартне перетворення.
Властивості об‘єктів: оголошення властивості; успадкування властивості; статичні властивості.
Масиви та індексатори: типи масивів; масиви і цикли; індексатори. Колекції та словники.
Інтерфейси: застосування інтерфейсів; перевірка реалізації інтерфейсу; комбіновані інтерфейси; інтерфейси та успадкування класів; властивості та індексатори в інтерфейсах. Реалізація інтерфейсів IComparable та IEnumerable.
Винятки та їх обробка: класичні способи обробки помилок; застосування механізму винятків; стандартні класи винятків; створення винятків; конструктори класу Exception; повторне оброблення винятку; блок finally.
Делегати та події: використання делегатів; оброблення подій.
Узагальнені типи.
Файли та потоки.
Робота з текстовими рядками.
Технологія Windows Forms.
Технологія Windows Presentation Foundation (WPF).
Багатопотоковість в C#.
Методи та критерії оцінювання: Методи оцінювання.
1) Поточний контроль:
• попереднє виявлення рівня знань студентів перед початком занять;
• поточна перевірка в процесі засвоєння кожної теми, що вивчається;
• оцінка активності студента у процесі лекційних занять;
• оцінка активності студента у процесі практичних занять;
• перевірка виконання лабораторних робіт;
• перевірка виконання практичних робіт;
• усне опитування засвоєння знань, набутих у процесі виконання лабораторних робіт.
2) Підсумковий (екзаменаційний) контроль здійснюється за результатами тестового контролю та усного опитування.
Критерії оцінювання результатів навчання: Критерії оцінювання:
• поточний контроль - 30%;
• екзаменаційний контроль - 70%
(письмова компонента - 60%, усна компонента - 10%).
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: Рекомендована література
Базова:
1. Ian Griffiths. Programming C# 10. - O'Reilly Media, Inc., 2022.
2. Andrew Troelsen , Phil Japikse. Pro C# 8 with .NET Core 3: Foundational Principles and Practices in Programming. - Apress, 2020.
3. Jon Skeet. C# in Depth: Fourth Edition. - ? Manning, 2019.
4. Joseph Albahari, Ben Albahari. C# 7.0 In a Nutshell. - O’Reilly Media, Inc., 2018.
5. Ben Watson. C# 4.0 How-To. – Pearson Education. Inc., 2010.
Допоміжна:
1. Joseph Albahari, Ben Albahari. C# 7.0 Pocket Refrence: Instant Help for C# 7.0 Programmers. - O’Reilly Media, Inc., 2017.
2. Dustin Boswell, Trevor Foucher. The Art of Readable Code. - O’Reilly Media, Inc., 2011.
3. Charles Petzold. Programming Microsoft® Windows® with C#. - Microsoft Press, 2002.
Навчально-методичне забезпечення
1. С#. Основні принципи об’єктно-орієнтованого програмування. Класи, члени класу, екземпляри класу. Розробка консольних застосувань: інструкція до лабораторної роботи №5 з курсів «Технології програмування», «Алгоритмічні мови і програмування, част.2» та «Технології програмування, част.2» для студентів базових напрямів 6.170101, 6.170102, 6.170103. / Укл.: В.І. Отенко, А.І. Партика, Я.В. Решетар - Львів: НУЛП, 2015.- 16 с.
2. С#. Успадкування. Ієрархія класів. Побудова ієрархії класів: інструкція до лабораторної роботи №6 з курсів «Технології програмування», «Алгоритмічні мови і програмування, част.2» та «Технології програмування, част.2» для студентів базових напрямів 6.170101, 6.170102, 6.170103. / Укл.: В.І. Отенко, А.І. Партика, Я.В. Решетар - Львів: НУЛП, 2015.- 15 с.
3. С#. Масиви. Робота з масивами: інструкція до лабораторної роботи №7 з курсів «Технології програмування», «Алгоритмічні мови і програмування, част.2» та «Технології програмування, част.2» для студентів базових напрямів 6.170101, 6.170102, 6.170103. / Укл.: В.І. Отенко, А.І. Партика, Я.В. Решетар - Львів: НУЛП, 2015.- 16 с.
4. С#. Розробка застосувань Windows Forms: інструкція до лабораторної роботи №8 з курсів «Технології програмування», «Алгоритмічні мови і програмування, част.2» та «Технології програмування, част.2» для студентів базових напрямів 6.170101, 6.170102, 6.170103. / Укл.: В.І. Отенко, А.І. Партика, Я.В. Решетар - Львів: НУЛП, 2015.- 16 с.
Інформаційні ресурси
1. http://vns.lp.edu.ua
2. https://msdn.microsoft.com/uk-ua/
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).
Технології програмування, частина 2
Спеціальність: Кібербезпека
Код дисципліни: 6.F5.01.O.016
Кількість кредитів: 7.00
Кафедра: Безпека інформаційних технологій
Семестр: 2 семестр
Форма навчання: денна