Напевно, кожен учитель інформатики перебуватиме у пошуку ефективного шляху навчання дітей основам програмування (кодинг). Швидше за все, що кожен із нас проводив власне дослідження та вивчав зарубіжний досвід із цього питання. У цій статті ми поділимося кількома думками щодо цього.
Перше, про що хотілося б поговорити – вибір мови програмування. Не секрет, що сьогодні в багатьох країнах відбувається суцільна «пайтонізація» інформатики. Python – це своєрідний тренд. Безумовно, Python час від часу займає вершини найпопулярніших рейтингів ІТ-індустрії. Однак дуже часто його звідти відтісняють інші мови, наприклад, JavaScript. Тому не все так однозначно. Так яку з мов все ж таки вибрати для кодингу? Не повірите – ні Python, ні JavaScript, хоча другий має більше шансів.
І це – С#!!!
Фахівці з-за Атлантичного океану вважають, що першою мовою має бути якась «сішка» – С, С++, С#. Перша мова має бути суворою. Зразковий вік дітей – 12+. Хоча є така думка, що іноді корисно вивчати дві мови паралельно: із суворою типізацією та гнучкою. Найчастіше у цій зв’язці C#/JS. Так ось, яку з «сішок» краще вивчати? Тут усе просто. Абсолютна рекомендація фахівців Канади та США – С#! І чесно, ми не здивовані. Більше того, вчителі ОРТ практикують С#.
Але чому С#? Відповідь однозначна і проста: було створено та підтримується групою інженерів Microsoft. Ще один аргумент – С# це найзрозуміліша і елегантніша «сішка».
Йдемо далі. Де написати код?
Тут можна сперечатися, але найкраще, все ж таки, привчати дітей писати код у професійному середовищі, яке має дебагер, автозаповнення, підказки, системи швидкого набору коду і т.д. Для FrontEnd часто використовується Visual Studio Code. Дітям цей інструмент “заходив” дуже добре.
Тут особливо нічого не змінилося. І рекомендація дуже проста: для вивчення C# найкраще вибрати Visual Studio від Microsoft. Але сама робота у Visual Studio дає учням навички роботи у професійному середовищі. Що кажуть фахівці з-за океану? Кажуть, що найкраще вивчати програмування прикладного характеру, наприклад, із використанням плат. Адже саме на платах можна вивчати програмування із основами робототехніки, основами схемотехніки та мікроелектроніки, розробки ігор тощо.
Але програмування плат через VS передбачає роботу з інструментами середовища, додавання бібліотек тощо. І фішка в тому, що діти можуть навчитися робити справді професійні речі.
З усіх існуючих рішень для програмування ми обрали BrainPad. У нашому випадку це рішення дозволяє навчити учнів ще двом цікавим та професійним речам: TinyCLR OS та NuGet. Давайте про них поговоримо.
TinyCLR OS – це сучасна керована локальна операційна система для розробників, яка передає .NET C# на вбудовані пристрої, наприклад, плати. Вона пропонує повні можливості налагодження, що дозволяє переглядати код і перевіряти змінні безпосередньо з Microsoft Visual Studio. Дорогі інструменти для налаштування коду не потрібні. ОС містить великий перелік функцій.
NuGet – система управління пакетами для розробки платформи Microsoft, перш за все бібліотеки .NET Framework. На рішеннях BrainPad реалізована можливість різного векторного програмування. Тому, для того, щоб програмувати робота або писати гру на BrainPad – необхідно просто додати відповідний NuGet пакет у свій проєкт на Visual Studio. Як показує практика – це зовсім не складно і учні справляються з цим завданням на ура. І найважливіше, такі навички дозволяють учням значно краще розуміти структуру створення великих проєктів на .NET C#.
Підсумок. Ми розповіли про один із варіантів навчання дітей 12+ основ програмування. Це C#+ Visual Studio+BrainPad. І ніяких проблем, всі довкола вчать Python. Хоча на BrainPad теж можна успішно вивчати Python. Усі дослідження було проведено на базі НВК Сімха, м. Київ.
А який шлях обрали ви?