Програмування скриптовими мовами

Спеціальність: Кібербезпека
Код дисципліни: 6.125.00.O.043
Кількість кредитів: 6.00
Кафедра: Захист інформації
Лектор: Доц., к.т.н. Совин Ярослав Романович
Семестр: 5 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою викладання дисципліни є теоретичне і практичне вивчення сучасної високоефективної мови програмування Python, оволодіння принципами побудови, написання і відладки програм як необхідної основи для розробки та використання спеціалізованих систем у галузі кібербезпеки. Студенти отримають ґрунтовну теоретичну і практичну базу із застосування мови програмування Python для вирішення широкого кола задач захисту інформації у кіберфізичних системах.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: Фахові компетентності: ФК 3. Здатність до використання програмних та програмно-апаратних комплексів засобів захисту інформації в інформаційно-телекомунікаційних (автоматизованих) системах. ФК 5. Здатність забезпечувати захист інформації, що обробляється в інформаційно-телекомунікаційних (автоматизованих) системах з метою реалізації встановленої політики інформаційної та/або кібербезпеки. Фахові компетентності спеціальності: ФКС 4.7. Уміння розробляти програмне забезпечення із виявлення шкідливих програм і кібератак. ФКС 4.8. Здатність забезпечувати захист інформації, що обробляється в системах кібербезпеки, здійснювати адміністрування таких систем та їх експлуатацію. ФКС 4.9. Здатність виконувати моніторинг даних, комп’ютерних зловживань та аномалій.
Результати навчання: 2.3. Результати навчання відповідно до освітньої програми, методи навчання і викладання, методи оцінювання досягнення результатів навчання У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі результати навчання: а) знати: 1. Типи і структури даних, що використовуються в мові Python, технології обробки, аналізу та інтерпретації даних різної природи. 2. Інструкції та конструкції мови програмування Python. 3. Можливості мови для вирішення обчислювальних і наукових задач в сфері кібербезпеки. 4. Технології та інструменти створення програмних рішень на мові Python. б) вміти: 1. Вибирати структури даних та алгоритми, що дають змогу вирішити поставлену задачу оптимальним способом. 2. Створювати власні функції та класи. 3. Створювати додатки з графічним інтерфейсом. 4. Використовувати бібліотеки для вирішення поставленої задачі. У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання: Результати навчання ЗН 13. Знання сучасних досягнень інноваційних технологій в галузі інформаційних технологій, кібербезпеки та управління; ЗН 9. Впроваджувати процеси, що базуються на національних та міжнародних стандартах, ідентифікації, аналізу та реагування на інциденти інформаційної та/або кібербезпеки. Методи навчання і викладання Лекційні заняття – інформаційно-рецептивний метод. Контрольна робота та лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Методи оцінювання рівня досягнення результатів навчання Оцінка активності студента у процесі занять; перевірка виконання лабораторних робіт; перевірка виконання контрольної роботи. Результати навчання ЗН 4.1. Вирішувати завдання захисту програм та інформації, що обробляється в інформаційно-телекомунікаційних системах програмно-апаратними засобами та давати оцінку результативності якості прийнятих рішень. Методи навчання і викладання Лекційні заняття – інформаційно-рецептивний метод. Контрольна робота та лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Методи оцінювання рівня досягнення результатів навчання Поточна перевірка в процесі засвоєння кожної теми, що вивчається; перевірка виконання лабораторних робіт; перевірка виконання контрольної роботи, опитування щодо засвоєння знань. Результати навчання ЗН 4.3. Вирішувати задачі захисту потоків даних в інформаційних та інформаційно-телекомунікаційних (автоматизованих) системах Методи навчання і викладання Лекційні заняття – інформаційно-рецептивний метод. Контрольна робота та лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Методи оцінювання рівня досягнення результатів навчання Поточна перевірка в процесі засвоєння кожної теми, що вивчається; перевірка виконання лабораторних робіт; перевірка виконання контрольної роботи, опитування щодо засвоєння знань. Результати навчання ЗН 4.11. Вирішувати задачі аналізу програмного коду на наявність можливих загроз Методи навчання і викладання Лекційні заняття – інформаційно-рецептивний метод. Контрольна робота та лабораторні роботи – репродуктивний метод, евристичний метод, Самостійна робота – репродуктивний метод, дослідницький метод. Методи оцінювання рівня досягнення результатів навчання Поточна перевірка в процесі засвоєння кожної теми, що вивчається; перевірка виконання лабораторних робіт; перевірка виконання контрольної роботи, опитування щодо засвоєння знань.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні навчальні дисципліни: • Технології програмування, ч.1 Наступні навчальні дисципліни: • Безпека інфраструктури комп’ютерних мереж
Короткий зміст навчальної програми: Дисципліна присвячена вивченню базових принципів програмування мовою Python та супутніх інструментів розробки. Детально вивчаються основні елементи мови програмування Python: типи даних, інструкції, функції, модулі; об’єктно-орієнтоване програмування і розробка прикладних додатків. Дисципліна охоплює теоретичний і практичний матеріал, що у сукупності дає змогу студентам ефективно застосовувати мову Python для вирішення широкого класу задач кібербезпеки.
Опис: Загальні відомості про мову програмування Python. Змінні. Прості вбудовані типи даних, операції та функції мови Python. Рядки і двійкові дані. Умовні оператори і цикли. Списки (list). Кортежі, множини, діапазони і словники. Функції. Модулі та пакети. Обробка винятків. Робота з файлами. Об’єктно-орієнтоване програмування.
Методи та критерії оцінювання: 5. Поточний контроль, який складається з виконання лабораторних робіт та захисту звітів, виконання та захисту контрольної роботи, усне опитування.
Критерії оцінювання результатів навчання: 6. Розподіл балів у 100-бальній шкалі: 1. Лабораторні роботи – 70 балів 2. Контрольні роботи – 30 балів Порядок та критерії виставлення балів та оцінок: Лабораторна робота Виконана та здана робота – 7 балів (10 робіт) Контрольна робота Виконана контрольна робота- 30 балів
Порядок та критерії виставляння балів та оцінок: 6. Розподіл балів у 100-бальній шкалі: 1. Лабораторні роботи – 70 балів 2. Контрольні роботи – 30 балів Порядок та критерії виставлення балів та оцінок: Лабораторна робота Виконана та здана робота – 7 балів (10 робіт) Контрольна робота Виконана контрольна робота- 30 балів
Рекомендована література: 7. Навчально-методичне забезпечення 1. Совин Я. Р. Програмування скриптовими мовами.: Конспект лекцій / Я. Р. Совин. – Львів:, 2021. – 308 с. 2. Електронний навчально-методичний комплекс у ВНС: https://vns.lpnu.ua/course/view.php?id=10040 3. Інсталяція інтерпретатора Python та знайомство з інтегрованим середовищем розробки IDLE: Методичні вказівки до лабораторної роботи № 1 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 7 с. 4. Робота з логічними та числовими типами даних: Методичні вказівки до лабораторної роботи № 2 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 20 с. 5. Робота з рядками: Методичні вказівки до лабораторної роботи № 3 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 23 с. 6. Написання програм з умовними виразами та циклами: Методичні вказівки до лабораторної роботи № 4 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 23 с. 7. Програмування з використанням списків: Методичні вказівки до лабораторної роботи № 5 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 21 с. 8. Програмування з використанням кортежів, словників та множин: Методичні вказівки до лабораторної роботи № 6 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 25 с. 9. Створення та використання функцій: Методичні вказівки до лабораторної роботи № 7 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 32 с. 10. Робота з файлами та обробка винятків: Методичні вказівки до лабораторної роботи № 8 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 30 с. 11. Об’єктно-орієнтоване програмування: Методичні вказівки до лабораторної роботи № 9 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 29 с. 12. Розробка графічного інтерфейсу користувача засобами пакету tkinter: Методичні вказівки до лабораторної роботи № 10 з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 43 с. 13. Розробка програмних засобів кібербезпеки: Завдання та методичні вказівки до контрольних робіт з курсу «Програмування скриптовими мовами» для студентів спеціальності «Кібербезпека» / Укл. Я. Р. Совин – Львiв: Національний університет "Львівська політехніка", 2021. – 19 с. 8. Рекомендована література Базова 1. Learn to Program with Python 3. A Step-by-Step Guide to Programming, Second Edition / Irv Kalb. – Mountain View: Apress, 2018. – 361 р. 2. The Python Workbook. A Brief Introduction with Exercises and Solutions, Second Edition / Ben Stephenson. – Cham: Springer, 2014. – 218 р. 3. Python Pocket Reference, Fifth Edition / Mark Lutz. – Sebastopol: O’Reilly Media, Inc., 2014. – 264 р. 4. Learn Python 3 the Hard Way / Zed A. Shaw. – Boston: Addison-Wesley, 2017. – 321 р. 5. A Python Book: Beginning Python, Advanced Python, and Python Exercises / Dave Kuhlman. – Boston: MIT, 2013. – 278 р. Допоміжна 1. The Python 3 Standard Library by Example / Doug Hellmann. – Boston: Addison-Wesley, 2018. – 5261 р. 2. Pro Python 3. Features and Tools for Professional Development, Third Edition / J. Burton Browning, Marty Alchin. – Mountain View: Apress, 2019. – 468 р. 3. Data Structures and Algorithmic Thinking With Python / Narasimha Karumanchi. – Bombay: CareerMonk, 2016. – 471 р. 4. Mastering Python for Data Science / Samir Madhavan. – Birmingham: Packt Publishing, 2015. – 294 р. 5. Mastering Numerical Computing with NumPy / Umit Mert Cakmak, Mert Cuhadaroglu. – Birmingham: Packt Publishing, 2018. – 276 р. 6. High Performance Python / Micha Gorelick, Ian Ozsvald. – Sebastopol: O’Reilly Media, Inc., 2014. – 370 р. 9. Інформаційні ресурси 1. https://www.python.org/ 2. Совин Я.Р. Програмування скриптовими мовами [Електронний ресурс] / Режим доступу: https://vns.lpnu.ua/course/view.php?id=10040
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол №35).

