books

Проблеми сучасного підручника. Вип. 32. 2024

ДОСЛІДЖЕННЯ ФАКТОРІВ ВИБОРУ МОВИ ПРОГРАМУВАННЯ ДЛЯ ВИВЧЕННЯ В ЗАКЛАДАХ ЗАГАЛЬНОЇ СЕРЕДНЬОЇ ОСВІТИ

Ігор Твердохліб, кандидат педагогічних наук, доцент, провідний науковий співробітник відділу математичної та інформатичної освіти,Інститут педагогіки НАПН України, м. Київ, доцент кафедри інформаційних технологій і програмування, Український державний університет імені Михайла Драгоманова, м. Київ, Україна

id https://orcid.org/0000-0001-6301-0159

mail i.a.tverdokhlib@gmail.com

Сергій Оніщенко, аспірант кафедри інформаційних технологій і програмування, Український державний університет імені Михайла Драгоманова, м. Київ, доцент кафедри інформаційних технологій і програмування, Український державний університет імені Михайла Драгоманова, м. Київ, Україна

mail s.m.onishchenko@npu.edu.ua

 

Анотація

У статті вказано на актуальності вибору мови програмування для вивчення в закладах загальної середньої освіти. На основі ретельного аналізу наукових доробок учених щодо вибору мови програмування для вивчення в школі, встановлено основні фактори, що впливають на вибір мови програмування: готовність конкретного вчителя до навчання програмування з використанням відповідного апаратно-програмного забезпечення, наявність зручного в навчанні, доступного до використання середовища програмування, перспективи використання цієї мови в подальшій професійній діяльності учнів та наявність методичної підтримки щодо вивчення вказаної мови програмування.

На основі детального аналізу нормативних документів, навчальних програм та змісту навчального матеріалу, було встановлено, що шкільний навчальний матеріал з алгоритмізації й програмування в основному базується на вивченні мов програмування Object Pascal (середовище Lazarus) або Python (середовище IDLE). В статті автори виокремлюють основні фактори, що впливають на вибір мови програмування – мета навчання програмування, легкість її вивчення (або «поріг входження»), підтримка в ній базових концепцій об’єктно-орієнтованого програмування, практичне застосування (популярність мови серед розробників програмного забезпечення, широке використання в різних галузях, кросплатформність), інтерес учнів до обраної мови, наявність додаткових інформаційних джерел як для вчителів так і для учнів.

За результатами проведеного дослідження було наведено аргументи на користь того, що реальними претендентами на першість щодо вивчення в школах є такі мови програмування як Python, Java, С++ і C#.

Ключові слова: освітній процес; середня освіта; інформатика; мова; середовище; програмування; фактори вибору

Постановка проблеми

У сучасному інформаційному суспільстві галузь програмування та програмна інженерія відіграють важливу роль у розвитку інформаційно-комунікаційних технологій, зокрема, впливають на розроблення нових програмних продуктів, високоінтелектуальних комп’ютерних систем, використовуються для розроблення програмного забезпечення, що використовується в різних галузей життєдіяльності людини – науці, техніці, промисловості, медицині, економіці, транспорті, освіті. Так, багато із сучасних технологій, які використовуються щоденно, створено завдяки програмуванню – пошукові системи, технології передавання повідомлень, месенджери, соціальні мережі, мобільні додатки тощо. Програмування є ключовим інструментом для розроблення програмного забезпечення, використання якого робить життя людей більш продуктивним і комфортним.

Професія програміста є однією з найпопулярніших на ринку праці, оскільки більшість сучасних компаній потребують послуг кваліфікованих програмістів для технологічної реалізації своїх задумів та ідей – проєктування, створення та підтримки програмних продуктів різноманітного призначення. Програмування є привабливою кар’єрою з високим потенціалом заробітку та можливостями для особистого розвитку (Оніщенко & Твердохліб, 2023).

Вивчення програмування є важливим напрямом у сучасному освітньому середовищі, оскільки забезпечує розвиток логічного, синтетичного, обчислювального та алгоритмічного мислення; системне формування та підвищення рівня цифрової та комп’ютерної грамотності; розуміння процесу розроблення та виконання програм; усвідомлення процесів функціонування сучасних інформаційних систем і технологій.

Для забезпечення якісного навчання програмуванню визначальним є правильний вибір мови програмування. Водночас, вибір мови програмування для вивчення в закладах загальної середньої освіти є складним завданням, оскільки передбачає врахування відповідних вікових та індивідуальних психофізіологічних особливостей і потреб учнів та потребує уважного дослідження багатьох інших факторів.

