Snap!

Материал из Поле цифровой дидактики
Краткое описание языка Блочный язык программирования для преподавания алгоритмов и структур данных. Snap! - потомок языка Scratch. В отличие от Scratch Snap! поддерживает лямбда-исчисление, объекты первого класса, процедуры, рекурсия и множество других возможностей. С версии 4.0 Snap! получил современное название и был переписан на JavaScript.

Moscow_city_univ.png

Компетенции в каких сферах формирует Empowered Learner, Knowledge Constructor, Innovative Designer, Computational Thinker
Парадигмы программирования Функциональное программирование, Объектно-ориентированное программирование
Возрастная категория 14
Назначение языка (Общее / Учебное) Мини-язык для обучения
Visual_Text_Blocks Блоки-Иконки
Измерение (2D/3D/Tangible) 2D
Область знаний Математика, География, Информатика, Робототехника, Искусственный интеллект, Game design, Игра
Открытость продукта Открытый
Address http://snap.berkeley.edu/
Предки (Ancestors) Scratch, Scheme, Smalltalk, Logo, Lisp
Потомки (Descendants) NetsBlox, SciSnap!, SQLsnap!, DBSnap
Активность в данный момент Project is active
Доступны ремиксы? Да
Год создания 2010
Создатели Jens Mönig, Harvey
Поясняющее видео
Используется для создания мобильных приложений? Нет
Snap! упоминается в свойствах следующих страниц
API, Arduino, Big O notation, CSV, Computer Science Logo Style, Computer Science with Snap! by Examples, Development of computational thinking based on collective interaction in MediaWiki and multi-agent approach, Dog chases cat and cat chases mouse, ElenaGrcaheva, Ergo Jr, Finch Robot, Flocking (model), Foo, GIS, GPT, Game design, Harvey, Heap, How to Keep Score in a Game, How to Move Sprites with the Arrow Keys, How to Move a Sprite in a Spiral, Hummingbird, JSON, K-means, Lieberman, Milena.aslamazova, Movement, Object Attraction, Patarakin, Pathfinding, Remix, Simply Scheme: Introducing Computer Science, Simulation models on the field of computational didactics, Sprite, Structure and Interpretation of Computer Programs, Traffic jams, Using Clones for Particle Effects, Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems, Абстракция, Агентное моделирование, Активное эссе, Алгоритм, Алгоритмы и структуры данных (syllabus), Анализ данных, Анализ и интерпретация данных (syllabus), Аналитика, Аналитика учебная, Большие данные, Веб-приложение, Вектор… следующие результаты


Snap! - потомок языка Scratch. В отличие от Scratch Snap! поддерживает лямбда-исчисление, объекты первого класса, процедуры, рекурсия и множество других возможностей. С версии 4.0 Snap! получил современное название и был переписан на JavaScript.

Руководство по использованию - https://snap.berkeley.edu/snap/help/SnapManual.pdf

Язык активно используется для обучения информатике (computer science) UC Berkeley учебный курс Beauty and Joy of Computing

SNAP! is also a great way to program the Hummingbird Robotics Kit.

https://www.youtube.com/watch?v=KaNWGhc7l8c&t=1411s




В нашей вики digida.mgpu.ru можно использовать визуальные блоки Scratch для представления программ Snap!

when @greenFlag clicked	::control
say [I am very confused about Snap!] for (2) seconds:: looks
visit [https://snapwiki.miraheze.org/] ::sensing
for each ((item::reporter variables)::#dc4c14) in (list [blocks] [features] [and others] @delInput @addInput::#ea9473)  {                                                                                                  	
think [hmm...] for (2) seconds::looks
say (join [I now know about ] (item) [.] @delInput @addInput:: operators
wait (0.5) seconds::control
}::#dc4c14 	
say [That clears some things up.] for (2) seconds::looks cap

Важно, что и сами проекты Snap! могут быть встроены в тексты вики страниц

--


Доступные структуры данных

Data snap.jpg