Програмування скриптовими мовами

Спеціальність: Кібербезпека
Код дисципліни: 6.125.00.O.042
Кількість кредитів: 6.00
Кафедра: Безпека інформаційних технологій
Лектор: професор Мороз Леонід Васильович, професор Мичуда Леся Зиновіївна
Семестр: 5 семестр
Форма навчання: денна
Результати навчання: ФК 3. Здатність до використання програмних та програмно-апаратних комплексів засобів захисту інформації в інформаційно-телекомунікаційних (автоматизованих) системах. ФК 5. Здатність забезпечувати захист інформації, що обробляється в інформаційно-телекомунікаційних (автоматизованих) системах з метою реалізації встановленої політики інформаційної та/або кібербезпеки. ФКС 4.7. Уміння розробляти програмне забезпечення із виявлення шкідливих програм і кібератак. ФКС 4.8. Здатність забезпечувати захист інформації, що обробляється в системах кібербезпеки, здійснювати адміністрування таких систем та їх експлуатацію. ФКС 4.9. Здатність виконувати моніторинг даних, комп’ютерних зловживань та аномалій. ЗН 9. Впроваджувати процеси, що базуються на національних та міжнародних стандартах, ідентифікації, аналізу та реагування на інциденти інформаційної та/або кібербезпеки. ЗН 13. Знання сучасних досягнень інноваційних технологій в галузі інформаційних технологій, кібербезпеки та управління. ЗН 4.1. Вирішувати завдання захисту програм та інформації, що обробляється в інформаційно-телекомунікаційних системах програмно-апаратними засобами та давати оцінку результативності якості прийнятих рішень. ЗН 4.3. Вирішувати задачі захисту потоків даних в інформаційних та інформаційно-телекомунікаційних (автоматизованих) системах ЗН 4.11. Вирішувати задачі аналізу програмного коду на наявність можливих загроз
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Технології програмування, частина 2
Короткий зміст навчальної програми: Спеціалізовані типи даних і структури мови python. Паралельні обчислення. Мультипотоковість та мультипроцесорність у python. Використання GPU ТА OPENCL для паралельних обчислень. NUMPY. Бібліотека наукових та інженерних розрахунків SCIPY та її застосування для проблем кібербезпеки. Бібліотека PANDAS. Бібліотека комп'ютерного зору OPENCV. Алгоритми машинного навчання в python на основі бібліотеки SCIKIT-LEARN.
Методи та критерії оцінювання: поточний контроль 30% = опитування та оцінка звітів з лабораторних робіт – 30% підсумковий контроль 70% = екзамен = письмова компонента 60% й усна компонента 10%
Рекомендована література: Базова 1. Learn to Program with Python 3. A Step-by-Step Guide to Programming, Second Edition / Irv Kalb. – Mountain View: Apress, 2018. – 361 р. 2. The Python Workbook. A Brief Introduction with Exercises and Solutions, Second Edition / Ben Stephenson. – Cham: Springer, 2014. – 218 р. 3. Python Pocket Reference, Fifth Edition / Mark Lutz. – Sebastopol: O’Reilly Media, Inc., 2014. – 264 р. 4. Learn Python 3 the Hard Way / Zed A. Shaw. – Boston: Addison-Wesley, 2017. – 321 р. 5. A Python Book: Beginning Python, Advanced Python, and Python Exercises / Dave Kuhlman. – Boston: MIT, 2013. – 278 р. Допоміжна 1. The Python 3 Standard Library by Example / Doug Hellmann. – Boston: Addison-Wesley, 2018. – 5261 р. 2. Pro Python 3. Features and Tools for Professional Development, Third Edition / J. Burton Browning, Marty Alchin. – Mountain View: Apress, 2019. – 468 р. 3. Data Structures and Algorithmic Thinking With Python / Narasimha Karumanchi. – Bombay: CareerMonk, 2016. – 471 р. 4. Mastering Python for Data Science / Samir Madhavan. – Birmingham: Packt Publishing, 2015. – 294 р. 5. Mastering Numerical Computing with NumPy / Umit Mert Cakmak, Mert Cuhadaroglu. – Birmingham: Packt Publishing, 2018. – 276 р. 6. High Performance Python / Micha Gorelick, Ian Ozsvald. – Sebastopol: O’Reilly Media, Inc., 2014. – 370 р. Інформаційні ресурси 1. https://www.python.org/
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).