Навіщо навчати програмуванню за допомогою блоків?

Блокове програмне середовище все частіше стає першим досвідом програмування для багатьох учнів1, оскільки все більше шкіл починають запроваджувати та розширювати курси та навчальні програми з інформатики. Одна з найпопулярніших блокових мов програмування називається Scratch2(scratch.mit.edu). Щодня на сайт Scratch завантажується понад 1500 нових програмних проектів3. VEXcode сам працює на основі блоків Scratch.

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

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

  1. Читабельність:Мови програмування на основі блоків мають команди, які набагато легше читати, ніж текстові команди.
  2. Запам'ятовування:Усі команди блочних мов програмування є видимими для користувача. У текстових мовах програмування команди часто потрібно запам’ятовувати. Крім того, користувачі повинні запам'ятати синтаксис, пов'язаний з текстовими командами. Немає синтаксису, пов'язаного з блоковими командами.
  3. Введення/правопис:Молодшим учням важко користуватися клавіатурою. Орфографічні помилки стають помилками компілятора з текстовою мовою програмування. Блокові мови програмування використовують перетягування. Тому не потрібно набирати текст і добре володіти орфографією.

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

Є, звичайно, деякі недоліки у використанні блокових мов програмування. Наприклад, учні іноді можуть відчувати, що використання блоків не є «автентичним» навчальним досвідом7. Іншими словами, справжні програмісти не використовують блоки. Це важливий аспект, про який слід пам’ятати, але також важливо пам’ятати про добре задокументовані проблеми, які текстові мови програмування створюють для програмістів-початківців.

Як педагоги, ми знаємо, що інструменти, які ми використовуємо для навчання концепцій, змінюються разом зі зміною студентів. Математика викладається K - College. Інструменти, які використовуються для навчання першокласника, значно відрізняються від інструментів, які використовуються для навчання молодшого в коледжі. Дослідження показали, що новачкам простіше користуватися мовами програмування на основі блоків, і вони є ефективним засобом для викладання важливих тем з інформатики. Однак це не означає, що студенти повинні або повинні завжди залишатися в середовищі блокового програмування. Натомість краще зробити висновок, що одна модальність програмування, блоки чи текст, за своєю суттю не є кращою за іншу8. Незалежно від того, який з них підійде вашому класу, залежатиме як від вашого рівня комфорту як викладача, так і від готовності ваших учнів. Подібно до того, як учні опановують свої факти множення з різною швидкістю, деякі учні опановують програмування з блоками швидше, ніж інші. Можливість почати з текстового програмування зацікавить їх і зацікавить їх. Такі інструменти, як VEXcode і Text, дозволяють вам зустрітися з кожним учнем на його індивідуальному рівні навчання.


1Вайнтроп, Девід. «Блочне програмування в освіті інформатики». ACM. 01 серпня 2019. 10 вересня 2019 р. / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

2Резнік, Мітчел, Браян Сільверман, Ясмін Кафаї, Джон Мелоні, Андрес Монрой-Ернандес, Наталі Раск, Евелін Істмонд, Карен Бреннан, Амон Мілнер, Ерік Розенбаум і Джей Сільвер. «Дряпина». Повідомлення ACM 52 (2009): 60.

3Резнік, Мітчел, Браян Сільверман, Ясмін Кафаї, Джон Мелоні, Андрес Монрой-Ернандес, Наталі Раск, Евелін Істмонд, Карен Бреннан, Амон Мілнер, Ерік Розенбаум і Джей Сільвер. «Дряпина». Повідомлення ACM 52 (2009): 60.

4Келінг, Майкл, Ніл CC Браун і Амджад Альтадмрі. «Редагування на основі кадрів». Матеріали семінару з початкової та середньої комп’ютерної освіти – WiPSCE '15 (2015).

5Kölling, Michael, Neil CC Браун і Амджад Альтадмрі. «Редагування на основі кадрів». Матеріали семінару з початкової та середньої комп’ютерної освіти – WiPSCE '15 (2015).

6Вайнтроп, Девід і Урі Віленські. «Порівняння блокового та текстового програмування в класах інформатики середньої школи». ACM Transactions on Computer Education 18 (2017): 1-25.

7Вайнтроп, Девід. «Блочне програмування в освіті інформатики». ACM. 01 серпня 2019. 10 вересня 2019 р. / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

8Вайнтроп, Девід і Урі Віленські. «Як блокові, текстові та гібридні блокові/текстові модальності формують методи програмування для початківців». Міжнародний журнал взаємодії дитини з комп’ютером 17 (2018): 83-92.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: