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

Обов'язкова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5; • у навчальних годинах — 135.
Розподіл навчальних годин (аудиторні заняття / самостійна робота): 
• очна форма — 60 / 75; • заочна форма — 10 / 125.
Кількість аудиторних занять за видами (лекції / практичні заняття / лабораторні заняття): 
• очна форма — 15 / 8 / 7; • заочна форма — 2 / 1 / 2.
Індивідуальна робота: 
; • заочна форма — контрольна робота.
Семестровий контроль: 
Екзамен.
Освітню компоненту забезпечує: 
Анотація: 

Мета вивчення дисципліни
Набуття знань з теоретичних основ розробки прикладного програмного забезпечення мовою високого рівня Python, оволодіння основними прийомами та алгоритмами вирішення прикладних завдань в області інженерії програмного забезпечення та їх програмної реалізації з використанням мови програмування Python та модулів стандартних бібліотек.
Практичне значення та використання отриманих знань
Отримання практичних навичок застосування з основними поняттями та особливостями роботи інтерпретаторів, сформувати комплексне уявлення про структуру прикладних програм мовою Python; вивчити особливості синтаксису і семантики базових конструктивних елементів мови програмування Python: лексем, виразів та операторів; отримати знання про різновиди простих та складених типів даних, усвідомити особливості їх використання при вирішенні прикладних завдань мовою програмування Python; сформувати уявлення про програмування функцій і їх використання для реалізації ієрархічної структури програми, отримати знання про імпорт та використання модулів стандартних бібліотек; сформувати комплексне уявлення про об'єктно-орієнтовану парадигму програмування мовою Python; оволодіти прийомами створення графічного інтерфейсу з організацією вводу та відображення даних, позиціонуванням елементів управління та обробкою пов’язаних з ними подій; вивчити особливості роботи з текстовими, бінарними та CSV-файлами, оволодіти основними операціями над ними; оволодіти базовими прийомами програмування ігор мовою Python, отримати знання про налаштування ігрового циклу; сформувати уявлення про засоби аналізу даних у Python, оволодіти базовими операціями для взаємодії з даними; вивчити засоби візуалізації даних у Python, оволодіти прийомами побудови графіків та налаштування їх елементів; сформувати уявлення про основні етапи модульного тестування, вивчити прийоми побудови unit-тестів.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. Принципи роботи інтерпретатору Python. Історія виникнення мови Python та її порівняння з іншими мовами програмування. Основні особливості Python: скриптова мова, підтримка різних парадигм програмування, портативність і платформонезалежність, автоматичне управління пам'яттю, динамічна типізація.
Лекція 2. Алфавіт мови програмування Python. Змінні та стандартні типи даних: числові та логічні. Приклади динамічної типізації. Операції: логічні, математичні, операції відношення та інші. Пріоритети та приклади використання операцій. Вирази.
Лекція 3. Архітектура програми мовою Python, імпорт та використання модулів стандартних бібліотек. Функції, область видимості змінних. Ввід та вивід даних, форматування вводу та виводу. Рядки, базові операції з рядками.
Лекція 4. Умовний оператор: if, else, elif. Оператори циклів while та for. Використання блоків та відступів. Оператори break, continue.
Лекція 5. Об'єктно-орієнтована парадигма програмування Python: класи, об’єкти, інкапсуляція, успадкування, поліморфізм, клас object. Типові практичні приклади для демонстрації об'єктно-орієнтованого програмування в мові Python.
Лекція 6. Створення графічного інтерфейсу. Модуль Tkinter: створення вікна застосування, робота з кнопками Button, текстовими мітками Label, полями вводу Entry. Позиціонування елементів.
Лекція 7. Створення графічного інтерфейсу (продовження). Модуль Tkinter: організація вибору з елементами Checkbutton та Radiobutton, оформлення списку з Listbox, створення ієрархічного меню з Menu.
Лекція 8. Робота з наборами даних. Стандартні типи list (список), dict (словник). Стандартні методи для роботи зі списками та словниками: створення, звернення до елементів, модифікація, порівняння, перебір елементів.
Лекція 9. Робота з наборами даних (продовження). Стандартні типи tuple (кортеж), set (множина). Стандартні методи для роботи з кортежами та множинами: створення, звернення до елементів, модифікація, порівняння, перебір елементів.
Лекція 10. Робота з файлами: відкриття, закриття, читання та запис. Текстові, бінарні та CSV-файли. Модулі pickle та csv.
Лекція 11. Основи програмування ігор. Бібліотека pygame. Ігровий цикл: обробка вводу (події), оновлення гри, рендеринг (прорисовка), швидкість роботи ігрового циклу. Створення шаблону для ігрового проекту. Використання звуків і фонової музики.
Лекція 12. Основи програмування ігор (продовження). Робота зі спрайтами. Рух / управління спрайтами. Кінематика руху та зіткнень.
Лекція 13. Засоби аналізу даних. Бібліотека pandas: структури даних Series та DataFrame, індексні об’єкти. Фундаментальні основи взаємодії з даними, аналіз і маніпуляція даними. Основи NumPy: масиви і векторні обчислення.
Лекція 14. Візуалізація даних. Бібліотека Mathplotlib. Основи роботи з модулем pyplot: побудова графіків, текстові надписи на графіку, налаштування елементів графіка, візуалізація даних з функцією plot().
Лекція 15. Модульне тестування. Основні ідеї unit-тестів. Використаннямодулюunittest. Концепції test case, test suite, test fixture, test runner. Методи setUp та tearDown. Аналіз результатів тестування.
Практичні заняття
Практичне заняття №1. Основні програмні терміни та етапи розробки програм. Огляд програмного забезпечення: IDLE, IDE PyCharm, JupyterNotebook.
Мета заняття: ознайомитися з основними програмними термінами та етапами розробки програм, навчитися працювати у середовищах IDLE, PyCharm та JupyterNotebook.
Практичне заняття №2. Складання програм для обчислення арифметичних виразів з використанням вводу і виводу даних. Організація інтерфейсу програми за допомогою рядків.
Мета заняття: навчитися складати прості програми для обчислення арифметичних виразів із використанням введення та виведення даних, а також організовувати інтерфейс програми за допомогою рядків.
Практичне заняття №3. Складання об'єктно-орієнтованих програм із застосуванням інкапсуляції, успадкування та поліморфізму.
Мета заняття: навчитися створювати об’єктно-орієнтовані програми з використанням принципів інкапсуляції, успадкування та поліморфізму.
Практичне заняття №4Створення графічного інтерфейсуз використанням модулю Tkinter.
Мета заняття: навчитися створювати прості графічні інтерфейси користувача з використанням модуля Tkinter.
Практичне заняття №5. Створення програми з використанням наборів даних: список, словник, кортеж, множина. Виконання операцій над наборами даних.
Мета заняття: навчитися використовувати різні структури даних у Python (список, словник, кортеж, множину) та виконувати основні операції над ними.
Практичне заняття №6. Створення базової програми для ігрового проекту. Налаштування ігрового циклу. Розгляд можливостей створення ігор категорії «Skill-and-action».
Мета заняттянавчитися створювати базову структуру ігрового застосунку, налаштовувати ігровий цикл та ознайомитися з особливостями розробки ігор типу «Skill-and-action».
Практичне заняття №7. Створення програм для аналізу даних з використанням структур даних Series, DataFrame та NumPy.
Мета заняття: навчитися створювати програми для аналізу даних із застосуванням бібліотек pandas (Series, DataFrame) та NumPy.
Практичне заняття №8. Створення програм для обчислення арифметичних виразів з наявністю методів. Побудова unit-тестів для перевірки працездатності методів.
Мета заняття: навчитися створювати програми з використанням методів для обчислення арифметичних виразів та будувати unit-тести для перевірки їхньої коректності.
Лабораторні заняття
Лабораторне заняття №1. Знайомство з інтерпретатором Python та середовищами розробки IDLE та IDE PyCharm: інсталяція, налаштування, створення типової програми
Мета заняття: ознайомитися з інтерпретатором Python та середовищами розробки IDLE і PyCharm, навчитися виконувати їхню інсталяцію, налаштування та створювати типову програму..
Лабораторне заняття №2. Створення програми з використанням умовних операторів та циклів.
Мета заняття: навчитися створювати програми з використанням умовних операторів і циклів, організовувати обчислювальні процеси за допомогою вкладених конструкцій.
Лабораторне заняття №3. Створення графічної програми для роботи з класами та наслідуванням
Мета заняття: навчитися створювати графічні програми з використанням об’єктно-орієнтованого підходу, застосовуючи класи та механізм наслідування.
Лабораторне заняття №4. Створення графічної програми з використанням списків та кортежів.
Мета заняття: навчитися створювати графічні програми з використанням списків і кортежів для зберігання та обробки даних.
Лабораторне заняття №5.Створення програми для роботи з файлами.
Мета заняття: навчитися створювати програми для читання, запису та обробки даних у файлах.
Лабораторне заняття №6. Створення ігрової програмизасобами бібліотеки Pygame.
Мета заняття: навчитися створювати базові ігрові програми з використанням бібліотеки Pygame та ознайомитися з її основними можливостями.
Лабораторне заняття №7. Створення програми для візуалізації даних з використанням Mathplotlib.
Мета заняття: навчитися будувати програми для візуалізації даних з використанням бібліотеки Matplotlib та ознайомитися з її основними можливостями.
Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. Історія виникнення мови Python. Основні особливості Python. Алфавіт. Змінні та стандартні типи даних. Операції: логічні, математичні, операції відношення та інші. Вирази.Архітектура програми, імпорт та використання модулів стандартних бібліотек.
Лекція 2. Функції. Ввід та вивід даних. Рядки, базові операції з рядками.Умовний оператор. Оператори циклів. Оператори break, continue.Об'єктно-орієнтована парадигма програмування Python.
Практичні заняття
Практичне заняття №1. Складання програм для обчислення арифметичних виразів з використанням вводу і виводу даних. Організація інтерфейсу програми за допомогою рядків.
Мета заняття: навчитися складати прості програми для обчислення арифметичних виразів із використанням введення та виведення даних, а також організовувати інтерфейс програми за допомогою рядків.
Лабораторні заняття
Лабораторне заняття №1. Створення програми з використанням умовних операторів та циклів.
Мета заняття: навчитися створювати програми з використанням умовних операторів і циклів, організовувати обчислювальні процеси за допомогою вкладених конструкцій.
Лабораторне заняття №2. Створення графічної програми для роботи з класами та наслідуванням
Мета заняття: навчитися створювати графічні програми з використанням об’єктно-орієнтованого підходу, застосовуючи класи та механізм наслідування.
Індивідуальна робота
Для здобувачів очної форми здобуття освіти індивідуальна робота відсутня за планом
Для заочної форми здобуття освіти
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 6 теоретичних питань, 5 практичних завдань та звіт з лабораторних робіт.
Обсяг відповіді на кожне теоретичне питання не менше, ніж 1 сторінки машинописного тексту. Текст відповіді має бути виконаний самостійно, а не скопійованим з конспекту лекцій.
Практичні завдання наведені в текстовій формі і присвячені питанням розробки програм та маніпулювання даними.
Термін надання виконаної контрольної роботи на перевірку – не менше, ніж за місяць до початку сесії.
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні:
1) 8 індивідуальних поточних завдань для практичних занять. Індивідуальні поточні завдання виконуються письмово і полягають в розв’язуванні типових задач відповідно до мети та завдань практичних занять. Бездоганне виконання кожного індивідуального поточного завдання оцінюється у 2 бали;
2) 7-ми індивідуальних поточних завдань для лабораторних робіт. Індивідуальні поточні завдання виконуються письмово і полягають в розв’язуванні типових задач відповідно до мети та завдань лабораторних занять. Бездоганне виконання завдання №1, №2 та №3 оцінюється по 4 бали, завдання №4, №5, №6 та №7 оцінюється по 3 бали;
3) двох модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин та проводяться у формі написання програми з коментарями відносно прийнятих рішень. Бездоганне виконання 1 та 2 модульних контрольних робіт становить по 30 балів.
Підсумковий контроль – іспит. Підсумковий контроль з дисципліни складається з двох частин: теоретичної та практичної. Мінімальна кількість балів, що зараховується як позитивний результат, дорівнює 60 (за 100-бальною шкалою).
Бали розподіляються наступним чином: 40 балів – теоретична частина та 60 балів – практична.
Екзаменаційний білет містить 2 теоретичних питання рівної складності, практична – 2 питання рівної складності.
За бездоганну відповідь на кожне теоретичне питання здобувач отримує 20 балів. При цьому відповідь вважається бездоганною, якщо здобувач повністю розкрив суть питання, послідовно і логічно його доповів, навів приклади. Кожне завдання практичної частини іспиту вважається виконаним бездоганно, якщо при його розв’язанні коректно розроблено програму відповідності до завдання.
Для заочної форми здобуття освіти
Захист контрольної роботи. Бездоганне виконання контрольної роботи оцінюється у 50 балів. Під час її захисту здобувач може отримати до 20 балів.
Виконання одного практичного заняття оцінюється у 10 балів.
Виконання двух лабораторних робіт оцінюється у 20 балів.
Підсумковий контроль – іспит. Іспит усний. Максимальна оцінка, яку може отримати здобувач – 100 балів.

Результати навчання: 

ПР13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПР14. Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення.

b242513 ▪ 2025 рік