Австралийская учебная программа: цифровые технологии определяет визуальное программирование до 6 года и универсальное программирование с 7 года.

Языки визуального программирования обычно основаны на блоках. Они были разработаны специально для учебных целей и обычно не используются в промышленности. Учебная программа определяет визуальное программирование как:

Язык программирования или среда, в которой программа представлена ​​и обрабатывается графически, а не в виде текста ... Примеры языков визуального программирования включают: Blockly, Alice, GameMaker, Kodu, Lego Mindstorms, MIT App Inventor, Scratch (Build Your Own Blocks и Snap) .¹

Это отличается от того, что предусмотрено для языков программирования общего назначения:

Распространенные языки программирования, предназначенные для решения широкого круга задач. Они включают процедурные, функциональные и объектно-ориентированные языки программирования, включая языки сценариев и / или языки с динамической типизацией. Примеры языков программирования общего назначения включают C #, C ++, Java, JavaScript, Python, Ruby и Visual Basic. ²

Языки визуального программирования решают ключевую проблему, с которой сталкиваются все изучающие языки: словарный запас и синтаксис. Поэтому, когда мы изучаем новый язык, будь то язык программирования или естественный язык, такой как французский, мы еще не знаем слов языка (словарный запас) и того, как составить из них правильные предложения (синтаксис).

Языки визуального программирования поставляются с лотком с доступными блоками, из которых студенты могут выбирать. Это очень важно, так как освобождает студентов от необходимости заранее знать язык программирования. Вместо этого студенты могут выбирать из ограниченного набора функций, который может расти по мере того, как студенты узнают больше о языке. Мы делаем это, например, в задачах блочных вычислений, которые мы разрабатываем в Австралийской вычислительной академии.

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

В языках программирования общего назначения этой функции нет, поэтому учащимся необходимо знать, какие команды возможны, и добиваться того, что им нужно. Это означает проведение множества экспериментов, поиск в Интернете, чтение документации и изучение примеров кода от других разработчиков, чтобы понять, как реализовать их решение. Stack Overflow - популярное место как для начинающих, так и для опытных разработчиков, где они могут найти ответы на свои вопросы по кодированию.

Так зачем кому-то переходить от визуального программирования к текстовому, если визуальное программирование имеет вышеупомянутые преимущества? Причин несколько:

  1. Визуальные программы очень быстро становятся большими и громоздкими. Это связано с дополнительным пространством, которое требуется блокам по сравнению с соответствующими строками кода. Поскольку большинство студентов работают с относительно маленькими разрешениями экрана и маленькими экранами, это означает, что нужно много прокручивать. Как бывший главный судья Young ICT Explorers, я видел несколько очень длинных и фрагментированных программ Scratch; часто длинную визуальную программу можно выразить гораздо более компактно с помощью текстового языка программирования общего назначения, такого как Python. Эти текстовые программы также легче поддерживать. Вот пример:

2. Вы многому учитесь, совершая ошибки. Ошибка программирования и странное поведение программы - лучший способ изучить алгоритмы более подробно. Иногда мы даже узнаем, что наши алгоритмы могут делать то, чего мы от них не ожидали. Биллу Гейтсу приписывают: «Это не ошибка, это особенность».

3. Визуальное программирование запирает вас, намеренно окутывая учащихся безопасным миром с жесткими ограничениями; Такие инструменты, как Scratch, отлично подходят для мультимедийных и игровых проектов, но другие вещи, такие как проекты встроенных систем, сделать сложнее (иногда невозможно). Программирование общего назначения имеет доступ ко всем наворотам, которые другие разработчики сделали доступными через их собственный код и библиотеки.

4. Поскольку универсальные языки программирования не имеют ограничений, они развивают навыки, которые можно легко применить при изучении других предметов. Это означает, что учащиеся могут заниматься математикой, естествознанием, искусством и языком способами, невозможными без способности обрабатывать данные без ограничений.

5. В отрасли используются языки программирования общего назначения. Это правда, но не главная цель австралийской учебной программы: цифровые технологии.

Итак, в общем, имеет смысл начинать наших студентов с визуального программирования, а затем переводить их в открытый мир текстового программирования по мере роста их уверенности и компетентности.

¹ https://www.australiancurriculum.edu.au/f-10-curriculum/technologies/glossary/?term=visual+programming

² https://www.australiancurriculum.edu.au/f-10-curriculum/technologies/glossary/?letter=G