<snapdata remixID="9315808"><project name="question answer" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes>Ask questions of the Snap! Wikipedia article.&#xD;&#xD;Note it can take a while to load before answering the first question.&#xD;&#xD;Please send questions, suggestions, and bug reports to toontalk@gmail.com </notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="question answer"><notes>Ask questions of the Snap! Wikipedia article.&#xD;&#xD;Note it can take a while to load before answering the first question.&#xD;&#xD;Please send questions, suggestions, and bug reports to toontalk@gmail.com </notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Open this in a new tab" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>re_open_full_window</l><list></list></custom-block></script></block-definition><block-definition s="Questions" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportNot"><block var="Ready to answer questions"/></block><script><block s="fork"><block s="reifyScript"><script><block s="bubble"><l>Loading. Please wait.</l></block><custom-block s="let %upvar be %s"><l>ignore</l><custom-block s="Answer question %txt using this passage %txt"><l>This is just to start loading the model.</l><block var="passage for answering questions"/></custom-block></custom-block><block s="bubble"><l></l></block><block s="doSetVar"><l>Ready to answer questions</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><list></list></block></script></block><block s="doAsk"><l>Ask a question about Snap!</l></block><block s="setColor"><color>145,26,68,1</color></block><block s="write"><block s="getLastAnswer"></block><l>12</l></block><block s="setXPosition"><l>-200</l></block><block s="changeYPosition"><l>-20</l></block><block s="setColor"><color>25,0,255,1</color></block><custom-block s="let %upvar be %s"><l>answer</l><custom-block s="Answer question %txt using this passage %txt"><block s="getLastAnswer"></block><block var="passage for answering questions"/><comment w="472.90318080357144" collapsed="false">Answer question is a reporter that uses BERT. See https://blog.tensorflow.org/2020/03/exploring-helpful-uses-for-bert-in-your-browser-tensorflow-js.html</comment></custom-block></custom-block><block s="doIf"><block s="reportEquals"><block var="answer"/><block s="reportBoolean"><l><bool>false</bool></l></block></block><script><block s="doSetVar"><l>answer</l><l>Sorry, I don&apos;t know the answer.</l></block></script></block><block s="write"><block var="answer"/><l>12</l></block><block s="setXPosition"><l>-200</l></block><block s="changeYPosition"><l>-20</l></block><custom-block s="Questions"></custom-block></script></block-definition><block-definition s="let %&apos;var&apos; be %&apos;value&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>var</l><block var="value"/></block></script></block-definition><block-definition s="load tensorflow" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>loaded</l></list></block><block s="doSetVar"><l>loaded</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>load_tensorflow</l><list><block s="reifyScript"><script><block s="doSetVar"><l>loaded</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></list></custom-block><block s="doWaitUntil"><block var="loaded"/></block></script></block-definition><block-definition s="Answer %&apos;question&apos; from %&apos;passage&apos; $nl process answers with %&apos;answers receiver&apos; $nl and if there is error %&apos;handle error&apos;" type="command" category="other"><comment x="0" y="0" w="191.42857142857144" collapsed="false">Uses &apos;passage&apos; to answer &apos;question&apos;.&#xD;The &apos;answer question&apos; reporter is easier to use and relies upon this block.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input><input type="%cmdRing"></input><input type="%cmdRing"></input></inputs><script><custom-block s="Load eCraft2Learn library"></custom-block><custom-block s="load tensorflow"></custom-block><block s="doReport"><custom-block s="call eCraft2Learn reporter %txt with %mult%s"><l>answer_question</l><list><block var="question"/><block var="passage"/><block var="answers receiver"/><block var="handle error"/></list></custom-block></block></script><scripts><comment x="37.85714285714286" y="158.71428571428572" w="509.4105747767857" collapsed="false">This uses BERT to answer questions.&#xD;See https://blog.tensorflow.org/2020/03/exploring-helpful-uses-for-bert-in-your-browser-tensorflow-js.html</comment></scripts></block-definition><block-definition s="Answer question %&apos;question&apos; using this passage %&apos;passage&apos;" type="reporter" category="other"><comment x="0" y="0" w="161.42857142857144" collapsed="false">Reports the top answer to the &apos;question&apos; using the &apos;passage&apos;.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><custom-block s="let %upvar be %s"><l>answers</l><custom-block s="Get up to 5 answers to question %txt from passage %txt"><block var="question"/><block var="passage"/></custom-block></custom-block><block s="doIfElse"><block s="reportListIsEmpty"><block var="answers"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="answers"/></block></block></block></script></block></script></block-definition><block-definition s="Get up to 5 answers to question %&apos;question&apos; from passage %&apos;passage&apos;" type="reporter" category="other"><comment x="0" y="0" w="253.57142857142858" collapsed="false">Reports a list of 5 elements where each element is a list of an answer to the &apos;question&apos; and its score of how good an answer it is. The highest scoring answer is first.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="Answer %txt from %txt %br process answers with %cmdRing %br and if there is error %cmdRing"><block var="question"/><block var="passage"/><block s="reifyScript"><script><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="answer"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="answer"/></block></block></list></block></autolambda><list><l>answer</l></list></block><block var="answers"/><comment w="238.57142857142858" collapsed="false">Only report the answers and scores. Not the position of the &apos;passage&apos; that the answer is based upon.</comment></block></block></script><list><l>answers</l></list></block><block s="reifyScript"><script><custom-block s="inform %txt with title %txt"><l></l><l>Answering question from passage</l></custom-block></script><list></list></block></custom-block><block s="doWaitUntil"><block var="result"/></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="inform %&apos;message&apos; with title %&apos;title&apos;" type="command" category="other"><comment x="0" y="0" w="217.14285714285717" collapsed="false">Will display &apos;message&apos; in a dialog box with &apos;title&apos;. User needs to click &apos;OK&apos; to remove it.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>inform</l><list><block var="title"/><block var="message"/></list></custom-block></script></block-definition><block-definition s="load eCraft2Learn" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>https://ecraft2learn.github.io/ai/ecraft2learn.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>https://ecraft2learn.github.io/ai/js/ecraft2learn_snap_extension.js</l></list></block></script></block-definition><block-definition s="call eCraft2Learn reporter %&apos;reporter name&apos; with %&apos;inputs&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%mult%s"></input></inputs><script><custom-block s="load eCraft2Learn"></custom-block><block s="doReport"><block s="reportApplyExtension"><l>e2l_call(reporter_name, parameters)</l><list><block var="reporter name"/><block var="inputs"/></list></block></block></script></block-definition><block-definition s="run eCraft2Learn command %&apos;command name&apos; with %&apos;inputs&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%mult%s"></input></inputs><script><custom-block s="load eCraft2Learn"></custom-block><block s="doApplyExtension"><l>e2l_run(command_name, parameters)</l><list><block var="command name"/><block var="inputs"/></list></block></script></block-definition><block-definition s="Load eCraft2Learn library" type="command" category="other"><comment x="0" y="0" w="238.57142857142858" collapsed="false">No longer needed in Snap! 7+ but retained to avoid error from blocks that expect it.</comment><header></header><code></code><translations></translations><inputs></inputs></block-definition></blocks><stage width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="263"><pentrails>data:image/png;base64,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AQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAgI4AV1JAgQIECAggPUAAQIECBBIEBDACehKEiBAgAABAawHCBAgQIBAgoAATkBXkgABAgQICGA9QIAAAQIEEgQEcAK6kgQIECBAQADrAQIECBAgkCAggBPQlSRAgAABAgJYDxAgQIAAgQQBAZyAriQBAgQIEBDAeoAAAQIECCQICOAEdCUJECBAgIAA1gMECBAgQCBBQAAnoCtJgAABAgQEsB4gQIAAAQIJAv8P5GxVDrkQKAMAAAAASUVORK5CYII=</pentrails><costumes><list struct="atomic" id="264"></list></costumes><sounds><list struct="atomic" id="265"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="-200" y="80" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="25,0,255,1" pen="tip" id="270"><costumes><list id="271"><item><ref mediaID="Sprite_cst_Untitled"></ref></item></list></costumes><sounds><list struct="atomic" id="272"></list></sounds><blocks></blocks><variables><variable name="passage for answering questions"><l>Snap (formerly BYOB) is a free, blocks-based educational graphical programming language and online community aimed at students to explore, create and re-mix interactive animations, games, stories, and more, while learning about mathematical and computational ideas. While inspired by Scratch, Snap has many advanced features. The Snap editor, and programs created in it, are web applications that run in the browser (like Scratch 2) without requiring installation.&#xD;&#xD;In Snap, the screen is organized in three resizable columns containing five regions: the block group selector (top of left column), the blocks palette (left column), the main area (middle column), and the stage area (top of right column) with the sprite selector (also called the sprite corral) showing sprite thumbnails below it.&#xD;&#xD;In the interactively resizable stage area (full-screen is available, too) are drawn the graphical results (i.e. animations, graphics, etc.) of the scripts running in the script area, and/or interactively double-clicked individual blocks in any palette. Individual blocks can be dragged from the palette onto the scripts area to be associated with the selected sprite.&#xD;&#xD;Snap&apos;s blocks are divided into eight groups: Motion, Looks, Sound, Pen, Control, Sensing, Operators, and Variables. The layout of these groups in the block group selector is shown in the table below.&#xD;&#xD;The main area can show scripts, costumes, or sounds associated with the selected sprite. What the main area shows is dependent on the selected tab.&#xD;&#xD;The most important features that Snap offers, but Scratch does not, include:&#xD;&#xD;expressions using "nested functions", consisting of one or more "anonymous functions", each of which is represented by a block having one or more empty slot(s)/parameter(s) that are waiting for a "higher order function" (the one that is calling the anonymous one) to be filled by. (Their computer-science theoretical basis being First class functions, which in turn have "Lambda calculus" as their even more abstract, mathematical, foundation),&#xD;lists that are first class (including lists of lists),&#xD;First class sprites (in other words prototype-oriented instance-based classless programming),&#xD;nestable sprites&#xD;codification of Snap programs to mainstream languages such as Python, JavaScript, C, etc.&#xD;&#xD;The web-based Snap and older desktop-based BYOB have been both developed by Jens Moenig for Windows, OS X and Linux with design ideas and documentation provided by Brian Harvey from University of California, Berkeley and have been used to teach "The Beauty and Joy of Computing" introductory course in computer science (CS) for non-CS-major students. They were both members of the Scratch Team before creating Snap. BYOB and Snap both were created in the Scratch Headquarters, MIT Media Lab. BYOB is still available for downloading.&#xD;&#xD;The source code of Snap is A General Public License (AGPL) licensed and is hosted on GitHub. The earlier, desktop-based 3.x version&apos;s code is available under a license that allows modification for only non-commercial uses and can be downloaded from the UC Berkeley website or CNET&apos;s Download.com and TechTracker download page.&#xD;&#xD;Snapis implemented in JavaScript using an HTML5 Canvas application programming interface (API), and because of that it runs on the major web-browsers on Windows, iOS, OS X and Linux devices.&#xD;&#xD;Snap has been recognized by the Logo Foundation, and reviewed in an online magazine for programmers. As of December 2014, 100 New York City (NYC) high schools will introduce University of California at Berkeley&apos;s Beauty and Joy of Computing as a new AP Computer Science Principles course in 2015, using Snap.&#xD;</l></variable></variables><scripts><script x="30.000000000000004" y="30.000000000000004"><block s="receiveGo"></block><block s="hide"></block><block s="clear"></block><block s="gotoXY"><l>-200</l><l>160</l></block><custom-block s="Questions"></custom-block></script><script x="33.71428571428573" y="276.7142857142866"><custom-block s="Open this in a new tab"></custom-block></script><script x="32.142857142857146" y="320.4285714285714"><block s="doSetVar"><l>passage for answering questions</l><block var="Snap wikipedia"/><comment w="157.14285714285714" collapsed="false">You can change it to answer questions about something else.</comment></block></script><comment x="29.28571428571429" y="149.99999999999997" w="218.5714285714286" collapsed="false">Example questions:&#xD;Who developed Snap?&#xD;What is Snap!?&#xD;What is the old name of Snap?&#xD;What is BYOB?&#xD;What license does Snap have?&#xD;Who is Brian Harvey? (it isn&apos;t infallible.)</comment></scripts></sprite><watcher scope="Sprite" var="passage for answering questions" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher scope="Sprite" s="xPosition" style="normal" x="10" y="87.800002" color="74,108,212" hidden="true"/><watcher scope="Sprite" s="yPosition" style="normal" x="10" y="115.60000400000001" color="74,108,212" hidden="true"/><watcher var="Snap wikipedia" style="normal" x="0" y="143.40000600000005" color="243,118,29" hidden="true"/><watcher var="Ready to answer questions" style="normal" x="10" y="136.600006" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="Snap wikipedia"><l>Snap (formerly BYOB) is a free, blocks-based educational graphical programming language and online community aimed at students to explore, create and re-mix interactive animations, games, stories, and more, while learning about mathematical and computational ideas. While inspired by Scratch, Snap has many advanced features. The Snap editor, and programs created in it, are web applications that run in the browser (like Scratch 2) without requiring installation.&#xD;&#xD;In Snap, the screen is organized in three resizable columns containing five regions: the block group selector (top of left column), the blocks palette (left column), the main area (middle column), and the stage area (top of right column) with the sprite selector (also called the sprite corral) showing sprite thumbnails below it.&#xD;&#xD;In the interactively resizable stage area (full-screen is available, too) are drawn the graphical results (i.e. animations, graphics, etc.) of the scripts running in the script area, and/or interactively double-clicked individual blocks in any palette. Individual blocks can be dragged from the palette onto the scripts area to be associated with the selected sprite.&#xD;&#xD;Snap&apos;s blocks are divided into eight groups: Motion, Looks, Sound, Pen, Control, Sensing, Operators, and Variables. The layout of these groups in the block group selector is shown in the table below.&#xD;&#xD;The main area can show scripts, costumes, or sounds associated with the selected sprite. What the main area shows is dependent on the selected tab.&#xD;&#xD;The most important features that Snap offers, but Scratch does not, include:&#xD;&#xD;expressions using "nested functions", consisting of one or more "anonymous functions", each of which is represented by a block having one or more empty slot(s)/parameter(s) that are waiting for a "higher order function" (the one that is calling the anonymous one) to be filled by. (Their computer-science theoretical basis being First class functions, which in turn have "Lambda calculus" as their even more abstract, mathematical, foundation),&#xD;lists that are first class (including lists of lists),&#xD;First class sprites (in other words prototype-oriented instance-based classless programming),&#xD;nestable sprites&#xD;codification of Snap programs to mainstream languages such as Python, JavaScript, C, etc.&#xD;&#xD;The web-based Snap and older desktop-based BYOB have been both developed by Jens Moenig for Windows, OS X and Linux with design ideas and documentation provided by Brian Harvey from University of California, Berkeley and have been used to teach "The Beauty and Joy of Computing" introductory course in computer science (CS) for non-CS-major students. They were both members of the Scratch Team before creating Snap. BYOB and Snap both were created in the Scratch Headquarters, MIT Media Lab. BYOB is still available for downloading.&#xD;&#xD;The source code of Snap is A General Public License (AGPL) licensed and is hosted on GitHub. The earlier, desktop-based 3.x version&apos;s code is available under a license that allows modification for only non-commercial uses and can be downloaded from the UC Berkeley website or CNET&apos;s Download.com and TechTracker download page.&#xD;&#xD;Snap is implemented in JavaScript using an HTML5 Canvas application programming interface (API), and because of that it runs on the major web-browsers on Windows, iOS, OS X and Linux devices.&#xD;&#xD;Snap has been recognized by the Logo Foundation, and reviewed in an online magazine for programmers. As of December 2014, 100 New York City (NYC) high schools will introduce University of California at Berkeley&apos;s Beauty and Joy of Computing as a new AP Computer Science Principles course in 2015, using Snap.&#xD;</l></variable><variable name="Ready to answer questions"><bool>true</bool></variable></variables></scene></scenes></project><media name="question answer" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Untitled" center-x="5" center-y="4" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAAXNSR0IArs4c6QAAAJVJREFUKFNjZGBgYPj/5WYsw/9/ygyMTHcZedQXg8TQAeP/rzc9Gf4zbINL/P8fxsirsRqLwuvGDP+ZzqBIMDJ4MXKrb0cWYwRb/flGKAMj4yqEqf8awWwkp4AVQhRfb2BgZKrHdBzjakZutTCEwq9YnAA35T9CIdRUBwYGBhCGAJgN//85wk3EFiT/P9xWBqsXUL0LAPf1MzFo+l2lAAAAAElFTkSuQmCC" mediaID="Sprite_cst_Untitled"/></media></snapdata>