Програмування, частина 1
Спеціальність: Програмно-апаратні пристрої інфокомунікаційних систем
Код дисципліни: 6.172.10.O.005
Кількість кредитів: 6.00
Кафедра: Радіоелектронних технологій інформаційних систем
Лектор: Маньковський Спартак Вікторович
Семестр: 1 семестр
Форма навчання: денна
Завдання: Застосувати знання і розуміння для ідентифікації, формулювання і вирішення технічних задач спеціальності, використовуючи відомі методи.
Здатність продемонструвати знання і розуміння наукових і математичних принципів, що лежать в основі телекомунікацій та радіотехніки.
Результати навчання: Застосовувати результати особистого пошуку та аналізу інформації для розв’язування якісних та кількісних задач подібного характеру в інформаційно-комунікаційних мережах, телекомунікаційних і радіотехнічних системах.
Системно мислити та застосовувати творчі здібності до формування принципово нових ідей.
Виконувати відповідні експериментальні дослідження та застосовувати дослідницькі навички за професійною тематикою.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Основи ІТ та електронної інженерії.
Об’єктно-орієнтоване програмування.
Вища математика.
Програмування SMART-пристроїв.
Програмування мікроконтролерної техніки.
Короткий зміст навчальної програми: Дисципліна спрямована на засвоєння основ мови Python, яке включає базовий синтаксис мови, стандартні структури даних та роботу з ними, створення користувацьких функцій та модулів. Ознайомлення з модулями Python, зокрема з NumPy та Matplotlib. Вміння написання та відлагодження програм на мові Python із застосуванням сучасного інтегрованого середовища розробки. Вміння реалізації програм на основі заданих алгоритмів на мові Python.
Опис: В с т у п. Огляд мов програмування, перспективи застосування мови Python в сьогоденні.
Тема 1. ОСНОВИ СИНТАКСИСУ В PYTHON. Основи синтаксису Python. Арифметичні та логічні оператори Python. Оператори порівняння.
Тема 2. СТРУКТУРИ ДАНИХ В PYTHON (частина 1). Текстовий тип str. Числові типи int, float, complex. Списки (list), їх методи та приклади застосування.
Тема 3. ОПЕРАТОРИ РОЗГАЛУЖЕННЯ ТА ОРГАНІЗАЦІЇ ЦИКЛІВ. Оператор розгалуження If..elif..else. Оператори циклу while та for. Застосування операторів break, continue та pass в циклах. Інші корисні речі, зокрема list comprehension, функції zip та enumerate.
Тема 4. СТРУКТУРИ ДАНИХ В PYTHON (частина 2). Послідовності типу рядки (string), послідовності типу кортежі (tuple), множини (set), словники (dictionary). Методи та приклади застосувань цих послідовностей.
Тема 5. ВБУДОВАНІ ФУНКЦІЇ PYTHON. Вбудовані арифметичні функції. Перетворення між системами числення. Інші корисні функції Python.
Тема 6. СТВОРЕННЯ ФУНКЦІЙ КОРИСТУВАЧА. Оголошення та виклик функцій користувача. Аргументи функції. Повернення результату функції (return, yield). Область видимості змінних. Інші корисні речі (pass, реверсивні виклики, лямбда функції).
Тема 7. БІБЛІОТЕКИ ФУНКЦІЙ (МОДУЛІ) PYTHON. Створення модулів користувача та їх імпортування. Огляд модулів та пакетів Python.
Тема 8. БІБЛІОТЕКА MATPLOTLIB. Знайомство, встановлення та імпортування бібліотеки matplotlib. Приклади побудови різного типу графіків та їх форматування.
Тема 9. БІБЛІОТЕКА NUMPY. Знайомство, встановлення та імпортування бібліотеки numpy. Створення та доступ до елементів масивів. Маніпуляції з масивами (переформування, віддзеркалення, транспонування). Інші маніпуляції (об'єднання, розділення, сортування, вилучення елементів за критерієм). Математичні операції з масивами NumPy. Функції для вирішення задач лінійної алгебри.
Тема 10. ГРАФІЧНИЙ ІНТЕРФЕЙС (Модуль Tkinter). Розроблення графічного інтерфейсу за допомогою модуля Tkinter. Ознайомлення з основними віджетами, зокрема Frame, Label, Button, Checkbutton та інші. Конструкція Try ... Except та опрацювання винятків.
Тема 11. РОБОТА З ФАЙЛАМИ. Режими відкриття файлів. Читання та запис текстових файлів. Читання та запис бінарних даних у файл. Відтворення звукових файлів. Читання та запис MS Excel файлів.
Тема 12. ОБ’ЄКТНО ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ НА PYTHON. Створення класів та їх методів. Наслідування класів та приклади застосування.
Тема 13. АЛГОРИТМИ ЇХ ПРЕДСТАВЛЕННЯ ТА РЕАЛІЗАЦІЯ. Умовні позначення на блок-схемах алгоритмів. Приклади блок-схем типових алгоритмів. Реалізація програми за заданою блок-схемою. Відтворення алгоритму за заданою програмою (Reverse engineering).
Тема 14. РЕГУЛЯРНІ ВИРАЗИ НА PYTHON. Основи регулярних виразів та їх застосування. Бібліотека re на Python для реалізації операцій з регулярними виразами. Приклади практичного застосування.
Методи та критерії оцінювання: Поточний контроль на лабораторних заняттях проводиться з метою виявлення готовності студента до занять у формі вибіркового усного опитування перед початком занять. Контрольні запитання поділяються на: тестові – вибрати вірні відповіді; проблемні – створення ситуацій проблемного характеру; питання-репліки – виявити причинно-наслідкові зв’язки; ситуаційні завдання – визначити відповідь згідно певної ситуації; питання репродуктивного характеру – визначення практичного значення.
Підсумковий контроль проводиться за результатами поточного контролю та екзамена.
Критерії оцінювання результатів навчання: Лабораторні заняття (виконання, звіт та захист) – 40 балів.
Екзамен (письмова компонента) - 50 балів.
Екзамен (усна компонента) - 10 балів.
Разом за дисципліну: – 100 балів.
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: Навчально методичне забезпечення:
1) Основи мови Python. Методичні вказівки до виконання лабораторних робіт з дисципліни «Програмування, частина 1 (Python)» для студентів спеціальності 172 «Електронні комунікації та радіотехніка» / Укл. С.В. Маньковський – Львів: Видавництво Національного університету «Львівська політехніка», 2023. – 16 с.
2) Віртуальне навчальне середовище Національного університету «Львівська політехніка», зокрема електронний конспект лекцій: Програмування, частина 1. Електронний навчально-методичний комплекс. [Електронний ресурс]. Режим доступу до ресурсу ЕНМК: https://vns.lpnu.ua/user/view.php?course=15533. - Львів: Нац. ун-т "Львів. політехніка", 2023.
Рекомендована література:
1. Костюченко А. О. Основи програмування мовою Python : навч. посіб. Чернігів : ФОП Баликіна С. М., 2020. 180 с.
2. Васильєв О. М. Програмування мовою Python. Тернопіль : Навчальна книга ? Богдан, 2019. 504 с.
3. Яковенко А. В. Основи програмування. Python. Частина 1 : підручник. Київ : КПІ ім. Ігоря Сікорського, 2018. 195 с.
4. Креневич А. П. Python у прикладах і задачах. Частина 1. Структурне програмування : навч. посіб. Київ : ВПЦ "Київський Університет", 2017. 206 с.
Інформаційні ресурси
1. https://www.w3schools.com/python/
2. https://docs.python.org/3/
3. https://www.online-python.com/
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).