Блокове програмне середовище все частіше стає першим досвідом програмування для багатьох учнів1, оскільки все більше шкіл починають запроваджувати та розширювати курси та навчальні програми з інформатики. Одна з найпопулярніших блокових мов програмування називається Scratch2(scratch.mit.edu). Щодня на сайт Scratch завантажується понад 1500 нових програмних проектів3. VEXcode сам працює на основі блоків Scratch.
Однією з головних мотивацій створення Scratch є те, що багато молодих студентів вважають програмування за допомогою текстових мов програмування надто складним4, оскільки цим студентам важко освоїти як набір тексту, так і синтаксис. У результаті блочні мови програмування були розроблені для учнів дошкільного віку, але більшість розроблено для учнів віком від 8 до 16 років. Програмування на основі блоків, включаючи VEXcode, надає кілька переваг для програмістів-початківців5.
- Читабельність:Мови програмування на основі блоків мають команди, які набагато легше читати, ніж текстові команди.
- Запам'ятовування:Усі команди блочних мов програмування є видимими для користувача. У текстових мовах програмування команди часто потрібно запам’ятовувати. Крім того, користувачі повинні запам'ятати синтаксис, пов'язаний з текстовими командами. Немає синтаксису, пов'язаного з блоковими командами.
- Введення/правопис:Молодшим учням важко користуватися клавіатурою. Орфографічні помилки стають помилками компілятора з текстовою мовою програмування. Блокові мови програмування використовують перетягування. Тому не потрібно набирати текст і добре володіти орфографією.
Незважаючи на те, що доведено, що користувачам-початківцям легше почати програмувати з блочної мови програмування, все одно важливо запитати, чи ефективні блочні мови для викладання концепцій інформатики. Коротка відповідь: так. Дослідження показали, що мови програмування на основі блоків були ефективними для навчання таким концепціям інформатики, як алгоритми, змінні, умовна логіка та розуміння коду6.
Є, звичайно, деякі недоліки у використанні блокових мов програмування. Наприклад, учні іноді можуть відчувати, що використання блоків не є «автентичним» навчальним досвідом7. Іншими словами, справжні програмісти не використовують блоки. Це важливий аспект, про який слід пам’ятати, але також важливо пам’ятати про добре задокументовані проблеми, які текстові мови програмування створюють для програмістів-початківців.
Як педагоги, ми знаємо, що інструменти, які ми використовуємо для навчання концепцій, змінюються разом зі зміною студентів. Математика викладається K - College. Інструменти, які використовуються для навчання першокласника, значно відрізняються від інструментів, які використовуються для навчання молодшого в коледжі. Дослідження показали, що новачкам простіше користуватися мовами програмування на основі блоків, і вони є ефективним засобом для викладання важливих тем з інформатики. Однак це не означає, що студенти повинні або повинні завжди залишатися в середовищі блокового програмування. Натомість краще зробити висновок, що одна модальність програмування, блоки чи текст, за своєю суттю не є кращою за іншу8. Незалежно від того, який з них підійде вашому класу, залежатиме як від вашого рівня комфорту як викладача, так і від готовності ваших учнів. Подібно до того, як учні опановують свої факти множення з різною швидкістю, деякі учні опановують програмування з блоками швидше, ніж інші. Можливість почати з текстового програмування зацікавить їх і зацікавить їх. Такі інструменти, як VEXcode і Text, дозволяють вам зустрітися з кожним учнем на його індивідуальному рівні навчання.