Програмування, частина 1

Спеціальність: Програмно-апаратні пристрої інфокомунікаційних систем
Код дисципліни: 6.172.10.O.005
Кількість кредитів: 6.00
Кафедра: Радіоелектронні пристрої та системи
Лектор: Маньковський Спартак Вікторович
Семестр: 1 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою дисципліни є вивчення основ мови Python, яке включає базовий синтаксис мови, стандартні структури даних та роботу з ними, створення користувацьких функцій та модулів. Ознайомлення з модулями Python, зокрема з NumPy та Matplotlib. Вміння написання та відлагодження програм на мові Python із застосуванням сучасного інтегрованого середовища розробки. Вміння реалізації програм на основі заданих алгоритмів на мові Python.
Завдання: Застосувати знання і розуміння для ідентифікації, формулювання і вирішення технічних задач спеціальності, використовуючи відомі методи. Здатність продемонструвати знання і розуміння наукових і математичних принципів, що лежать в основі телекомунікацій та радіотехніки.
Результати навчання: Застосовувати результати особистого пошуку та аналізу інформації для розв’язування якісних та кількісних задач подібного характеру в інформаційно-комунікаційних мережах, телекомунікаційних і радіотехнічних системах. Системно мислити та застосовувати творчі здібності до формування принципово нових ідей. Виконувати відповідні експериментальні дослідження та застосовувати дослідницькі навички за професійною тематикою.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Основи ІТ та електронної інженерії. Об’єктно-орієнтоване програмування. Вища математика. Програмування 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–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Навчально-методичне забезпечення у віртуальному навчальному середовищі: https://vns.lpnu.ua/user/view.php?course=15533 Рекомендована література 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).