Аналіз останніх досліджень і публікацій

Вивченню питань присвячених методиці навчання програмування в школі присвячені праці багатьох українських та закордонних дослідників. Серед українських учених, що вивчали теоретичні та методичні засади навчання програмування в школі варто виокремити В.Ю. Габрусєва, Ю.В. Горошка, М.І. Жалдака, І.М. Лукаш, Н.В. Морзе, Ю.С. Рамського, В.Д. Руденко, С.О. Семерікова, О.М. Спіріна, І.О. Телицького, Ю.В. Триуса. Питання, пов’язані з вибором мови програмування для вивчення в школі досліджували В.М. Базурін, Ю.В. Горошко, С.С. Жуковський, О.П. Зеленяк, Т.П. Кобильник, В.В. Лапінський, П.Г. Шевчук, О.Б. Ящик.

В.В. Лапінський, спираючись на результати проведеного за сприянням науково-методичного журналу «Комп’ютер у школі та сім’ї» широкого обговорення вчительським і науково-педагогічним загалом проблем навчання алгоритмізації й програмування в основній школі, аналізуючи дані, отримані шляхом анкетування учасників ІV етапу олімпіад з програмування, а також ураховуючи думки відомих експертів, доходить до висновку про те, що «…нині не так важливо, якою мовою послуговуватись. Більш важливим є методичне забезпечення процесу навчання» (Лапінський, 2014, с. 16). У цій же статті В.В. Лапінський відносить до найголовнішого фактору вибору мови програмування готовність конкретного вчителя до навчання програмування з використанням відповідного апаратно-програмного забезпечення. Водночас, щодо вибору мови програмування, автор наводить той факт, що «…найбільш природним і строгим перехід від процедурного програмування до ООП вбачається з використанням мови Pascal, з використанням ланцюжка понять: типи – процедури – передавання даних – запис (структура як властивість) – об’єкт (структура як властивість + процедура як метод) з обов’язковою його пропедевтикою на початкових етапах навчання» (Лапінський, 2014, с. 17).

О.І. Яценко та Л.М. Чумак (Яценко & Чумак, 2020) описують критерії та показники добору середовищ візуального програмування, до яких відносять функціональність, зручність, технологічні особливості, популярність та розвиток, професійну спрямованість. Проте висновок про рекомендовану мову програмування для вивчення в школі у роботі не дається.

С.С. Жуковський та О.В. Коротун роблять висновок про те, що вивчення мови програмування C++ у школі має ряд переваг, оскільки існують великі перспективи застосування цієї мови в подальшій професійній діяльності та можливість уникнути в подальшому проблеми переходу від навчання до професійного програмування. Водночас автори виокремлюють такі фактори вибору мови програмування:

В.М. Базурін (Базурін, 2021; Базурін, 2017) зазначає, що нині основною мовою програмування для більшості учнів загальноосвітніх шкіл є Python, детально описує переваги та недоліки використання мови Python у порівнянні з мовами С, С++, С#, Java. Серед особливостей мови Python підкреслюється її простота і водночас певна специфічність синтаксису та структур даних.

П.Г. Шевчук наголошує на тому, що «…вибір мови програмування визначається як характеристиками, особливостями самої мови, так і наявністю зручного в навчанні, доступного до використання середовища програмування» (Шевчук, 2010). На думку автора, суттєвими факторами вибору мови з погляду навчального використання є призначення, тип, поширеність, особливості синтаксису та наявність методичної підтримки (Шевчук, 2013).

Метою написання статті є визначення та обґрунтування факторів вибору мови програмування для навчання програмування в закладах загальної середньої освіти.

Методи дослідження

У дослідженні було використано теоретичні (аналіз літературних джерел та нормативних документів, систематизація теоретичного матеріалу з проблеми дослідження) та емпіричні (узагальнення педагогічного досвіду) методи.

Виклад основного матеріалу дослідження

Для визначення чинників, що впливають на вибір мови програмування для вивчення в школі, насамперед потрібно провести аналіз змістового наповнення навчального матеріалу з алгоритмізації й програмування інформатичної освітньої галузі на всіх рівнях здобуття повної загальної середньої освіти.

Метою початкової освіти є всебічний розвиток дитини, її талантів, здібностей, компетентностей та наскрізних умінь відповідно до вікових та індивідуальних психофізіологічних особливостей і потреб, формування цінностей, розвиток самостійності, творчості та допитливості (Державний стандарт початкової освіти, 2018). За рекомендованими МОН типовими освітніми програмами О.Я. Савченко для 1‒4 класів закладів загальної середньої освіти предмет «Інформатика» вивчається з другого по четвертий клас (Савченко, 2022 а; Савченко, 2022 б). В освітніх програмах Шияна Р.Б. у другому класі передбачається вивчення навчального матеріалу інформатичної освітньої галузі в рамках інтегрованого предмету «Я досліджую світ», а предмет «Інформатика» вивчається в третьому і четвертому класах (Шиян, 2022 а; Шиян, 2022 б).

Відповідно до змістової лінії «Алгоритми» у початковій школі передбачається:

У 5‒9 класах подальше вивчення учнями засобів інформаційних технологій відбувається в рамках предмету «Інформатика». Оскільки, «…метою базової середньої освіти є розвиток природних здібностей, інтересів, обдарувань учнів, формування компетентностей, необхідних для їх соціалізації та громадянської активності, свідомого вибору подальшого життєвого шляху та самореалізації, продовження навчання на рівні профільної освіти або здобуття професії» (Про деякі питання державних стандартів, 2020), то вивченню програмування має приділятися особлива увага. Для досягнення цього в модельних навчальних програмах, розміщених на сайті МОН України, для 5‒6 та 7‒9 класів (Модельні навчальні програми для 5-9 класів Нової української школи) передбачена змістова лінія «алгоритми і програми», у якій наявне послідовне ускладнення навчального матеріалу та умовне виокремлення двох змістових рівнів, що відповідають адаптаційному циклу (5‒6 класи) і циклу базового предметного навчання (7‒9 класи).

В адаптаційному циклі, відповідно до затверджених модельних навчальних програм (Модельні навчальні програми для 5‒9 класів Нової української школи), зміст навчального матеріалу може варіюватися, але, як інваріантний, у розділі «Алгоритми і програми» пропонується такий:

Таблиця 1.

Зміст теми «Алгоритми та програми» у 5‒6 класах

5 клас6 клас
Виконавці алгоритмів та їх системи команд. Способи опису алгоритму. Програма. Середовище опису й виконання алгоритмів. Лінійні алгоритми. Висловлювання. Істинні та хибні висловлювання. Алгоритми з розгалуженнями. Алгоритми з повтореннями. Креслення геометричних фігур.Поняття про об’єкт у програмуванні. Властивості об’єкта. Створення програмних об’єктів. Поняття події. Види подій. Програмне опрацювання події. Змінювання значень властивостей об’єкта в програмі. Вкладені алгоритмічні структури повторення та розгалуження. Розв’язання задачі методом поділу на підзадачі. Змінні величини в програмуванні.

В адаптаційному циклі не ставиться завдання глибокого та вичерпного вивчення засобів інформаційних технологій, а зроблено акцент на набутті навичок їх практичного застосування, а також на розвивальній спрямованості навчання. Тому, з метою врахування вікових особливостей учнів, для підтримки вивчення матеріалу розділу «Алгоритми і програми» допускається використання навчально-імітаційних програмних засобів і середовищ, рекомендується обирати середовища блочного програмування на кшталт Scratch, а також використовувати онлайн-ресурси для самостійного опанування навичок програмування. У роботі (Загальна середня освіта України в умовах воєнного стану та відбудови, 2022, с. 181) зазначено, що використання середовищ блочного програмування для розроблення власних проєктів, які не вимагають явного (текстового) написання коду, забезпечує суттєве поліпшення доступності для суб’єктів навчання саме логічної структури алгоритмів.

На основі державного стандарту базової середньої освіти у 2023 році було розроблено ряд модельних навчальних програм (МНП) для циклу базового предметного навчання (7‒9 класи). Оскільки при розробленні МНП, за основу брався державний стандарт, то всі програми мають спільну змістову частину, а відрізняються підходами до подання навчального матеріалу, видами навчальної діяльності та структурою предмету. Розглянемо зміст змістової лінії «Алгоритми та програми» на прикладі модельної навчальної програми «Інформатика. 7–9 класи» (Завадський, Коршунова & Твердохліб, 2023).

Таблиця 2

Зміст теми «Алгоритми та програми» у 7‒9 класах

КласЗміст теми
7 класСтруктурне програмування. Графічне програмування
Поняття про текстову мову програмування. Ознайомлення із середовищем програмування. Складання, компіляція та/або інтерпретація програм. Введення та виведення даних. Змінні. Присвоювання. Типи даних, перетворення типів. Операції із числами. Умовний оператор. Визначені та невизначені цикли. Вкладені алгоритмічні конструкції. Програмна реалізація формульних моделей та ітеративних обчислень
8 класОснови ООП. Функції та методи
Поняття підпрограми та/або функції. Опис та виклик підпрограми / функції. Локальні та глобальні змінні. Програмні об’єкти. Властивості та методи об’єктів. Принцип роботи об’єктно-орієнтованої програми. Події та обробники подій. Створення програм з графічним інтерфейсом. Елементи керування: текстове поле, напис, кнопка, список, прапорець, перемикач, шкала. Програмування подій, пов’язаних з елементами керування. Виведення зображень у програмах з графічним інтерфейсом користувача
9 класКолекції даних у програмуванні
Поняття колекції даних (списку, масиву). Введення та виведення елементів колекції. Відбір елементів колекції за простими та складеними критеріями. Знаходження сум, добутків, середніх усіх елементів колекції та тих, що задовольняють критеріям відбору. Операції з рядками. Упорядкування колекції

Оскільки в циклі базового предметного навчання (7‒9 класи) передбачається формування ключових та предметних компетентностей з інформаційних технологій, а також понятійного апарату, достатнього для їх набуття, то для досягнення мети рекомендується використовувати не імітаційні, а повнофункціональні програмні засоби та середовища.

На сьогодні представлено лише проєкт Державного стандарту профільної середньої освіти. Тому, учні 10–11 класів навчаються за навчальними програмами вибірково-обов’язкового предмету «Інформатика» для учнів 10‒11 класів загальноосвітніх навчальних закладів стандартного і профільного рівнів (Інформатика, 2019 а; Інформатика, 2019 б).

Навчальна програма стандартного рівня вивчення інформатики для учнів 10‒11 класів має модульну структуру і складається з двох частин – базового та вибіркових (варіативних) модулів. Основою навчання інформатики в 10‒11 класах є базовий модуль, зміст якого може бути розширений за рахунок вибіркових модулів. Змістова лінія «Алгоритми та програми» не увійшла до змісту навчального матеріалу базового модуля, але частково була реалізована у таких вибіркових модулях як «Вебтехнології» (розділ «Вебпрограмування»), «Креативне програмування» (розділи «Цифрове мистецтво та творчість», «Графічні побудови та взаємодії», «Функції», «Об’єкти та класи», «Мультимедіа», «Інтерфейс програмного продукту»).

Зміст навчальної програми профільного рівня вивчення інформатики для учнів 10‒11 класів подано як перелік основних розділів з таким тематичним уточненням і очікуваними результатами навчання. Змістова лінія «Алгоритми та програми» представлена у модулях «Мова програмування та структури даних», «Алгоритми», «Вебтехнології» (Об’єктна модель документа. Вебпрограмування та інтерактивні сторінки).

За методичними рекомендаціями МОН України для вивчення програмування в 7‒9 класах пропонуються на вибір кілька мов програмування – Object Pascal, Visual Basic, Python, Java, C#, C++. При цьому основною вимогою до вибору мови програмування у 8 класі є підтримка в ній базових концепцій об’єктно-орієнтованого програмування. У 10–11 класах рекомендується опановувати одну з професійних мов програмування, наприклад С++, Java або Python, незалежно від того, на якій мові учні вчилися програмувати в основній школі. Аналіз ряду затверджених МОН підручників з інформатики дає змогу зробити висновки про те, що шкільний навчальний матеріал з алгоритмізації й програмування базується на вивченні мов програмування Object Pascal (середовище Lazarus) або Python (середовище IDLE).

Таке розмаїття запропонованих мов програмування, а також підручників з інформатики, ставить перед учителем важливу проблему вибору мови при вивченні програмування.

