Знакомство со Snap! (aka продвинутый #Scratch)

Snap! — блочная среда программирования, разработанная на основе Scratch в Калифорнийском университете в Беркли (University of California at Berkeley).

Основным отличием данной среды программирования от Scratch являются расширенные возможности по построению собственных блоков, а также списки и функции первого класса. Эти мощные возможности позволяют использовать Snap! Не только в начальной школе, но и для обучения старшеклассников и студентов.

В следующем примере вы видите, как можно создать цикл for.

image002

Использовать этот блок можно наравне с любым встроенным блоком.

image003image006

Snap! запускается и работает непосредственно в браузере и не требует установки на компьютер пользователя. Он написан на JavaScript и может оказывать ограниченное влияние на компьютер, так что вы можете безопасно запускать проекты других пользователей.

Snap! был разработан Дженс Мониг (Jens Mönig at MioSoft Corporation, now at SAP)

image007

, совместно с Брайаном Харви (Brian Harvey at Berkeley)

image009

, при помощи студентов Калифорнийского университета в Беркли.

berkeley_horizontal_logo

Основным отличием Snap! от Scratch являются типы данных первого класса.

Объектами первого класса называются элементы, которые могут быть присвоены переменной или элементу массива, переданы как параметр и возвращены из функции. Благодаря этому в Snap! появилась возможность создавать двумерные массивы.

image011

image013

Также в Snap! в отличие от #Scratch функции являются объектами первого класса. Это позволяет передавать функцию как аргумент в другую функцию. В следующем примере мы передаем функции map как аргумент функцию «умножить на 10», и функция map производит это действие со всем списком, переданным ей в качестве второго аргумента.

image015

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

image017

А вот такое возможно в #Scratch?

image019

Эти особенности Snap! позволяют познакомить учащихся с функциональным программированием в отличие от Scratch, который используется для знакомства с обыкновенным (императивным) программированием.

Совместимость.

Snap! может работать в следующих браузерах:

– Chrome, версия не ниже 43 (это рекомендуемый браузер для работы в среде Snap!)

– Safari версия не ниже 8.4;

– Firefox версия не ниже 38         ;

– Edge версия не ниже 12;

– Opera версия не ниже 32;

Проекты, созданные в Scratch, могут быть импортированы в Snap! с помощью следующего онлайн сервиса http://djdolphin.github.io/Snapin8r2/.

Проекты, созданные на Snap! могут быть сохранены в формате XML, а затем преобразованы в исполняемый EXE файл с помощью онлайн сервиса расположенного по адресу http://snapp.citilab.eu/.

Snap! может быть использован со следующими внешними устройствами, подключаемыми к компьютеру:

#Snap

Добавить комментарий

Your email address will not be published / Required fields are marked *