На уроке «Введение в информатику» мы будем преподавать язык программирования под названием Snap! Это графический язык программирования на основе браузера, который позволяет учащимся создавать анимации и игры во время обучения программированию. Язык был разработан для преподавания курса «Красота и радость вычислений» в Калифорнийском университете в Беркли.

Преимущества графического языка программирования

Сначала я скептически относился к тому, что использование графического языка программирования — хорошая идея. В конце концов, мы не перетаскиваем строительные блоки для создания программ в «реальном мире». Однако после использования языка программирования для выполнения нескольких руководств я уже вижу несколько преимуществ использования Snap:

  1. Очень мотивирует графически видеть результаты своей работы на сцене, пока вы пишете свою программу. Гораздо интереснее, чем смотреть на IDE и командную строку.
  2. Поскольку он основан на браузере, устанавливать нечего. Вы можете приступить к работе в первый день занятий. Я был на некоторых практических занятиях, где использовался Ruby, и класс был сорван из-за ада зависимостей драгоценных камней, разных операционных систем, разных версий Ruby и т. д. С Snap вам не нужно устанавливать IDE, такую ​​как Eclipse или беспорядок с конфигурацией и настройками среды. Все, что вам нужно, находится прямо здесь.
  3. В C-подобных языках тратится меньше времени на устранение синтаксических ошибок, фигурных скобок, точек с запятой, опечаток и других неприятностей. Хотя в конечном итоге вам придется иметь дело с такими вещами, приятно иметь возможность сосредоточиться на концепциях переменных, управления потоком и событий, не тратя много времени на ввод текста.
  4. Это на самом деле очень мощно. Одним из первых проектов является создание платформера, похожего на Марио, со спрайтами, бонусами, несколькими экранами и опасностями. Ожидается, что как инструкторы мы сможем создать базовую платформенную игру за пару часов. Ожидается, что студенты смогут сделать это через пару недель. Если бы вы попросили нас сделать это на C++, было бы слишком много низкоуровневых деталей, которые нужно было бы охватить.

Мой первый снимок! Программа

В рамках подготовки учителей первой программой, которую мне пришлось сделать, был простой калейдоскоп. Snap упростил мне определение нескольких обработчиков событий, цикла событий и инструкций для «черепахи». Чтобы создать дополнительные объекты спрайта, я просто щелкнул спрайт правой кнопкой мыши, сделал дубликат и дал ему уникальное имя и цвет. Ниже приведен скриншот того, как выглядит программа Snap и ее вывод:

Облачное хранилище

Еще одна интересная функция Snap! является облачным хранилищем. Вы можете легко хранить свои программы на сервере и делиться ими по ссылке. Затем кто-то другой может просмотреть ваш опубликованный проект и использовать его или сохранить его в своем собственном облачном хранилище и отредактировать/улучшить его. Ниже ссылка на программу Калейдоскоп. Вы нажимаете «пробел», чтобы начать. Используйте мышь, чтобы переместить черепаху, нажмите «d», чтобы опустить ручку, нажмите «u», чтобы поднять ручку, и нажмите «c», чтобы очистить холст.



Щелк! Создавайте собственные блоки
Калейдоскопsnap.berkeley.edu



Следующие шаги

Теперь, когда я создал базовую программу Snap, мне нужно завершить пару более крупных программ, чтобы стать опытным: платформер в стиле Марио и Pong. На следующей неделе наша команда соберется, чтобы обсудить следующие шаги, и свяжется с TEALS, чтобы убедиться, что все идет гладко.