====== [hemmerling] Rapid Software Application and GUI Prototyping 2/3 - Building Blocks ====== Related pages: *[[android06.html|Google Android 6/6 - App Protoyping]]. *[[prototype.html|Rapid Software Application and GUI Prototyping 1/2]]. *[[prototype03.html|Rapid Software Application and GUI Prototyping 3/3 - Visual Programming Languages]]. ===== Events ===== *[[http://www.appcamps.de/|APPCAMPS]]. *"Kostenloses Unterrichtsmaterial zu Programmierung und digitalen Themen". *"App Summer Camp" in Hamburg, for pupils of 13 years or older, 2018-07-25 - 2018-07-27. ===== Alice ===== *[[http://www.alice.org/|Alice – Tell Stories. Build Games. Learn to Program]]. *"Alice is an innovative block-based programming environment that makes it easy to create animations, build interactive narratives, or program simple games in 3D. Unlike many of the puzzle-based coding applications Alice motivates learning through creative exploration. Alice is designed to teach logical and computational thinking skills, fundamental principles of programming and to be a first exposure to object-oriented programming. The Alice Project provides supplemental tools and materials for teaching using Alice across a spectrum of ages and subject matter with proven benefits in engaging and retaining diverse and underserved groups in computer science education". *Alice is a Java application. *No free online service, but download offer of executables for Windows, Linux, MacOSX. *[[http://www.youtube.com/watch?v=VexA0jGBDZ0|YouTube "From Alice 3 to NetBeans IDE"]]. ===== BloP ===== *[[http://sites.google.com/site/blocklanguages/|Google "blocklanguages"]] - "'BloP', a development environment for block languages". *blockC (v1.0). *Animated Sort Language (v.1.0.2). *blockLogo (v1.0), ===== Code.org - App Lab ===== *[[http://www.code.org/]]. *[[http://www.code.org/educate/applab|Code.org "App Lab"]] - "App Lab is a programming environment where you can make simple apps. Design an app, code in JavaScript with either blocks or text, then share your app in seconds". *[[http://studio.code.org/projects/applab/new|Code.org "App Lab" - New Project]] - Editor. *Video [[http://studio.code.org/s/applab-intro/stage/1/puzzle/1|Code.org "Video: App Lab - Getting Started"]]. ===== CoSpaces Edu ===== *The commercial online service [[http://www.cospaces.io/|CoSpaces Edu]] with free basic plan :-). *"Make AR & VR in the classroom". *You can register as "teacher" and as "student", I suggest to register as "teacher". ===== Kahoot! ===== *The commercial [[http://kahoot.com/|Kahoot!]] with some free plans. *"Choose your account type - Teacher, Student, Private, Professional". *I registered as "Professional", by my own fault :-(. *Don't register as "Professional", as there is no free plan :-(, and "Host kahoots for up to 20 players", which is unwanted for single players :-(. *Result:: "We noticed you were so close to signing up and accessing e-learning features that engage remote workers! Kahoot! Basic You can get started for free by signing up for Kahoot! Basic. You don’t even need a credit card. Just click Continue for free, and you’ll access a free plan with basic e-learning features. With Kahoot! Basic, you can": -Help remote teams stay connected by playing ready-made trivia games with up to 10 players. -Create and play self-paced e-learning challenges with up to 10 colleagues. -Create and host live games for up to 3 colleagues. *[[http://www.kahoot.com/schools/plans/|Kahoot! "Schools / Plans"]] - Free plan "Basic" :-). *[[http://create.kahoot.it/|Kahoot! Creator]] - The online editor. *[[http://create.kahoot.it/creator|Kahoot! Creator "Create a new project"]]. ===== MIT App Inventor ( for Android ) ===== *See [[android06.html|Google Android 6/6 - App Protoyping]]. ===== NEPO by Open Roberta ===== ==== Software ==== *[[http://www.open-roberta.org/|Open Roberta]], [[http://www.roberta-home.de/|Roberta Initative]] - "Lernen mit Robotern – Spielerisch programmieren lernen". *Online IDE [[http://lab.open-roberta.org/|Open Roberta Lab]]. -Calliope. -Calliope 2017beta. -Calliope 2016. -Open Roberta Sim. -EV3 -EV3 leJOS 0.9.1beta. -EV3 leJOS 0.9.0beta. -EV3dev -[[http://en.wikipedia.org/wiki/Lego_Mindstorms_NXT|EN.Wikipedia "Lego Mindstorms NXT"]], [[http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT|DE.Wikipedia "Lego Mindstorms NXT"]]. ==== LEGO Mindstorms ===== *[[http://en.wikipedia.org/wiki/Lego_Mindstorms_NXT|EN.Wikipedia "Lego Mindstorms NXT"]], [[http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT|DE.Wikipedia "Lego Mindstorms NXT"]]. ==== Calliope ==== === Hardware & Software & Training === *[[http://de.wikipedia.org/wiki/Calliope_mini|DE.Wikipedia "Calliope mini"]]. *[[http://www.calliope.cc/|Calliope]]. *[[http://www.calliope.cc/schulen/schulmaterial|Calliope "Schulmaterial"]]. -"Calliope mini – Batterieverbindung". -"Erste Schritte mit dem Calliope mini". -"Cornelsen: Arbeitsheft für den Calliope mini" ( "Coden mit dem Calliope mini – Programmieren in der Grundschule" ). -"Cornelsen: Material für Lehrkräfte zum Calliope mini". -"Landesinstitut für Pädagogik und Medien Saarland: Lernkarten und Videos". *[[http://www.lpm.uni-sb.de/typo3/index.php?id=5892|Landesinstitut für Pädagogik und Medien "Calliope mini"]]. -"App Camps: Calliope mini Kurs". *[[http://www.appcamps.de/unterrichtsmaterial/calliope-mini|APPCAMPS "Calliope mini Unterrichtsmaterial. Programmieren lernen mit Calliope mini"]]. -"Code your Life – Wetterstation mit dem Calliope mini". *[[http://www.code-your-life.org/Praxis/Calliope_mini/1320_Handbuch_Calliope.htm|Code Your Life "Eine Wetterstation mit dem Calliope"]]. -"Wissensfabrik: Schulmaterial für Calliope mini (IT2School)". *[[http://www.wissensfabrik.de/|Wissensfabrik. Unternehmen für Deutschland]]. *[[http://www.wissensfabrik.de/portal/fep/de/dt.jsp?setCursor=1_554644_573578|Wissensfabrik. Unternehmen für Deutschland "Wählen Sie hier Ihr Downloadmaterial zu IT2School. 10 - Modul B8 - Calliope"]]. *"Im Rahmen des Zukunftswerkstatt - Projekts fördert Google im Jahr 2017 Trainings für bis zu 500 Lehrkräfte, die einen kostenfreien Einblick in das langjährig bewährte Roberta - Konzept des Fraunhofer IAIS erhalten". *[[http://growthengine.withgoogle.com/intl/de-de|Google Zukunftswerkstatt]]. -"Didaktik der Informatik Bergische Universität Wuppertal: Handreichung für Lehrkräfte". -"Didaktik der Informatik Bergische Universität Wuppertal: Informatiksystem für Schülerhände". *[[http://www.github.com/calliope-mini|GitHub "Calliope mini"]]. *[[http://www.hackster.io/calliope-mini|Hackster.io "calliope-mini"]]. *[[http://en.wikipedia.org/wiki/Micro_Bit|EN.Wikipedia "Micro Bit"]], [[http://de.wikipedia.org/wiki/BBC_micro:bit|DE.Wikipedia "BBC micro:bit"]]. === fischertechnik Calliope === *See [[fischertechnik.html|The inofficial fischertechnik Files]]. === Literature === *If necessary, please check before buying, whether a book uses the "Building Blocks" programming language approach of OpenRoberta, or the more advanced "C" programming approach. *Book [[http://www.amazon.de/exec/obidos/ASIN/3527714499/hemmerling-21|Nadine Bergner,‎ Thiemo Leonhardt "Programmieren mit dem Calliope mini für Dummies Junior"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3864904684/hemmerling-21|Nadine Bergner,‎ Patrick Franken,‎ Julia Kleeberger,‎ Thiemo Leonhardt,‎ Mario Lukas,‎ Mario Pesch,‎ Natalia Prost,‎ Jan Thar,‎ Lina Wassong "Das Calliope-Buch: Spannende Bastelprojekte mit dem Calliope-Mini-Board"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3645605592/hemmerling-21|Christian Immler "Der kleine Hacker: Programmieren lernen mit dem Calliope mini. Coole Spiel- und Bauprojekte programmieren"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/1549701932/hemmerling-21|Burkhard Kainka "Calliope und Micro:bit in der Praxis"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/1976208009/hemmerling-21|Alfred Schilken "Band 1: Calliope Mini als Einstieg: Programmieren mit C und CLion (IoT Projekte mit Mynewt OS)"]]. *"Coden mit dem Calliope mini. Programmieren in der Grundschule. Lehrmaterial für den Einsatz ab Klasse 3". *Book [[http://www.amazon.de/exec/obidos/ASIN/3066000125/hemmerling-21|Cornelsen "Coden mit dem Calliope mini: 3./4. Schuljahr - Programmieren in der Grundschule: Lehrermaterial"]]. *The free PDF book [[http://calliope.cc/content/3-schulen/1-schulmaterial/cornelsen_lehrerhandreichung.pdf|Cornelsen "Coden mit dem Calliope mini. Programmieren in der Grundschule. Lehrmaterial für den Einsatz ab Klasse 3"]]. === Resources === *[[http://calliope-saarland.de/|Calliope im Saarland]]. *[[http://calliope-saarland.de/category/buch/|Calliope im Saarland "Category: Buch"]]. *[[http://www.heise.de/newsticker/meldung/Calliope-mini-fuer-Schulen-Geschenk-oder-Lobbyismus-3867025.html|heise "Calliope mini für Schulen: Geschenk oder Lobbyismus"]], 2017-10-21. ===== Pocket Code ===== *[[http://www.catrobat.org/|International Catrobat Association c/o Institut für Softwaretechnologie. Technische Universität Graz "Free educational apps for children and teenagers. Create and play!"]]. *[[http://developer.catrobat.org/|International Catrobat Association c/o Institut für Softwaretechnologie. Technische Universität Graz "Developers' website of the Catrobat project"]]. *[[http://www.pocketcode.org/|Pocket Code]], [[http://share.catrob.at/pocketcode/|Pocket Code]]. *[[http://play.google.com/store/apps/details?id=org.catrobat.catroid|Google Play "Pocket Code: Learn programming your own game apps!"]]. *Wiki [[http://www.scratch-dach.info/|Deutschsprachiger DACH-Scratch-Wiki]]. *[[http://www.scratch-dach.info/wiki/Pocket_Code|Deutschsprachiger DACH-Scratch-Wiki "Pocket Code"]]. ===== Scratch ===== ==== Software ==== *[[http://scratch.mit.edu/|Massachusetts Institute of Technology "Scratch"]] - "Imagine, Program, Share". *Online IDE by Internet browser [[https://scratch.mit.edu/projects/editor/|Massachusetts Institute of Technology "Scratch", Online IDE]] - **Requires "Adobe Flash" plugin :-(, as of 2018-02**. *[[http://scratch.mit.edu/mystuff/|Massachusetts Institute of Technology "My Stuff"]] - Repository of your own private projects. *The "My Stuff" page lists all private and public projects. *Each project has its own project page. *Project owners ( who own the account by which the project was created and uploaded to the Snap! cloud ) may share and unshare projects. *A shared project has a valid global project page URL ( e.g. "http://scratch.mit.edu/projects/xxxxxxxxx/", while "xxxxxxxxx" is the project number ), which is visible in the Internet. *Private projects have a valud project URL just for the project owner. *From the project page, you may edit a project by the button "See inside". *From the Scratch editor, you may switch to the project page by the button "See project page". *Shared projects may be loaded in the Scratch! editor by anybody ( even without beeing logged in at Scratch ). *User experience ( UX ): *You may run Scratch applications in a fullscreen mode by the #fullscreen tag, e.g. "http://scratch.mit.edu/projects/xxxxxxxxx/#fullscreen". But any user may switch to edit mode. *So there is no "Execution URL", by which the application may just be started. So a Scratch application may not be experienced as a true "standalone Internet service application". ==== Scratch 3.0 ==== *[[http://beta.scratch.mit.edu/|Scratch 3.0 GUI ( Beta )]] - Login. *[[http://scratch-dach.info/wiki/Scratch_3.0|Deutschsprachiger DACH-Scratch-Wiki "Scratch 3.0"]]. *[[http://en.scratch-wiki.info/wiki/Scratch_3.0|Scratch Wiki "Scratch 3.0"]], *[[http://www.medium.com/scratchteam-blog/3-things-to-know-about-scratch-3-0-18ee2f564278|Medium "3 Things To Know About Scratch 3.0. A new version of Scratch is coming this August!"]], 2018-06-18. *[[http://www.medium.com/scratchteam-blog/try-the-scratch-3-0-beta-today-b50a05d63348|Medium "Try the Scratch 3.0 Beta today! By the MIT Scratch Team"]]. *[[http://www.einstieg-informatik.de/index.php?article_id=1294|Einstieg Informatik "Preview von Scratch 3.0 erschienen!"]] - "Das endgültige Veröffentlichungsdatum für die Online-Version von Scratch 3.0 ist für August 2018 festgelegt". *Experts told me, that Scratch 3.0 will feature: -HTML5 instaed of Flash Interface. -Many plugins, e.g. the Arduino plugin, will be included in the standard edition. ==== Literature ==== *Book [[http://www.amazon.de/exec/obidos/ASIN/3831027005/hemmerling-21|Dorling Kindersley "Programmieren supereasy: Einfacher Einstieg in SCRATCH und PYTHON"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3831030952/hemmerling-21|Dorling Kindersley "Spiele programmieren supereasy: Coole Games mit Scratch"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/1782325530/hemmerling-21|Jonathan Melmoth,‎ Rosie Dickins,‎ Louie Stowell,‎ Shaw Nielsen "Ganz easy programmieren lernen: Scratch"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3741522562/hemmerling-21|Max Wainewright,‎ Mike Henson "Programmieren für Kids: 20 Spiele mit Scratch"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3551220778/hemmerling-21|Diana Knodel,‎ Philipp Knodel,‎ Jan Radermacher "Einfach Programmieren für Kinder"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/364560278X/hemmerling-21|Christian Immler "Der kleine Hacker: Programmieren für Einsteiger. Mit Scratch schnell und effektiv programmieren lernen"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3864904471/hemmerling-21|Al Sweigart,‎ Volkmar Gronau "Coole Spiele mit Scratch: Lerne programmieren und baue deine eigenen Spiele"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3527712895/hemmerling-21|Derek Breen,‎ Jürgen Dubau "Erste Schritte mit Scratch für Dummies Junior"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3946496016/hemmerling-21|Erik Bartmann "Mit Scratch die elektronische Welt entdecken"]] #. *Book [[http://www.amazon.de/exec/obidos/ASIN/3831035121/hemmerling-21|Jon Woodcock "Star Wars Spiele programmieren: Mit Scratch. Mit einfachen Anleitungen zum Programmieren von Animationen, Spielen und vielem mehr!"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3831033676/hemmerling-21|Dorling Kindersley "Kreative Projekte mit Scratch supereasy programmieren"]]. *Book [[http://www.amazon.de/exec/obidos/ASIN/3868021639/hemmerling-21|Coding Club Linz "Programmierspaß für Kinder mit Scratch und Co. Das CoderDojo-Übungsbuch"]]. *A series of free PDF Books. *[[http://scratched.gse.harvard.edu/|Harvard University "ScratchEd"]] - "An online community where Scratch educators". *[[http://scratched.gse.harvard.edu/|Harvard University "ScratchEd" - Creative Computing]]. *[[http://scratched.gse.harvard.edu/guide/|Harvard University "ScratchEd" - Creative Computing "an introductory computing curriculum using Scratch"]] *[[http://scratched.gse.harvard.edu/guide/download.html|Harvard University "ScratchEd" - Creative Computing "Download"]]. *"The original guide, for educators" ( PDF ). *"A workbook version, for learners" ( PDF ). *"Editable versions, for teachers and translators" ( PDF ). *[[http://eis.ph-noe.ac.at/kreativeinformatik/|Pädagogische Hochschule Niederösterreich - Education Innovation Studio "Kreative Informatik mit Scratch – das Buch!"]]. *[[http://eis.ph-noe.ac.at/wp-content/uploads/2017/05/kreative-informatik-lhb.pdf|Susanne Weigl, Ingeborg Lechner "Kreative Informatik Lehrerhandbuch"]] ( PDF ). *[[http://eis.ph-noe.ac.at/wp-content/uploads/2017/05/kreative-informatik-shb.pdf|Susanne Weigl, Ingeborg Lechner "Kreative Informatik Schülerhandbuch"]] ( PDF ). ==== Videos ==== *[[http://www.youtube.com/results?search_query=snap%21+programming|YouTube "scratch programming"]]. *[[http://www.youtube.com/results?search_query=snap%21+programmieren|YouTube "scratch programmieren"]]. ==== Scratch Extensions ==== === Online Service === *[[http://www.scratchx.org/|ScratchX]]. *"Open Extension File". *"Open Extension URL". === Scratch Extensions Browser Plugin === *[[http://scratch.mit.edu/info/ext_download/|Massachusetts Institute of Technology "Scratch Extensions Browser Plugin"]]. === Resources === *[[http://khanning.github.io/scratch-arduino-extension/|GitHub "Scratch Arduino Extension"]]. *[[http://en.scratch-wiki.info/wiki/Scratch_Extension|Scratch Wiki "Scratch Extension"]]. *[[http://en.scratch-wiki.info/wiki/List_of_Scratch_Extensions|Scratch Wiki "List of Scratch Extensions"]]. *[[http://en.scratch-wiki.info//wiki/Making_Scratch_Extensions|Scratch Wiki "Making Scratch Extensions"]]. *[[http://en.scratch-wiki./wiki/ScratchX|Scratch Wiki "ScratchX"]]. *[[http://www.scratch-dach.info/wiki/Scratch_Extensions|Deutschsprachiger DACH-Scratch-Wiki "Scratch Extensions"]]. ==== Resources ==== *Heiko Idensen. *[[http://www.diigo.com/profile/web2write?query=Scratch|web2write "Idensen"]] *[[http://hackmd.io/s/r1qKcGgyz#|Heiko Idensen "Coding mit dem Raspberry Pi / Coding mit Minetest"]]. *Scratch. *Pocket Code. *[[http://scratched.gse.harvard.edu/|Harvard University "ScratchEd"]]. *"An online community where Scratch educators". *"Your application for an account is currently being reviewed. Any account applications that are not from teachers/educators will not be approved" :-(. *Wiki [[http://en.scratch-wiki.info/wiki/|Scratch Wiki]] ( formerly at [[http://wiki.scratch.mit.edu/wiki/|Scratch Wiki]] ). *[[http://en.scratch-wiki.info/wiki/Broadcast|Scratch Wiki "Broadcast"]]. *Wiki [[http://www.scratch-dach.info/|Deutschsprachiger DACH-Scratch-Wiki]]. *[[http://www.scratch-dach.info/wiki/Mit_Scratch_programmieren|Deutschsprachiger DACH-Scratch-Wiki "Mit Scratch programmieren"]]. *[[http://www.scratch-dach.info/wiki/Programmierkonzepte|Deutschsprachiger DACH-Scratch-Wiki "Programmierkonzepte"]]. *[[http://en.wikipedia.org/wiki/Snap!_(programming_language)|EN.Wikipedia "Scratch (programming language)"]], [[http://de.wikipedia.org/wiki/Scratch_(Programmiersprache)|DE.Wikipedia "Scratch (Programmiersprache)"]]. ===== Snap! ===== ==== The online Tools ==== === Snap! === *[[http://snap.berkeley.edu/|University of California, Berkeley "Snap!"]]. *[[http://snap.stanford.edu/snap/license.html|University of California, Berkeley "Snap!" - License]] - "SNAP is distributed under the BSD license" = [[http://opensource.org/licenses/BSD-3-Clause|Open Source Initiative (OSI) "The 3-Clause BSD License"]]. *Online IDE by Internet browser [[http://snap.berkeley.edu/run|University of California, Berkeley "Snap!", Online IDE]], [[http://snap.berkeley.edu/snapsource/snap.html|University of California, Berkeley "Snap!", Online IDE]], **Plain HTML5/Javascript implementation :-)**. *[[http://snap-cloud.cs10.org/|Snap! Cloud]]. *[[http://snap-cloud.cs10.org/users/hemmerling/|Snap! Cloud "hemmerling"]]. *Project owners ( who own the account by which the project was created and uploaded to the Snap! cloud ) may share and unshare projects. *Shared projects may be executed by anybody. But just the project owner may load the project the Snap! editor. *User experience ( UX ): There is an "Execution URL", by which shared projects may just be started but not edited. So a Snap! application may be experienced as a true “standalone Internet service application”. === Additional Online IDEs === *Online IDE by Internet browser [[http://www.snap4arduino.rocks/run/|Snap4Arduino]]. *Online IDE by Internet browser [[http://editor.netsblox.org/|NetsBlox - Innovative Learning]]. === Scratch to Snap!, a free Online Service === *Free online service [[http://djsrv.github.io/Snapin8r2/|GitHub.io "Snapin8r2 - Scratch to Snap!]]. *[[http://github.com/djsrv/Snapin8r2/|GitHub "Snapin8r2"]]. === Snapp - Generator for standalone Executables, a free Online Service === *Turn your project into a standalone executable! First “Export project” and save the resulting XML file. Then go to *[[http://snapp.citilab.eu/|Snapp]] - "A tool that generates standalone executables from Snap projects", target Win32, Win64, Linux32, Linux64, MacOSX32, MacOSX64. *[[http://www.github.com/Rydion/Snapp/wiki|GitHub Wiki "Rydion/Snapp"]]. ==== Developers & Downloads ==== *[[http://people.eecs.berkeley.edu/~bh/|Brian Harvey]]. *[[http://www.youtube.com/channel/UCy13EPTMkqlWWYMgMM5LVIg/feed|YouTube "Brian Harvey"]] - 2 single videos about Snap!. *[[http://www.linkedin.com/in/jens-m%C3%B6nig-b8a00925/|Jens Mönig]]. *[[http://www.github.com/jmoenig/Snap--Build-Your-Own-Blocks/|GitHub "jmoenig/Snap--Build-Your-Own-Blocks"]]. *[[http://snap.berkeley.edu/old-byob.html|University of California, Berkeley "Snap!" - "BYOB (old version) Downloads"]]. *Online IDE by Internet browser [[http://snap.berkeley.edu/run|University of California, Berkeley "Snap!", Online IDE]], [[http://snap.berkeley.edu/snapsource/snap.html|University of California, Berkeley "Snap!", Online IDE]] - To download the current "Snap!" sourcecode as ZIP file, please click on "Snap!" icon at the left upper corner of your browser scren, and select "Download source". ==== Education, Training ==== *[[http://www.edx.org/course/beauty-joy-computing-apr-cs-principles-uc-berkeleyx-bjc-12x-0|EDX "The Beauty and Joy of Computing - AP CS Principles Part 1"]], 2017... *[[http://www.edx.org/course/beauty-joy-computing-apr-cs-principles-uc-berkeleyx-bjc-34x-0|EDX "The Beauty and Joy of Computing - AP® CS Principles Part 2"]], 2018 *[[http://www.mooc-list.com/tags/snap|MOOC List "Snap! MOOCs and Free Online Courses"]]. *[[http://ddi.ifi.lmu.de/tdi/2013/|Ludwig-Maximilians-Universität München "Tag der Informatik-Lehrerinnen und -Lehrer 2013"]]. *[[http://ddi.ifi.lmu.de/tdi/2013/upload|Ludwig-Maximilians-Universität München "Tag der Informatik-Lehrerinnen und -Lehrer 2013", Materialien für TdI]]. *[[http://ddi.ifi.lmu.de/tdi/2013/upload/workshop-programmieren-mit-snap/view|Ludwig-Maximilians-Universität München "Tag der Informatik-Lehrerinnen und -Lehrer 2013","Workshop: Programmieren mit Snap!"]]. *[[http://ddi.ifi.lmu.de/tdi/2013/upload/workshop-programmieren-mit-snap/at_download/file|Michael Brenner "Programmieren mit Snap!"]] ( PDF ) #. *Blog [[http://zurueckindieschule.wordpress.com/|Michael Brenner - Zurück in die Schule]]. *[[http://zurueckindieschule.wordpress.com/workshop-unterlagen-zu-snap-cc-lizenz/|Michael Brenner - Zurück in die Schule "Workshop-Unterlagen zu Snap! (CC-Lizenz)"]] #. *Quadrat. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=quadrat0|University of California, Berkeley "Snap!Cloud" - Execute Application "quadrat0"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=quadrat1NeuerBlock|University of California, Berkeley "Snap!Cloud" - Execute Application "quadrat1NeuerBlock"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=quadrat2Parameter|University of California, Berkeley "Snap!Cloud" - Execute Application "quadrat2Parameter"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=quadrat3ParameterRandomisiert|University of California, Berkeley "Snap!Cloud" - Execute Application "quadrat3ParameterRandomisiert"]]. *Nikolaus. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=nikolaus0Fix|University of California, Berkeley "Snap!Cloud" - Execute Application "nikolaus0Fix"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=nikolaus1DiagonaleAlsFunktion|University of California, Berkeley "Snap!Cloud" - Execute Application "nikolaus1DiagonaleAlsFunktion"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=nikolaus2Pythagoras|University of California, Berkeley "Snap!Cloud" - Execute Application "nikolaus2Pythagoras"]]. *Variablen. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=nikolaus3Variable|University of California, Berkeley "Snap!Cloud" - Execute Application "nikolaus3Variable"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=Variablen1|University of California, Berkeley "Snap!Cloud" - Execute Application "Variablen1"]]. *Rekursion. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=Baum1|University of California, Berkeley "Snap!Cloud" - Execute Application "Baum1"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=Baum2Randomisiert|University of California, Berkeley "Snap!Cloud" - Execute Application "Baum2Randomisiert"]]. *Animation. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=Arm|University of California, Berkeley "Snap!Cloud" - Execute Application "Arm"]]. *Listen und Lambdas. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=higherOrderFunctions0|University of California, Berkeley "Snap!Cloud" - Execute Application "higherOrderFunctions0"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=higherOrderFunctions1|University of California, Berkeley "Snap!Cloud" - Execute Application "higherOrderFunctions1"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=higherOrderFunctions2|University of California, Berkeley "Snap!Cloud" - Execute Application "higherOrderFunctions2"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=Quicksort|University of California, Berkeley "Snap!Cloud" - Execute Application "Quicksort"]]. *WHILE, FOR. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=WhileSchleifeInkorrekt|University of California, Berkeley "Snap!Cloud" - Execute Application "WhileSchleifeInkorrekt"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=WhileSchleife|University of California, Berkeley "Snap!Cloud" - Execute Application "WhileSchleife"]]. -[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=embee&ProjectName=ForSchleife|University of California, Berkeley "Snap!Cloud" - Execute Application "ForSchleife"]], [[http://snap.berkeley.edu/snapsource/snap.html#edit:Username=embee&ProjectName=ForSchleife|University of California, Berkeley "Snap!Cloud" - Edit Application "ForSchleife"]]. *[[http://www.netsblox.org/|NetsBlox - Innovative Learning]]. *"NetsBlox is a visual programming language and cloud-based environment that enables novice programmers to create networked programs such as multi-player games. Its visual notation is based on Scratch and it uses the open source JavaScript code base of Snap! NetsBlox opens up the internet with its vast array of public domain scientific and other data sources making it possible to create STEM projects, such as displaying seismic activity anywhere on Earth using an interactive Google Maps background. Similarly, weather, air pollution, and many other data sources such as the Open Movie Database and the Sloan Digital Sky Server are available. NetsBlox supports collaborative program editing similar to how Google Docs work". *Online IDE by Internet browser [[https://editor.netsblox.org/|NetsBlox - Innovative Learning]]. *[[http://www.linkedin.com/in/akos-ledeczi-ab365217/|LinkedIn "Akos Ledeczi"]]. *[[http://bjc.edc.org/|University of California, Berkeley "Beauty and Joy of Computing"]]. *[[http://bjc.edc.org/bjc-r/course/bjc4nyc.html|University of California, Berkeley "Beauty and Joy of Computing", Table of Contents]]. *[[http://bjc.edc.org/Sept2015/bjc-r/course/bjc4nyc_2015-2016.html|University of California, Berkeley "Beauty and Joy of Computing", Table of Contents, 2015-2016]] - "THIS IS THE STATIC SEPT 2015 VERSION!". *[[http://www.finchrobot.com/|Finch Robot. Catalyze Computer Science Learning!]]. *[[http://www.finchrobot.com/software/snap|Finch Robot. Catalyze Computer Science Learning! "Snap!"]]. *[[http://www.hummingbirdkit.com/|Hummingbird Robotics Kit]]. *[[http://www.hummingbirdkit.com/learning/introduction-hummingbird-snap|Hummingbird Robotics Kit "Introduction to Hummingbird with Snap!"]]. *[[http://www.poppy-project.org/|Poppy Project - Open source robotic platform]]. *[[http://docs.poppy-project.org/en/|Poppy project documentation]]. *[[http://docs.poppy-project.org/en/programming/snap.html|Poppy Project - Open source robotic platform "Programming Poppy robots using Snap!"]]. ==== Videos ==== *[[http://www.youtube.com/results?search_query=snap%21+programming|YouTube "snap! programming"]]. *[[http://www.youtube.com/results?search_query=snap%21+programmieren|YouTube "snap! programmieren"]]. ==== My own "Snap!" Project ==== *[[http://www.github.com/hemmerling/snap_kamification|GitHub "hemmerling/snap_kamification"]]. *[[http://snap.berkeley.edu/snapsource/snap.html#present:Username=hemmerling&ProjectName=kamification|University of California, Berkeley "Snap!Cloud" - Execute Application "kamification"]] *Online runtime version of the application. Run the application by loading the URL in your browser! *[[http://snap.berkeley.edu/snapsource/snap.html#edit:Username=hemmerling&ProjectName=kamification|University of California, Berkeley "Snap!Cloud" - Edit Application "kamification"]]. ==== Some other Tools and Frameworks ==== === Snap Extensions === == Snap4Arduino == *[[http://www.snap4arduino.rocks/|Snap4Arduino]]. *[[http://github.com/bromagosa/Snap4Arduino|GitHub "bromagosa/Snap4Arduino"]] - "Binding Snap! and Arduino together". *[[http://www.cs.uni-potsdam.de/~mprz/|Universität Potsdam, Institut für Informatik und Computational Science "My Interactive Garden"]]. *[[http://www.cs.uni-potsdam.de/~mprz/snap4arduino.html|Universität Potsdam, Institut für Informatik und Computational Science "My Interactive Garden / Snap4Arduino"]]. == Snap Apps == *[[http://www.snap-apps.org/|Snap Apps]]. *"programming = algorithm design + coding variables. conditionals. custom blocks. data types. parameters. iteration. recursion". *"Snap Apps are open source extensions to Snap! from UC Berkeley for teaching introductory computer science at high school and university". == Monash BlockBooks == *[[http://monash-blockbooks.appspot.com/|Monash University, Faculty of Information Technology "Monash BlockBooks"]], [[http://www.flipt.org/|Monash University, Faculty of Information Technology "Monash BlockBooks"]]. -"Generative Art with Scribble" ( PDF ). -"Simulation with Cellular" ( PDF ). -"Robotics with Enchanting and LEGO NXT" ( PDF ). === Tools === *[[http://www.github.com/snap-cloud|GitHub "Snap! Cloud "]] - "DEPRECATED -- A prototype Rails-based cloud service for Snap!" :-(. *[[http://www.github.com/c2stem/snap-cloud|GtHub "c2stem/snap-cloud"]] - "A standalone cloud server for Snap". ==== Tips & Tricks ==== *Saving of project in the browser by "File / Browser / Save as" is limited. *Error message "Save failed:NS_ERROR_DOM_QUOTA_REACHED: Persistent storage maximum size reached", with a project size of 5182 kBytes. *Saving a project in the cloud by "File / Browser / Save as / Cloud / Save" saves it as private project. *You may load and execute the project by "http://snap.berkeley.edu/snapsource/snap.html#present:Username=USERNAME&ProjectName=PROJECTNAME", e.g. [[http://snap.berkeley.edu/snapsource/snap.html#present:Username=hemmerling&ProjectName=kamification|http://snap.berkeley.edu/snapsource/snap.html#present:Username=hemmerling&ProjectName=kamification]]. *You may load and edit the project by "http://snap.berkeley.edu/snapsource/snap.html#edit:Username=USERNAME&ProjectName=PROJECTNAME", e.g. [[http://snap.berkeley.edu/snapsource/snap.html#edit:Username=hemmerling&ProjectName=kamification|http://snap.berkeley.edu/snapsource/snap.html#edit:Username=hemmerling&ProjectName=kamification]]. *If somebody else than the original private uploader tries to load the project - even if she/he knows the URL -, there is the error message "Could not fetch project //karnification.// This project is not public". *To transform the private project into a public project, please execute "File / Save as / Cloud / Share". *At any time, you may turn the project in a private project again, by executing. *"File / Save as / Cloud / UnShare". *"File / Open / Cloud / UnShare". *If you look for the "FOR" loop, ect: *[[http://scratch.mit.edu/discuss/topic/4455/?page=190|Scratch Forum, "Snap!" Thread, #3793 of 2018-04-05]] - "In the Snap! menu bar, in the file menu, choose "Import tools" and that will get you FOR and a bunch of other things used in the manual. Since these are written in Snap! itself, you can edit them to learn how they're written". *If you want to build HTML-alike pages, where you may move from one page to another, by selecting a menu item, i.e. by a mouseclick: *[[http://scratch.mit.edu/discuss/topic/297252/|Scratch Forum, Thread "How to build menus and multi-page applications ( similar to HTML pages ) ?"]]. *Answer #1: *The easiest way to do this will be to have sprites for the links so when a sprite is clicked you can make an appropriate broadcast. Assuming the pages are static rather than dynamic (an individual page doesn't change) you can have these as backdrops which you switch to. Using a variable for the name of the page you want to switch to will be better than a broadcast for every page - eg *whenIreceivechange-bd *switchbackdroptonext-bd #this uses the variable *I'd include the ‘links’ in the backdrops but then place a rectangular sprite in front of each link with a ghost effect so you can still see the link but can click on it. So for each page you then need to know where to place the links so probably store that information in lists. *There are various little problems to be solved along the way but that should get you started. Remember a sprite-clicked script can react differently according to the current backdrop. *Answer #2: *You could use sprites with like arrow costumes, or when X (let's say left) arrow pressed then broadcast "score page" or like when settings button clicked broadcast "config". *And equip every sprites except the sprites that appears in the menu with this: *whenIreceivescore page or config. *repeat25 *changeghosteffectby4 *hide *cleargraphiceffects *equip the sprites that appears in the menu like this: *whenIreceivescore page or config. *wait0.5secs *setghosteffectto100 *show *repeat25 *changeghosteffectby-4 *…and the backdrop with this *whenclicked *switchcostumetohome *whenIreceivescore page or config. *repeat25 *changeghosteffectby4 *switchcostumetoscore page or config *repeat25 *changeghosteffectby-4 *Note: Ghost effects are just a fade effect so that it isn't a brutal ugly switch. You can just easily remove all of them.. *[[http://scratch.mit.edu/discuss/topic/4455/?page=190|Scratch Forum, "Snap!" Thread, ##3795 of 2018-04-05]]. *In Scratch (and Snap) there is no prebuilt concept of multipaging. You must esplicitely make the content of the next page visible and hide the content of the previous page by one of the following strategies: *hide all the elements of the previous page (HIDE block) and show all elements of the next page (SHOW block) when they receive a message from the clicked button of the previous page (BROADCAST/WHEN I RECEIVE blocks) *move the background of the next page (a sprite) to the foreground (GO TO FRONT block, so that it will cover all the elements of the previous page) and THEN move all the elements of the next page (sprites) to the foreground (again GO TO FRONT block, so that they will show up on top of the page) when they receive a message from the clicked button of the previous page (BROADCAST/WHEN I RECEIVE blocks) *If you like multipage applications I would suggest using App Inventor, that is based on blocks like Scratch/Snap but has a "screen" component. ==== Other popular vintage Uses of the Name "Snap!" ==== *[[http://en.wikipedia.org/wiki/Snap!|EN.Wikipedia "Snap!"]], [[http://de.wikipedia.org/wiki/Snap!|DE.Wikipedia "Snap!"]]. *[[http://www.youtube.com/watch?v=UxAwkZsf8Gg|YouTube "SNAP! - The Power (HD 16:9)"]]. ==== Resources ==== *I listened to the speech "Snap! Eigene Blöcke bauen!" ( "Snap! Build your own blocks!" ) by [[http://www.linkedin.com/in/jens-m%C3%B6nig-b8a00925/|Jens Mönig]] at the regional meeting of [[http://www.jug-ostfalen.de/|Java User Group Ostfalen]] in Braunschweig, Germany, ^2017-12-07. *[[http://www.instructables.com/id/The-SnapMobile-Start-Your-Physical-Computing-Engin/|instructables "The Snap!Mobile - Start Your Physical Computing Engines!"]]. *"The Snap!Mobile - Start Your Physical Computing Engines!: 11 Steps". *"What do you get when you combine Snap!, the premier drag and drop programming language, with an off the shelf rover vehicle kit, an Arduino micro-controller and s2a_fm interface software?". *Wiki [[http://www.scratch-dach.info/|Deutschsprachiger DACH-Scratch-Wiki]]. *[[http://www.scratch-dach.info/wiki/Snap!|Deutschsprachiger DACH-Scratch-Wiki "Snap!"]]. *Wiki [[http://en.scratch-wiki.info/wiki/|Scratch Wiki]] ( formerly at [[http://wiki.scratch.mit.edu/wiki/|Scratch Wiki]] ). *[[http://en.scratch-wiki.info/wiki/Snap!_(Programming_Language)|Scratch Wiki "Snap! (Programming Language)"]]. *"Snap!" is designed by the [[http://en.wikipedia.org/wiki/First-class_citizen|EN.Wikipedia "First-class citizen"]], [[http://de.wikipedia.org/wiki/First-Class-Objekt|DE.Wikipedia "First-Class-Objekt"]] principle. *[[http://en.wikipedia.org/wiki/Snap!_(programming_language)|EN.Wikipedia "Snap! (programming language)"]], [[http://de.wikipedia.org/wiki/Snap!_(BYOB)|DE.Wikipedia "Snap! (BYOB)"]]. {{tag>"rapid software coding" "building blocks" blocks}} ===== StarLogo TNG, StarLogo Nova ===== *[[http://web.mit.edu/mitstep/projects.html|Massachusetts Institute of Technology "MIT Scheller Teacher Education Program"]] ( MIT STEP ). *[[http://web.mit.edu/mitstep/projects.html|Massachusetts Institute of Technology "MIT Scheller Teacher Education Program" - "Projects"]]. *[[http://education.mit.edu/portfolio_page/starlogo-tng/|Massachusetts Institute of Technology, MIT Scheller Teacher Education Program "StarLogo TNG"]]. *"StarLogo TNG is a downloadable programming environment that lets students and teachers create 3D games and simulations for understanding complex systems". *Downloads for Windows, Linux, MacOSX. *[[http://www.slnova.org/|StarLogo Nova]] - "StarLogo Nova is the new online iteration of StarLogo, following in StarLogo TNG's footsteps. StarLogo Nova builds upon TNG's innovations, with several language refinements and new features". *[[http://www.slnova.org/|StarLogo Nova 2.0]], implemented in HTML5/Javascript. *Legacy [[http://flash.slnova.org/|StarLogo Nova 1.0]], implemented in AdobeFlash :-(. ===== Resources ===== *Predecessors of Scratch, Snap!,.. as children's programming languages: *[[http://en.wikipedia.org/wiki/Logo_(programming_language)|EN.Wikipedia "Logo (programming language)"]], [[http://de.wikipedia.org/wiki/Logo_(Programmiersprache)|DE.Wikipedia "Logo (Programmiersprache)"]]. *[[http://en.wikipedia.org/wiki/Dynabook|EN.Wikipedia "Dynabook"]], [[http://de.wikipedia.org/wiki/Dynabook|DE.Wikipedia "Dynabook"]]. *Smalltalk. *See [[smalltalk.html|Smalltalk]]. ===== Forums, Newsgroups ===== *[[http://forum.calliope.cc/|Calliope Forum]]. *[[http://www.facebook.com/groups/minimalistcomputing/|Facebook "Minimalist Computing"]]. *[[http://scratch.mit.edu/discuss/|MIT "Scratch Forum"]]. *[[http://scratch.mit.edu/discuss/topic/4455/|MIT "Scratch Forum", Thread "Snap! user discussion"]] #. *[[http://scratch.mit.edu/discuss/topic/9145/|MIT "Scratch Forum", Thread "multiple sprites"]]. *"Sprites all have separate scripts. You can duplicate sprites which will copy all the costumes and scripts from one sprite to another. You can also clone sprites in version 2 where you have an extra event 'when I start as a clone'". *"And don't forget that you can let one sprite send a message (make sure it's a message that is for all sprites) that the other sprites can react to". *[[http://community.netsblox.org/|NetsBlox Community]]. {{tag>"rapid software prototyping" "rapid application prototyping" "rapid gui prototyping" "rapid prototyping" rapid prototyping software application gui }}