З переліку рекомендованих МОН України мов програмування (Object Pascal, Visual Basic, Python, Java, JavaScript, C#, C++) перші дві мови можна вилучити з таких міркувань: обидві мови Object Pascal і Visual Basic не входять до списку перших двадцяти мов у рейтингах DOU (https://dou.ua – найбільша ІТ-спільнота України), PYPL (PopularitY of Programming Language Index), Stack Overflow Development Survey 2023 та TIOBE Index 2023 за показниками комерційного використання, сфери використання чи особистого вподобання. А якщо майбутня навчальна та професійна діяльність учня стосуватиметься сфери програмної інженерії, то при здобуванні базової і профільної середньої освіти варто використовувати сучасні, популярні мови програмування. Отже, першим фактором, що впливає на вибір мови програмування в школі є мета навчання програмування.

При обранні мови як засобу навчання програмування потрібно враховувати легкість її вивчення, або «поріг входження». Донедавна вважалося, що найкращим вибором для початківців можуть бути мови програмування, що мають простий синтаксис і більш доступні для сприйняття управляючі конструкції і засоби для формування структур даних. Серед таких мов виокремлювали Python, JavaScript, Scratch. Написані мовами C++, Java та C# навіть прості програми мають складну структурну будову і потребують додаткових уточнень і коментарів для початківців. Для мови С# версії 10.0 з використанням операторів верхнього рівня вдалося цей поріг входження подолати. І тепер, при знайомстві з основами мови, при вивченні основних типів даних та операторів управління, не потрібно додатково відволікатися на пояснення громіздких синтаксичних надбудов у вигляді конструкцій опису класу і головної функції як точки входу в програму. Отже, поняття «поріг входження» можна трактувати як ще один фактор вибору мови програмування.

Вибір мови програмування відповідно до основної вимоги щодо підтримки в ній базових концепцій об’єктно-орієнтованого програмування має здійснюватися на основі знань про те, які мови є об’єктно-орієнтованими (Python, Java, C#), які лише мають засоби для створення програмних засобів з використанням об’єктно-орієнтованої парадигми (С++), а які мови дають змогу створювати програмні засоби з уже існуючих об’єктів, не маючи при цьому повноцінних засобів об’єктно-орієнтованого програмування (JavaScript).

Потрібно звертати увагу на те, які засоби надає обрана мова програмування, і як ці засоби відповідають запланованому змісту навчання. Наприклад, програмування мовою Scratch передбачає застосування елементів візуального програмування, але її використання для пояснення принципів об’єктно-орієнтованого програмування є обмеженим, і тому вона рекомендована для вивчення програмування лише початківцям. Після вивчення основ алгоритмізації й програмування мовою Scratch учень має достатні базові знання і навики для того, щоб почати вивчати програмування на основі однієї із сучасних мов програмування.

Натомість, мова програмування Python є повністю об’єктно-орієнтованою і має багато бібліотек та інструментів для створення різноманітних додатків. Водночас у процесі створення додатків із графічним інтерфейсом для користування засобами візуального програмування потрібні додаткові середовища розробки програмних засобів (наприклад, QtCreator). Використовуючи мову C# і середовище розробки Microsoft Visual Studio (безкоштовна версія Community Edition), додатки з графічним інтерфейсом легко створюються, причому з використанням різних технологій, таких як Windows Form, Universal Windows Platform, Windows Presentation Foundation або .NET Multi-platform App UI.

Іншою важливою особливістю вибору мови програмування для вивчення в закладах загальної середньої освіти є наявність відповідних інформаційних джерел як для вивчення програмування учнем, так і для навчання програмування вчителем. Окрім підручника і робочих зошитів, учневі важливо мати доступ до онлайн-курсів з програмування, онлайн-форумів, сайтів з документацією з мови програмування, де він зможе знайти і отримати відповіді на свої запитання, поспілкуватися з однодумцями, переглянути та проаналізувати доступні приклади розв’язування задач, перевірити на наявність синтаксичних і логічних помилок та на правильність роботи власні розроблені програми тощо. Для вчителя, крім нормативних документів, навчальних програм, підручників, збірників задач, лабораторних практикумів, дидактичних матеріалів, методичних рекомендацій важливо мати доступ до інтернет-ресурсів з наукової, методичної, інформатичної підтримки, для ознайомлення з передовим досвідом і публікаціями як вітчизняних, так і зарубіжних педагогів, методистів і науковців, для завантаження доступних нових версій потрібних програмних засобів, сучасної документації з програмування, для доступу до освітніх онлайн-курсів, онлайн-форумів, онлайн-бібліотек, наукометричних баз. Пошук та доцільне використання актуальних додаткових інформаційних джерел перетворює навчальний процес на насичене і цікаве спілкування вчителя й учня, що сприяє ефективнішому вивченню та розвитку навичок програмування.

Ще одним важливим фактором при виборі мови програмування є її практичне застосування. Важливо, щоб мова програмування була популярною серед розробників програмного забезпечення, фахівців програмної інженерії, широко використовувалася в різних галузях, була доступною для використання на різних платформах (Windows, Linux, MacOS, різні мобільні операційні системи). Тобто це має бути одна з таких універсальних мов, як C#, Python, Java. Вони мають широке застосування для розробки вебдодатків, ігрових програм, мобільних додатків, спеціальних додатків для наукових досліджень та інше. Такі мови програмування забезпечують учнів можливістю застосовувати свої навички в реальних проєктах, що підвищує їхню мотивацію та інтерес до вивчення програмування. Важливо мати на увазі, що мови C# і C++ найчастіше використовують для створення настільних додатків для Windows, ігрових програм у середовищі Unity, проєктів для Sony PlayStation і Microsoft Xbox. Мовою Java розробляють кросплатформні програми, які можуть працювати на Windows, Mac OS та Linux платформах.

Важливим чинником у виборі мови програмування є інтерес учнів до обраної мови, оскільки це може позитивно вплинути на їхню мотивацію до навчання та досягнення успіхів у цій сфері. У школі на факультативних заняттях, займаючись у гуртках з програмування, учні можуть обрати вивчення додаткових популярних мов програмування, якщо виявлять до них інтерес. При цьому, вивчаючи мови програмування, важливим є також вивчення сучасних технологій розробки програмного забезпечення, таких як робота з базами даних, веброзробка, мобільна розробка та інше. Це підготує учнів до роботи із сучасними програмними додатками, до продовження навчання для здобуття омріяного фаху, для досягнення майбутньої успішної кар’єри в галузі програмної інженерії.

Також важливим фактором є зручність для розробника, яка безпосередньо залежить від засобів середовища для створення програмних засобів. Для кожної з розглядуваних мов програмування є кілька інтегрованих середовищ, які можуть мати визначений набір інструментів – текстовий редактор, компілятор або інтерпретатор, налагоджувач, систему керування версіями, інструменти для розробки графічного інтерфейсу користувача, інспектор класів, інспектор об’єктів, схему ієрархії класів для полегшення об’єктно-орієнтованої розробки програмного забезпечення. Якщо при вивченні мови програмування не виникає великої кількості помилок або їх легко виправити, то це може бути однією з переваг. Наявність відповідних розширень, бібліотек, фреймворків, які полегшують роботу розробника, теж може вплинути на вибір мови. Існують універсальні інтегровані середовища, які підтримують процес створення програмних засобів різних типів різними мовами для різних операційних платформ. Звичайно, при вивченні основ програмування достатньо мати просте, але надійне середовище, але сам факт роботи із сучасним професійним інструментом посилює мотивацію і зацікавленість у навчанні.

Вартість засобів програмування – мови, середовища розробки, інших інструментів, теж є значним фактором, що впливає на вибір мови. Багато розробників професійних інструментів для програмування спеціально випускають безкоштовні версії свої продуктів, типу Microsoft Visual Studio Community Edition для залучення потенційних користувачів. Прикладом простого середовища можна вважати IDLE – інтегроване середовище розробки для Python, яке постачається з реалізацією мови за замовчуванням. Середовище IDLE повністю написане мовою Python з використанням інструментів GUI Tkinter. Одне з професійних середовищ для розробки додатків мовою Python – це PyCharm, розроблене чеською компанією JetBrains на основі IntelliJ IDEA. Є безкоштовна версія PyCharm Community Edition, а PyCharm Professional Edition безкоштовна для освітніх установ.

Процес вивчення програмування є багатогранним – на його якість впливають не лише вибір мови та середовища програмування. Важливо також звернути увагу і на інші фактори, такі, як досвід вчителя, його обізнаність у засобах мови, в особливостях роботи з різними фреймворками, бібліотеками, середовищами створення програмних додатків. Оскільки галузь інформаційних технологій розвивається дуже стрімко (як ніяка інша), тому вчителю доводиться постійно слідкувати за змінами не лише в нормативних актах освітньої галузі, а й за змінами змістового та інструментального компонентів інформаційних технологій. Постійно змінюються, вдосконалюються і операційні платформи, і прикладні програмні засоби, і самі мови програмування з відповідними середовищами розробки. З’являються нові мови програмування, які акумулюють у собі кращі характеристики своїх попередників. І тому допомогти учителю вчасно і якісно розібратися і опанувати нові програмні засоби, підходи, прийоми зможе лише його власний досвід, який він накопичує упродовж своєї нелегкої праці.

Навчання програмування, зрештою як і всіх інших тем курсу інформатики та всіх навчальних предметів, має бути цікавим і захоплюючим для учнів. Тому важливо використовувати такі мови програмування та середовища розробки, що дозволяють швидко отримувати результат та створювати цікаві проєкти, які можна використати в реальному житті. Для цього можна використовувати мови програмування з простим синтаксисом та можливістю візуальної розробки. Зокрема, такі мови програмування, як Python і C# можуть стати дуже цікавими для учнів при вивченні засобів мови для створення додатків з графічним інтерфейсом. Бібліотеку GUI Tkinter вивчають у 8‒9 класах закладів загальної середньої освіти. Для створення віконного додатку потрібно підключити бібліотеку Tkinter і за спроєктованим макетом ввести в текст програми потрібні інструкції для розміщення на формі додатку потрібних віджетів – написів, кнопок, полів введення, графічних зображень, меню користувача, тощо. Єдиною незручністю при цьому є те, що для налаштування властивостей віджетів потрібно вносити зміни в програму в текстовому редакторі. Інший підхід реалізовано в середовищі Microsoft Visual Studio – при створенні віконного додатку мовою C# робота над макетом, зміна властивостей віджетів, їхнє позиціювання виконується за допомогою спеціального інструмента – візуального редактора форм. На спеціальній панелі компонентів розміщені доступні для використання віджети, які можна розміщувати на формі за допомогою мишки. У редакторі властивостей можна вказувати і редагувати значення окремих властивостей та створювати опрацьовувачі відповідних подій. Цей процес створення віконного додатку є значно швидшим і цікавішим.

Отже, на вибір мови програмування для навчання в закладах загальної середньої освіти впливають такі фактори:

Перші два фактори є визначальними для всіх інших. Життєві реалії сьогодення, загальний розвиток сучасних інформаційних технологій, світова інформаційна інтеграція й окремо інформаційний стан країни – усе це визначає мету навчання програмування в закладах загальної середньої освіти як формування компетентностей, необхідних для свідомого вибору подальшого життєвого шляху, продовження навчання на рівні профільної освіти або здобуття професії. Тому навчання програмування передбачає розвиток операційного, алгоритмічного мислення, засвоєння основних понять, правил та синтаксису описів і використання об’єктів, порядку виконання й доцільності використання управляючих конструкцій, основних структур даних, основних етапів створення програмних засобів. Водночас потрібно сформувати в учнів уявлення про парадигми програмування, типи створюваних програмних засобів, технології їх створення, що є фактором формування змісту навчання. І лише маючи сформований зміст навчання можна приступати до обрання мови програмування, враховуючи поріг входження, наявність потрібних елементів мови, середовища розробки з потрібними характеристиками, та доступною зрозумілою документацією.

Висновки дослідження та перспективи подальших розвідок

У статті було наведено аргументи на користь того, що реальними претендентами на першість є такі мови: Python, Java, С++ і C#. Проте цей вибір не можна вважати однозначним і застосовним у більшості освітніх ситуацій, оскільки наразі існує багато додаткових чинників, що впливають на вибір мови і середовища програмування для вивчення в школі. До таких чинників варто віднести організаційні моменти, пов’язані з війною, умовами дистанційного чи змішаного навчання, матеріальним забезпеченням шкіл, учнів та вчителів, і, зрештою, мотиваційним та психологічним факторами, що впливають на мотивацію, зацікавленість та успішність організації навчального процесу.

Питання вибору мови програмування для вивчення в закладах загальної середньої освіти доволі багатогранне і потребує проведення подальших досліджень. Зокрема в майбутніх дослідженнях варто провести анкетування учнів та вчителів з метою з’ясування їхньої думки з цього приводу, оцінити вплив змішаного (дистанційного) навчання на вибір мови програмування, визначитися з кількістю мов програмування для вивчення в школі.

Використані джерела

Базурін, В.М. (2017). Середовища програмування як засіб навчання учнів основ програмування. Інформаційні технології і засоби навчання, 59 (3), 13 – 27. https://doi.org/10.33407/itlt.v59i3.1601

Базурін, В.М. (2021). Особливості Python як першої мови програмування. Розвиток інтелектуальних умінь і творчих здібностей учнів та студентів у процесі навчання дисциплін природничо-математичного циклу «ІТМ*плюс – 2021»: матеріали IV Міжнародної науково-методичної конференції (11‒12 листопада 2021 р., м. Суми). Суми: ФОП Цьома С.П., 125–126. https://laboratoriya.sspu.sumy.ua/wp-content/uploads/2021/12/2021__ITM-2021_16-12-1.pdf#page=125

Державний стандарт початкової освіти. (2018). (постанова Кабінету Міністрів України № 87 від 21 лютого 2018 р.). https://zakon.rada.gov.ua/laws/show/688-2019-%D0%BF#Text

Жуковський, С.С. & Коротун, О.В. (2014). Про перспективу введення мови програмування С++ в навчальний процес загальноосвітніх навчальних закладів. Комп’ютер у школі та сім’ї, 1, 23 – 25. http://nbuv.gov.ua/UJRN/komp_2014_1_6

Завадський, І.О., Коршунова, О.В. & Твердохліб, І.А. (2023). Модельна навчальна програма «Інформатика. 7-9 класи» для закладів загальної середньої освіти («Рекомендовано Міністерством освіти і науки України». Наказ МОН України від 16 серпня 2023 року № 1001). https://lib.iitta.gov.ua/id/eprint/739267

Інформатика (2019 а). Навчальна програма вибірково-обов’язкового предмету для учнів 10-11 класів загальноосвітніх навчальних закладів (рівень стандарту). https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-10-11-klas/2018-2019/informatika-standart-10-11.docx

Інформатика (2019 б). Навчальна програма учнів 10-11 класів загальноосвітніх навчальних закладів (профільне навчання). https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-10-11-klas/2018-2019/01/10-11-profilniy-riven.docx

Лапінський, В.В. (2014) Проблема вибору першої мови програмування – сьогоднішнє бачення. Комп’ютер у школі та сім’ї, 1, 14 – 17. http://nbuv.gov.ua/UJRN/komp_2014_1_4

Модельні навчальні програми для 5-9 класів Нової української школи. https://mon.gov.ua/ua/osvita/zagalna-serednya-osvita/navchalni-programi/naskrizni-zmistovi-liniyi

Оніщенко, С.М. & Твердохліб, І.А. (2023) Шкільний курс програмування як засіб профорієнтації учнів. Теорія і практика використання інформаційних технологій в умовах цифрової трансформації освіти матеріали Всеукраїнської науково-практичної конференції (м. Київ, 29 червня 2023 року). Київ: Вид-во УДУ імені Михайла Драгоманова, 115 – 117. https://lib.iitta.gov.ua/id/eprint/739264

Про деякі питання державних стандартів повної загальної середньої освіти: Постанова Кабінету міністрів України від 30 вересня 2020 р. № 898. (2020). https://zakon.rada.gov.ua/laws/show/898-2020-%D0%BF#Text

Савченко, О.Я. (2022 а). Типова освітня програма для 1‒2 класів закладів загальної середньої освіти у новій редакції. Наказ МОН № 743 від 12.08.2022 р. https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-1-4-klas/2022/08/15/Typova.osvitnya.prohrama.1-4/Typova.osvitnya.prohrama.1-2.Savchenko.pdf

Савченко, О.Я. (2022 б). Типова освітня програма для 3-4 класів закладів загальної середньої освіти. Наказ МОН № 743 від 12.08.2022 р. https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-1-4-klas/2022/08/15/Typova.osvitnya.prohrama.1-4/Typova.osvitnya.prohrama.3-4.Savchenko.pdf

Топузов, О., Засєкіна, Т. (Ред.). (2022). Загальна середня освіта України в умовах воєнного стану та відбудови: методичний порадник науковців Інституту педагогіки НАПН України до початку нового навчального року: методичні рекомендації. Київ: Освіта. https://undip.org.ua/wp-content/uploads/2022/08/Metodychnyy-poradnyk.pdf2_.pdf

Шевчук, П.Г. (2010). Критерії добору мови та середовища програмування як засобів навчання. Матеріали звітної наукової конференції Інституту інформаційних технологій і засобів навчання НАПН України. Київ: ІІТЗН НАПН України, 89–92.

Шевчук, П.Г. (2013). Методика навчання програмування учнів класів технологічного профілю на основі використання мови С# [Дисертація кандидата педагогічних наук: 10.02.19. Київ]. http://eprints.zu.edu.ua/35718/2/%D0%94%D0%B8%D1%81%D0%B5%D1%80%D1%82%D0%B0%D1%86i%D1%8F_%D0%A8%D0%B5%D0%B2%D1%87%D1%83%D0%BA_%D0%9F_.pdf

Шиян, Р.Б. (2022a). Типова освітня програма для 1‒2 класів закладів загальної середньої освіти у новій редакції. Наказ МОН № 743 від 12.08.2022 р. https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-1-4-klas/2022/08/15/Typova.osvitnya.prohrama.1-4/Typova.osvitnya.prohrama.1-2.Shyyan.pdf

Шиян, Р.Б. (2022b). Типова освітня програма для 3-4 класів закладів загальної середньої освіти у новій редакції. Наказ МОН № 743 від 12.08.2022 р. https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-1-4-klas/2022/08/15/Typova.osvitnya.prohrama.1-4/Typova.osvitnya.prohrama.3-4.Shyyan.pdf

Яценко, О.І. & Чумак, Л.М. (2020). Критерії добору середовища навчання програмування для формування ІКТ-компетентності майбутніх учителів початкової школи. Інформаційні технології і засоби навчання, 78 (4), 219 – 236. https://doi.org/10.33407/itlt.v78i4.2912