Snap!: различия между версиями

Материал из Поле цифровой дидактики
Строка 47: Строка 47:


  <sb version="2.0">(the [] block :: operators)</sb>
  <sb version="2.0">(the [] block :: operators)</sb>
When reading the '''map''' example above, was it immediately obvious that each list item is plugged into the empty slot in the <sb version="2.0">(() + (3))</sb> block? Elementary school teachers all know that if an eight-year-old is presented with "''x''+3=7" and asked "what's ''x''?" they are likely to get a blank stare, but if the same kid is shown "☐+3=7" and asked "what number goes in the square?" they are likely to answer "four."{{cn|date=January 2022}} Snap''!'' uses that knowledge in the design of the notation for functions. When a grey-ringed function with input is called, '''call''' looks for an empty input slot inside the ring, and that's where the input value is inserted. This notation makes simple function calling obvious, in the Scratch spirit of trying to use the visual representation to make ideas obvious. The empty input slot mechanism is not good enough for the complicated cases, such as nesting a '''map''' call inside the function input to ''another'' '''map''' call. For those cases grey rings can be given explicit input names, just like a custom block: <sb version="2.0">(((x::variables) + (3)) input names: (x::variables) @delInput @addInput :: grey ring)</sb>.


----
----

Версия 12:16, 22 августа 2022


Краткое описание языка
Компетенции в каких сферах формирует Empowered Learner, Knowledge Constructor, Innovative Designer, Computational Thinker
Парадигмы программирования
Возрастная категория 14
Назначение языка (Общее / Учебное) Мини-язык для обучения
Visual_Text_Blocks Блоки-Иконки
Измерение (2D/3D/Tangible) 2D
Область знаний
Открытость продукта Открытый
Address http://snap.berkeley.edu/
Предки (Ancestors) Scratch
Потомки (Descendants) NetsBlox, SciSnap!
Активность в данный момент Project is active
Доступны ремиксы? Yes
Год создания 2010
Создатели Brian Harvey, Jens Mönig
Поясняющее видео
Используется для создания мобильных приложений?


Snap! упоминается в свойствах следующих страниц
API, Arduino, Big O notation, CSV, Clock, Complex network analysis, 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, Egorovsn051, 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, Patterns of Technology in Education, Practice defining problems to solve by computing for data analysis, modeling or algorithmic thinking, Remix, Simply Scheme: Introducing Computer Science, Simulation models on the field of computational didactics, Sprite, Structure and Interpretation of Computer Programs, Switching Between Screens, Traffic jams, Transforming Teaching Practices, Using Clones for Particle Effects, Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems, Абстракция, Агентное моделирование, Активное эссе, Алгоритм, Алгоритмы и структуры данных (syllabus)… следующие результаты


Snap! - is an advanced Scratch Modification with lambdas, first class data, procedures, recursion, and many other features. Version 4.0 was renamed Snap! and was rewritten in JavaScript, and is thus no longer considered a Scratch modification.

SNAP! is used to teach introductory computer science at UC Berkeley and as part of the Beauty and Joy of Computing Curriculum being developed to prepare high school students for the AP Computer Science Essentials (CS for non-CS majors) course/test coming soon. It works just like a Scratch, but is more powerful, is easier to extend via plug-in libraries of blocks, and runs on tablets. SNAP! is also a great way to program the Hummingbird Robotics Kit.


Существует средство конвертации Scratch проектов в Snap! - https://snapinator.github.io/



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


(the [] block :: operators)

When reading the map example above, was it immediately obvious that each list item is plugged into the empty slot in the (() + (3)) block? Elementary school teachers all know that if an eight-year-old is presented with "x+3=7" and asked "what's x?" they are likely to get a blank stare, but if the same kid is shown "☐+3=7" and asked "what number goes in the square?" they are likely to answer "four."Шаблон:Cn Snap! uses that knowledge in the design of the notation for functions. When a grey-ringed function with input is called, call looks for an empty input slot inside the ring, and that's where the input value is inserted. This notation makes simple function calling obvious, in the Scratch spirit of trying to use the visual representation to make ideas obvious. The empty input slot mechanism is not good enough for the complicated cases, such as nesting a map call inside the function input to another map call. For those cases grey rings can be given explicit input names, just like a custom block: (((x::variables) + (3)) input names: (x::variables) @delInput @addInput :: grey ring).