Зачем учить программированию с помощью блоков?

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

График, иллюстрирующий результаты исследований, связанных с тенденциями в образовании, с точками данных и понятной легендой для интерпретации, относящейся к категории «Образование».

Одной из основных причин создания Scratch является то, что многие молодые студенты находят программирование на текстовых языках программирования слишком сложным4, поскольку этим студентам трудно освоить как набор текста, так и синтаксис. В результате блочные языки программирования были разработаны для школьников, начиная с дошкольников, но большинство из них предназначены для учащихся в возрасте от 8 до 16 лет. Блочное программирование, включая VEXcode, дает начинающим программистам ряд преимуществ5.

  1. Читабельность:В блочных языках программирования есть команды, которые гораздо легче читать, чем текстовые команды.
  2. Запоминание:В блочных языках программирования все команды видны пользователю. В текстовых языках программирования команды часто необходимо запоминать. Кроме того, пользователям необходимо запомнить синтаксис, связанный с текстовыми командами. Синтаксис, связанный с блочными командами, отсутствует.
  3. Печатание/Правописание:Младшим ученикам трудно пользоваться клавиатурой. Орфографические ошибки становятся ошибками компиляции текстового языка программирования. Блочные языки программирования используют перетаскивание. Поэтому никакой набор текста и владение орфографией не требуется.

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

Конечно, использование блочных языков программирования имеет некоторые недостатки. Например, учащиеся иногда могут чувствовать, что использование блоков не является «настоящим» учебным опытом7. Другими словами, настоящие программисты не используют блоки. Это важный аспект, о котором следует помнить, но также важно помнить и о хорошо документированных проблемах, с которыми текстовые языки программирования сталкиваются с начинающими программистами.

Как преподаватели, мы знаем, что инструменты, которые мы используем для преподавания концепций, меняются по мере того, как меняются ученики. Математику преподают в К-колледже. Инструменты, которые используются для обучения первоклассников, сильно отличаются от инструментов, которые используются для обучения младших школьников в колледже. Исследования показали, что блочные языки программирования легче использовать новичкам и являются эффективным средством преподавания важных тем в области информатики. Однако это не означает, что учащиеся должны или должны всегда оставаться в среде блочного программирования. Вместо этого лучше сделать вывод, что один метод программирования, блоки или текст, по своей сути не лучше другого8. Какой из них подойдет для вашего класса, будет зависеть как от вашего уровня комфорта как преподавателя, так и от готовности ваших учеников. Точно так же, как учащиеся осваивают факты умножения с разной скоростью, некоторые учащиеся освоят программирование с блоками быстрее, чем другие. Возможность начать с текстового программирования будет поддерживать их интерес и стимулировать их. Такие инструменты, как VEXcode и Text, позволяют вам познакомиться с каждым учащимся на его индивидуальном уровне обучения.


1Вайнтроп, Дэвид. «Блочное программирование в компьютерном образовании». АКМ. 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).

5Кёллинг, Михаэль, Нил CC Браун и Амджад Альтадмри. «Кадровое редактирование». Материалы семинара по начальному и среднему компьютерному образованию - WiPSCE '15 (2015).

6Вайнтроп, Дэвид и Ури Виленски. «Сравнение блочного и текстового программирования в классах информатики средней школы». Транзакции ACM по компьютерному образованию 18 (2017): 1–25.

7Вайнтроп, Дэвид. «Блочное программирование в компьютерном образовании». АКМ. 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: