ОСВIТНЯ ПРОГРАМА підвищення кваліфікації педагогічних працівників «Основи об'єктно-орієнтованого програмування мовою Python»
Мета програми полягає в комплексному професійному розвитку вчителів інформатики відповідно до вимог реформи Нова українська школа, системному вдосконаленні предметно-методичної та інформаційно-цифрової компетентностей шляхом поглиблення теоретичних знань і розвитку практичних умінь у сфері об'єктно-орієнтованого програмування мовою Python, а також опануванні інноваційних педагогічних технологій викладання алгоритмізації з використанням інструментів штучного інтелекту.
Суб’єкт підвищення кваліфікації:
Комунальний заклад вищої освіти "Дніпровська академія неперервної освіти" Дніпропетровської обласної ради"Інформація про розробника (розробників):
Андрій Мірошниченко, доцент кафедри управління інформаційно – освітніми проектами, кандидат філософських наук, доцент, доцент Комунального закладу вищої освіти «Дніпровська академія неперервної освіти» Дніпропетровської обласної радиОсоба (особи), які виконують програму:
Напрями підвищення кваліфікації:
- цифрові технології педагогічної діяльності на рівні базової середньої освіти(ГХЗВ)
- підвищення кваліфікації керівників закладів освіти, що забезпечують здобуття базової середньої освіти (ГХЗВ)
- використання інформаційно-комунікативних та цифрових технологій в освітньому процесі, включаючи електронне навчання, інформаційну та кібернетичну безпеку
- цифрова компетентність
Форма (форми) підвищення кваліфікації:
- дистанційна
Види підвищення кваліфікації:
- курси (навчання за програмами підвищення кваліфікації)
Цільова група:
- Вчитель
Перелік професійних стандартів:
- «Вчитель закладу загальної середньої освіти» (2024)
Складники системи освіти та рівні освіти:
- освіта дорослих, у тому числі післядипломна освіта
Професійні компетентності за професійними стандартами педагогічних працівників:
- АЗ. Інформаційно-цифрова компетентність
- А3.2. Здатність ефективно використовувати наявні та створювати (за потреби) нові електронні (цифрові) ресурси
ЗМІСТ ПРОГРАМИ
МОДУЛЬ 1: ТЕОРЕТИКО-МЕТОДИЧНІ ЗАСАДИ НАВЧАННЯ ООП ТА ІНТЕГРАЦІЇ ШІ В КУРСІ ІНФОРМАТИКИ
Тема 1.1. Концепція НУШ та інноваційні підходи у викладанні програмування з використанням ШІ
Лекційні та практичні заняття цієї теми присвячені глибокому аналізу трансформації змісту шкільного курсу інформатики під безпосереднім впливом реформи Нова українська школа та європейських рамок цифрової компетентності вчителів та громадян. Розглядаються сутність компетентнісного підходу, наскрізні змістові лінії, а також детальне місце розділу Алгоритми та програмування у сучасних модельних навчальних програмах для базової та профільної школи. Особлива увага приділяється інтеграції концепції обчислювального мислення як ключової метакомпетентності сучасного школяра, що включає процеси декомпозиції складних систем, розпізнавання патернів, абстрагування від другорядних деталей та безпосереднє алгоритмічне проєктування.
У межах теми детально аналізується впровадження генеративного штучного інтелекту як потужного дидактичного інструменту. Слухачі вивчають методики використання великих мовних моделей для генерації навчальних завдань, створення персоналізованих підказок для учнів з різним рівнем підготовки та організації безпечного інтерактивного діалогу між учнем і ШІ-асистентом. Значна увага приділяється етичним та правовим аспектам цифровізації освіти: захисту персональних даних учнів, дотриманню авторських прав на програмний продукт, створений за допомогою ШІ, та формуванню у школярів стійкої культури академічної доброчесності. Педагоги вчаться переорієнтовувати навчальний процес від механічного копіювання синтаксису до глибокого розуміння логіки роботи коду, що генерується машиною.
Зміст лекційного матеріалу охоплює теоретичні питання трансформації мети викладання програмування в НУШ: перехід від вивчення сухих синтаксичних конструкцій до вирішення життєвих, практикоорієнтованих проблем за допомогою коду. Обчислювальне мислення та детальна методика його інтеграції в уроки інформатики. Психолого-педагогічні особливості сприйняття абстрактних понять програмування учнями різних вікових груп. Сучасні педагогічні технології як тактика реалізації парадигми НУШ, зокрема модульно-розвивальне, кооперативне та проблемно-діалогічне навчання. Штучний інтелект в освіті: класифікація інструментів, генеративні текстові та кодові моделі, їх дидактичний потенціал та межі застосування. Правові та етичні аспекти цифровізації, захист персональних даних, дотримання авторських прав на програмний продукт, створений з використанням ШІ, та запобігання плагіату серед учнів.
Зміст практичного заняття передбачає самостійне та групове проєктування технологічної карти сучасного уроку інформатики з розвитку обчислювального мислення в умовах НУШ. Моделювання різноманітних педагогічних ситуацій диференційованого підходу до учнів. Огляд та критичний аналіз діючих модельних програм НУШ в інформатичній галузі. Створення чітких критеріїв оцінювання для первинних алгоритмічних завдань. Практикум з промпт-інжинірингу для вчителя: складання ефективних запитів до ШІ з метою розробки конспектів уроків, різнорівневих завдань та тестів. Створення пам'ятки для учнів щодо етичного та академічно доброчесного використання ШІ під час виконання домашніх робіт з програмування.
Тема 1.2. Філософія та основи об'єктно-орієнтованого підходу: класи та об'єкти мовою Python
Заняття цієї теми спрямовані на глибоке вивчення сутності об'єктно-орієнтованого програмування як провідної методології проектування програмних систем. Слухачі знайомляться з філософським підґрунтям ООП, яке полягає в моделюванні реального світу через взаємодію самостійних об'єктів, кожен з яких має свій стан та поведінку. Розглядається поняття класу як абстрактного креслення, шаблону або типу даних, та об'єкта як конкретного екземпляра цього класу. Слухачі детально вивчають синтаксис опису класів у мові Python, оголошення атрибутів для зберігання стану та функцій-методів для опису поведінки об'єктів. Особлива увага приділяється методиці пропедевтики цих складних понять у шкільному курсі інформатики через яскраві життєві аналогії, зрозумілі учням середніх та старших класів.
Центральне місце в темі посідає вивчення конструктора класу — спеціального методу init, який автоматично викликається під час створення нового об'єкта та ініціалізує його початкові параметри. Слухачі детально розбирають призначення та обов'язковість використання першого параметра self у методах класу, який виступає посиланням на поточний екземпляр об'єкта і забезпечує доступ до його внутрішнього стану. У межах практичної роботи вчителі опановують технологію використання штучного інтелекту як інтерактивного коуча, що допомагає учням покроково створювати їхні перші класи, генерує прості та наочні приклади коду з коментарями, а також автоматично виявляє поширені помилки початківців, такі як відсутність self або неправильна індентація блоків коду в Python.
Зміст лекційного матеріалу включає розгляд еволюції парадигм програмування: від лінійного та процедурного коду до об'єктно-орієнтованої архітектури, передумови виникнення та переваги ООП при розробці великих проєктів. Базові поняття: клас, об'єкт, екземпляр, стан, поведінка. Синтаксис створення класу в мові Python, правила іменування класів (PascalCase). Атрибути класу та атрибути екземпляра: відмінності, механізми створення та життєвий цикл у пам'яті комп'ютера. Методи як функції, що діють у контексті об'єкта. Спеціальний метод init, його роль в ініціалізації об'єктів. Параметр self: глибоке розуміння його природи та логіки передачі посилань. Методика викладання теми в базовій школі: використання метафор (клас як рецепт, об'єкт як готова страва; клас як креслення автомобіля, об'єкт як реальний автомобіль на дорозі) для подолання когнітивного бар'єру в учнів.
Зміст практичного заняття охоплює написання та налагодження перших програм з описом класів та створенням об'єктів у середовищах розробки або хмарних блокнотах Google Colab. Реалізація прикладних класів, наприклад, Книга, Студент, Автомобіль, Смартфон, з визначенням відповідних атрибутів та методів. Практикум з ініціалізації об'єктів з різними наборами вхідних параметрів через конструктор. Використання генеративного ШІ для автоматичного створення великої кількості різнорівневих тренувальних вправ на створення класів та об'єктів під індивідуальні потреби учнів. Розробка дидактичної гри Вгадай об'єкт за його атрибутами для використання на етапі актуалізації знань. Аналіз та виправлення синтаксичних помилок у коді за допомогою ШІ-помічників.
Тема 1.3. Інкапсуляція даних та методів: механізми захисту атрибутів, геттери та сеттери
Ця тема присвячена вивченню першого фундаментального принципу об'єктно-орієнтованого програмування — інкапсуляції. Інкапсуляція розглядається як процес об'єднання даних та методів, що оперують цими даними, всередині однієї логічної капсули-класу, а також як механізм приховування внутрішньої реалізації від прямого зовнішнього втручання. Слухачі вивчають філософію захищеного програмування, яка забороняє безпосередню модифікацію внутрішнього стану об'єкта ззовні, оскільки це може призвести до порушення цілісності даних та виникнення важковловимих логічних помилок. Розглядається реалізація рівнів доступу в мові Python, яка базується на угоді про іменування атрибутів за допомогою префіксів підкреслення.
Педагоги детально вивчають відмінності між публічними атрибутами, захищеними атрибутами (з одним підкресленням) та приватними атрибутами (з двома підкресленнями), а також механізм викривлення імен (Name Mangling), який Python використовує для захисту приватних змінних. Розглядається створення спеціальних методів доступу — геттерів (get-методи) для безпечного зчитування значень та сеттерів (set-методи) для валідації та контрольованого оновлення даних. Особлива увага приділяється використанню штучного інтелекту як інтерактивного симулятора кода, який допомагає учням наочно побачити, що відбувається при спробі прямого доступу до приватного атрибута, та вчить їх писати чистий, безпечний і професійний код, який відповідає стандартам розробки.
Зміст лекційного матеріалу розкриває сутність інкапсуляції як концепції чорної скриньки в програмуванні. Інтерфейс класу та його внутрішня реалізація: принципи розділення. Механізми обмеження доступу до даних у Python. Публічні атрибути та методи. Захищені атрибути, сутність домовленості між розробниками про їх використання. Приватні атрибути, механізм приховування імен на рівні інтерпретатора. Концепція безпечної модифікації стану об'єкта. Створення інтерфейсних методів: геттери та сеттери, реалізація логіки перевірки коректності вхідних даних всередині сеттера. Декоратори property та setter в Python як сучасний елегантний спосіб управління доступом. Методичні підходи до пояснення інкапсуляції учням шкільного віку на прикладі банкомата, кавомашини або ігрового персонажа, внутрішні характеристики якого захищені від читерства.
Зміст практичного заняття складається з проектування та написання класів із прихованими атрибутами. Реалізація класу БанківськийРахунок з приватним атрибутом балансу та методами внесення і зняття грошей з обов'язковою перевіркою лімітів та коректності сум. Створення геттерів та сеттерів для управління доступом до критичних даних об'єкта. Практикум з використання декораторів для оптимізації синтаксису коду. Використання ШІ для автоматичного рецензування та аудиту безпеки написаного коду, пошук потенційних вразливостей, де інкапсуляцію було порушено. Розробка кейс-завдань для учнів, де їм пропонується рефакторити процедурний або незахищений код в елегантний інкапсульований клас, використовуючи покрокові підказки від ШІ-тьютора.
МОДУЛЬ 2: ПРАКТИКУМ ІЗ ПРОГРАМУВАННЯ СКЛАДНИХ КОНЦЕПЦІЙ ООП ТА МЕТОДИКА ВИКОНАННЯ УЧНІВСЬКИХ ПРОЄКТІВ
Тема 2.1. Успадкування та поліморфізм як основа повторного використання коду та розширення систем
У межах цієї теми слухачі переходять до вивчення складніших, але надзвичайно потужних принципів об'єктно-орієнтованого програмування — успадкування та поліморфізму. Успадкування розглядається як механізм створення нового класу (нащадка або дочірнього класу) на основі вже існуючого (предка або базового класу), що дозволяє автоматично переймати його атрибути та методи, уникаючи дублювання коду та забезпечуючи ієрархічну структуру програмної системи. Слухачі вивчають синтаксис успадкування в Python, принципи перевизначення методів (Method Overriding) для адаптації поведінки нащадка, а також використання вбудованої функції super для коректного виклику методів батьківського класу всередині класу-нащадка.
Поліморфізм вивчається як здатність об'єктів різних класів з однаковим інтерфейсом виконувати по-різному однойменні методи залежно від своєї конкретної природи. Розглядається концепція качиної типізації (Duck Typing), яка є фундаментальною для динамічної філософії мови Python: якщо об'єкт поводиться як качка, то інтерпретатор вважає його качкою, незалежно від його офіційного класу. У практичній площині вчителі опановують інноваційні методики пояснення цих концепцій через розробку ігрових систем, де є базовий клас персонажа або ворога, а конкретні типи персонажів успадковують його властивості, але мають унікальні суперздібності. Інструменти штучного інтелекту використовуються для візуалізації ієрархій класів, побудови діаграм зв'язків та автоматичної генерації складних поліморфних тестів для учнів.
Зміст лекційного матеріалу розкриває концепцію повторного використання коду (DRY - Don't Repeat Yourself) як головну парадигму сучасної розробки. Базові та дочірні класи, суперкласи та підкласи: термінологія та сутність відносин є частиною (is-a). Синтаксис успадкування в мові Python. Функція super, її роль в ініціалізації дочірніх об'єктів та розширенні батьківського функціоналу. Перевизначення методів: правила та обмеження. Множинне успадкування та порядок розрізнення методів (MRO - Method Resolution Order), алгоритм C3-лінеаризації (загальний огляд для профільного рівня). Поліморфізм як концепція єдиного інтерфейсу для різних типів даних. Качина типізація в Python, її переваги та небезпеки в учнівському коді. Абстрактні класи та методи, модуль abc. Методика викладання теми в 10-11 класах НУШ: моделювання екосистеми тварин або елементів графічного інтерфейсу операційної системи (кнопки, текстові поля, які успадковують базовий віджет).
Зміст практичного заняття передбачає розробку складної ієрархії класів мовою Python. Створення базового класу Співробітник та дочірніх класів Менеджер, Розробник, Дизайнер з розрахунком заробітної плати за різними формулами через перевизначення методів. Реалізація поліморфної функції, яка приймає список об'єктів різних професій та автоматично розраховує загальну відомість компанії. Практикум з використання функції super для каскадної ініціалізації атрибутів. Застосування генеративного штучного інтелекту для створення індивідуалізованих завдань-головоломок на пошук логічних помилок в складних ієрархіях успадкування. Побудова текстових схем та діаграм класів за допомогою ШІ для кращої візуалізації структури програми учнями.
Тема 2.2. Метод проєктів у вивченні ООП: Розробка комплексних учнівських застосунків за допомогою ШІ-асистентів
Ця тема повністю присвячена практичній реалізації проєктної технології навчання, яка є наріжним каменем реформи Нова українська школа. Проєктне навчання дозволяє учням інтегрувати всі отримані знання з об'єктно-орієнтованого програмування для створення законченого, реалістичного та корисного програмного продукту. Слухачі курсу вчаться організовувати повний життєвий цикл розробки учнівського ІТ-проєкту: від етапу аналізу вимог, декомпозиції складної системи на окремі взаємопов'язані класи, до етапів безпосереднього кодування, тестування, виправлення помилок та фінальної презентації-демонстрації результатів перед аудиторією.
Особлива увага приділяється новій ролі штучного інтелекту як інтелектуального партнера та асистента в проєктній діяльності. Вчителі опановують методики навчання учнів спільної розробки коду з ШІ, де людина виступає в ролі архітектора та системного інтегратора, а ШІ — в ролі швидкого виконавця рутинних операцій, генератора шаблонів або помічника в написанні юніт-тестів. Слухачі розробляють методичні кейси для таких комплексних проєктів, як Система управління шкільною бібліотекою, Електронний журнал класу, Текстова рольова гра з об'єктами-персонажами або Симулятор екосистеми. Педагоги вчаться оцінювати не лише фінальний код, а й якість промпт-інжинірингу учнів, їхню здатність критично аналізувати та оптимізувати пропозиції штучного інтелекту.
Зміст лекційного матеріалу розкриває методику організації проєктної діяльності на уроках інформатики в умовах обмеженого часу. Етапи розробки програмного забезпечення (SDLC) в адаптації для шкільного навчання. Проектування архітектури застосунку: визначення сутностей предметної області та відображення їх у класи ООП. Організація командної роботи учнів, розподіл ролей у групі (архітектор, програміст, тестувальник, дизайнер інтерфейсу). Інтеграція генеративного ШІ в проєктну роботу: використання ШІ для брейнштормінгу ідей, планування архітектури, написання документації та створення коментарів до коду. Проблема чистоти коду (Clean Code) та рефакторингу: як навчити учнів покращувати структуру коду, згенерованого штучним інтелектом. Критерії оцінювання комплексних проєктів за стандартами НУШ.
Зміст практичного заняття полягає в самостійній розробці слухачами повнофункціонального випускного міні-проєкту на основі ООП мовою Python. Створення архітектури, що містить щонайменше 3-4 взаємопов'язані класи з використанням інкапсуляції та успадкування. Практикум з написання інтерактивного інтерфейсу (текстового або найпростішого графічного). Активне використання ШІ як ментора для оптимізації алгоритмів та прискорення написання коду. Розробка слухачами детальної інструкції та методичних вказівок для учнів щодо виконання аналогічного проєкту в школі, включаючи зразки правильних промптів до ШІ для кожного етапу розробки, матрицю критеріїв оцінювання та чек-лист самоперевірки для підготовки до захисту проєкту.
Тема 2.3. Семінар з обміну досвідом: Презентація авторських методичних кейсів та технології ШІ-оцінювання коду
Завершальна тема курсу орієнтована на активну професійну взаємодію, рефлексію та підбиття підсумків навчання. Вона проводиться у формі відкритого науково-методичного семінару, де кожен слухач презентує свої авторські розробки, створені протягом навчання. Це забезпечує реалізацію принципу педагогічного партнерства та дозволяє сформувати потужне регіональне сховище дидактичних матеріалів для вчителів інформатики Дніпропетровської області. Слухачі колективно обговорюють методичні труднощі, які можуть виникнути при впровадженні тем ООП у різних класах, та спільно шукають шляхи їх подолання.
Особлива увага на семінарі приділяється інноваційним технологіям оцінювання навчальних досягнень учнів в епоху штучного інтелекту. Традиційні методи контролю втрачають ефективність, коли учні мають доступ до генераторів коду, тому вчителі вивчають та тестують системи автоматизованого оцінювання та використання ШІ для швидкого аналізу логіки учнівського коду. Штучний інтелект може миттєво проаналізувати роботу учня, виявити не лише синтаксичні помилки, а й неефективні алгоритми, підказати, які саме концепції ООП дитина зрозуміла неправильно, та сформувати персоналізований звіт з рекомендаціями для подальшого навчання. Слухачі вчаться створювати інтерактивні рубрики оцінювання, де бали виставляються за глибину розуміння коду, здатність захистити свій проєкт та вміння пояснити кожну строчку, написану самостійно або разом із ШІ.
Зміст лекційного матеріалу розкриває теоретичні та практичні засади формувального оцінювання на уроках програмування в НУШ. Концепція оцінювання для навчання порівняно з оцінюванням навчання. Трансформація систем контролю в умовах доступності інструментів штучного інтелекту: зміщення акценту з написання коду на його читання, аудит, рефакторинг та усний захист. Використання ШІ як інструменту для проведення первинного автоматизованого аналізу учнівських робіт та формування розгорнутого фідбеку. Огляд сучасних платформ для проведення олімпіад та автоматизованої перевірки коду. Методика організації та проведення учнівських хакатонів та демо-днів як сучасних альтернативних форм підсумкового контролю в інформатичній галузі.
Зміст практичного заняття включає публічний захист розроблених слухачами методичних кейсів та випускних проєктів. Рецензування робіт колег за круглим столом, обговорення сильних та слабких сторін представлених матеріалів. Практикум з налаштування ШІ-асистента для автоматичної перевірки учнівських робіт: створення спеціальних системних промптів, які змушують ШІ не давати готову відповідь учню, а підштовхувати його до правильного рішення через навідні питання (метод Сократа). Колективне формування банку кращих практик та дидактичних матеріалів з об'єктно-орієнтованого програмування мовою Python для спільноти вчителів інформатики Нової української школи.
ПРАКТИЧНІ ЗАВДАННЯ ТА САМОСТІЙНА РОБОТА
Практичні завдання є обов'язковою складовою освітньої програми та виконуються слухачами самостійно в асинхронному режимі з подальшим завантаженням результатів у віртуальний кабінет Google Classroom. Кожне завдання супроводжується детальними інструкціями, шаблонами коду та критеріями оцінювання. Самостійна робота слухачів спрямована на поглиблення теоретичних знань, опрацювання додаткової літератури, роботу з електронними ресурсами, підготовку до виступів на семінарах та безпосереднє виконання випускного кваліфікаційного проєкту.
Перелік обов'язкових практичних робіт курсу розроблений таким чином, щоб слухач пройшов шлях від базового кодингу до системного методичного проєктування:
Практична робота:
Складання промпт-матриці для вчителя інформатики: розробка серії з десяти верифікованих запитів до генеративного ШІ для створення різнорівневих дидактичних матеріалів з теми ООП.
Проєктування та розробка базового класу: створення класу з визначеними атрибутами, методами та конструктором init мовою Python, налагодження процесу створення об'єктів.
Реалізація інкапсуляції: рефакторинг відкритого класу в захищений, створення приватних атрибутів, геттерів та сеттерів з логікою валідації даних, застосування декораторів property.
Створення поліморфної ієрархії класів: проектування базового класу та кількох класів-нащадків, перевизначення методів, використання функції super для розширення функціоналу.
Розробка інструкції до учнівського STEM-проєкту: створення детальної карти проєкту на основі ООП для учнів старших класів, що містить етапи роботи, очікувані результати та схеми використання ШІ.
Налаштування ШІ-ментора для формувального оцінювання: створення інструкції-промпту для мовної моделі, яка дозволяє автоматизувати аналіз учнівського коду та надавати якісний фідбек без готових рішень.
Самостійна робота слухачів включає вивчення нормативних документів, аналіз модельних програм, читання сучасної профільної літератури з комп'ютерних наук та методики навчання. Велика кількість часу виділяється на індивідуальну підготовку випускного практикоорієнтованого проєкту та оформлення його у вигляді презентації або текстового кейсу для захисту на підсумковому семінарі. Усі матеріали самостійної роботи проходять перевірку на дотримання принципів академічної доброчесності.
Очікувані результати підвищення кваліфікації
Знання й розуміння включають глибоке засвоєння концептуальних засад та вимог Державного стандарту базової середньої освіти щодо формування інформатичної компетентності, сутності та філософії об'єктно-орієнтованого програмування, архітектурних відмінностей між об'єктним та процедурним підходами, синтаксису створення класів та об'єктів у мові Python, призначення конструктора класу, специфіки використання ключового слова self, сутності інкапсуляції, рівнів доступу до атрибутів та методів, механізмів реалізації успадкування та поліморфізму, а також дидактичних можливостей, ризиків та етичних обмежень використання штучного інтелекту в шкільному навчанні програмуванню.
Уміння й навички передбачають розвиток стійких практичних спроможностей ефективно застосовувати концепції ООП для розв’язання прикладних, логічних та дослідницьких задач, створювати власні класи та ієрархії об'єктів мовою Python, розробляти інтерактивні навчальні проєкти, текстові квести, симуляції та графічні інтерфейси користувача для учнів середньої та старшої школи. Слухачі оволодіють уміннями диференціювати та індивідуалізувати завдання з програмування за допомогою ШІ-інструментів, організовувати проєктну та командну діяльність школярів у хмарних середовищах, проводити критичний аналіз та аудит учнівського коду, знаходити логічні та синтаксичні помилки, а також проєктувати критерії формувального та підсумкового оцінювання з використанням автоматизованих систем.
Установки відображають ціннісно-орієнтовані аспекти професійної діяльності, такі як усвідомлення стратегічної важливості розвитку обчислювального та об'єктного мислення учнів як передумови їхньої успішної самореалізації, неухильне дотримання правил академічної доброчесності під час розробки, використання та оцінювання програмних продуктів, створених самостійно або із залученням систем ШІ, орієнтація на підтримку дитячої креативності, ініціативності, критичного мислення та впевненості у власних силах під час створення індивідуальних та командних програмних рішень, а також прагнення до безперервного професійного розвитку та активної участі в освітніх трансформаціях.