Education-oriented programming languages

from Wikipedia, the free encyclopedia
A teenager working with the children's visual programming language Scratch on an electronic board.

Education- oriented programming languages are designed as learning tools for novice programmers. They specifically include the programming languages ​​with which children of preschool and school age can familiarize themselves with the functionality and principles of software development in a playful way, but also programming languages ​​for advanced students and for adult education that take more complex aspects into account. In addition to its use in educational institutions , the dissemination is promoted by many free organizations that are part of collective movements such as the German initiative Everyone can program. Start coding! , Roberta - Learning with Robots or the American Code.org .

Features and history of development

Education- oriented programming languages are regularly firmly embedded in a complete integrated development environment (IDE), which enables the user to create program code menu-driven so that programming errors cannot theoretically be made. In some IDEs, the written language is completely replaced by icons so that they can already be used by children who are not yet literate (e.g. Baltie , Kodu , Scratch ). Others use the programming by demonstration ( Stagecast Creator ) principle to save users from entering code . Some of the mini-languages dealt with in this article were also created as propaedeutics for "adult" programming languages ​​such as Pascal or Python (e.g. Karol the Robot , Guido van Robot ).

Education-oriented programming languages ​​are also used in adult education (see e.g. Snap! ). In several cases, programming languages ​​for professional use also emerged from "beginner programming languages" originally conceived as education-oriented (see e.g. BASIC and Pascal ).

Most of the educational programming languages ​​in existence today were developed in research laboratories in the United States . In the teaching of American middle and high schools as well as in extracurricular educational programs such as For example, in the First Lego League , such languages ​​are already used extensively. In the meantime, programming languages ​​for children have also been developed in India ( CiMPLE ) and Europe ( Guido van Robot , RoboMind , Baltie , E-Slate ). In German language versions there may be a. AgentCubes , Karel the Robot , RoboMind , Scratch, BYOB and Baltin .

Programming languages ​​designed for children

Turtle graphics: Logo, KTurtle, LibreLogo and Python Turtle

The oldest child-friendly programming language is the Logo programming language, developed by Seymour Papert in 1967 on the basis of Lisp , which was extremely easy to learn despite its high performance, but could not prevail over other "beginner programming languages " such as BASIC and today often only because of the turtle -Graphic is known, a plotter function developed from 1969 onwards , in which a virtual turtle crawls across the screen and draws a colored line behind it. Papert was a pioneer of educational constructivism , which assumes that the learner does not absorb his knowledge, but has to build it himself; Papert hoped that instruments such as the logo would not only help children learn arithmetic and programming, but would also grow up to be competent actors in a world that is increasingly shaped by technology. Logo is still used as a learning programming language for children in the US to this day.

As " KTurtle ", the Turtle graphic is also part of a software package developed by the KDE Education Project and published in 2008.

The programming language is integrated into Libreoffice as LibreLogo and can be accessed via a toolbar.

Another version is the mini-language PythonTurtle, designed by Ram Rachum as a preparatory course for the Python programming language and released in 2009 . With the module turtle, Python itself has its own library for turtle graphics.

Online versions can occasionally be found on the Internet.

Guido van Robot, screenshot.

Virtual robots

Karel the Robot / Niki - the robot

The mini-language Karel , developed by Richard E. Pattis at Stanford University and published in 1981 , which is now also available in a German language version ( Niki - the robot ), prepares students for learning the "adult" programming language Pascal . Children of preschool and early elementary school age can use it to steer a virtual robot through a network of streets and cross streets laid out at right angles.

Guido van Robot

Guido van Robot , a mini-language named after Guido van Rossum and released in 2009, which prepares the learning of the "adult" programming language Python, has also been designed for very young children . The game idea is the same as with Niki - the robot .

RoboMind

Another mini-language that preschool and early elementary school children can use to program a virtual robot is the RoboMind program, which is also available in a German language version .

Kara

The ladybug Kara is intended to provide an introduction to the basic ideas of programming: Kara has to solve various tasks in a simple graphical environment, e.g. B. Collect shamrocks.

In addition to the version with a graphic program editor, there are also versions that can form the transition to real programming languages, such as B. Ruby Kara, Python Kara, and Java Kara. All versions are freeware and run on most Java-enabled platforms. Additional supporting material can also be found on the project's official website.

Hamster model

Similar to Kara, the hamster model is about controlling a hamster through a virtual environment and collecting grains. Programs can be developed in various textual programming languages ​​such as Java (imperative, object-oriented, parallel), Ruby, Python, Scheme and Prolog, as well as visual programming languages ​​such as finite automata , program flow charts , Nassi-Shneiderman diagrams / structograms and scratch.

Open Roberta Sim

Open Roberta Sim a 2D simulation environment

In the online simulation environment Open Roberta Sim (see also Open Roberta ), a two-wheel differential gear can be programmed in a two-dimensional robot model. In addition to the odometry, the 2D model is equipped with additional sensors :

  • Ultrasonic sensor
  • Color sensor
  • Touch sensor

Open Roberta Sim is programmed with the graphic programming language NEPO developed by Fraunhofer IAIS . In contrast to other virtual environments, Open Roberta Sim simulates the behavior (signal processing) of a real, physical robot, but dispenses with a so-called physics engine .

Programming without words

Stagecast Creator

A special feature of the graphic learning programming language Stagecast Creator is that it is based on the technique of programming by demonstration based on the concept of "Graphical Rewrite Rules" developed in the first version of AgentSheets. Instead of writing code, the user demonstrates the behavior that the computer should perform. With the Stagecast Creator, this is done by the user moving icons on the screen. In this way, simulations , animation sequences and games can be created even by preschool children . The system, which runs under Java and was developed in Apple's research laboratory , was first released in 1996 and was initially called Cocoa .

Baltie

Baltie 3, screenshot.

The first version of the object-oriented programming language Baltie was developed in 1996 by the Czech company SGP Systems. She was the further development of an already 1993 Language incurred called Balthazar and was based on C . A special feature of this learning programming language is that the code is not composed of text but of icons. The idea of ​​the game is that a virtual little magician performs various operations and u. a. Graphics "conjure up" on the screen.

Version 4 is now available in numerous language versions. It is based on C # , contains a compiler and debugger and is able to generate .exe files that can also be run outside the IDE. Advanced learners can program in Baltie 4 with text instead of icons.

International elimination competitions in different age categories (from 5 years) have been held with Baltie since 2003.

Kodu

The IDE from Kodu , a development by Microsoft Research released in 2009 , is also completely icon-based. Children can use it to develop games.

E-slate

The educational software E-Slate , which was developed by a Greek team in the 1990s, enables children without prior programming knowledge to put together prefabricated elements into a variety of micro-worlds using a logo- based mini-language. The freeware based on Java is available as a Greek and English language version.

Squeak

Squeak is an implementation of the object-oriented programming language Smalltalk, developed by Apple and the first version published in 1996 . The software supports u. a. Simulations and is used in the US by middle school children and youngsters who already have basic programming skills.

Etoys

Example of the auto simulation described

The object-oriented learning computer language Etoys , which was developed by Alan Kay at Disney Imagineering Research and was released in 1996 , is designed for children aged 9 to 12 with no programming experience . Users can use it to program 2 and 3-dimensional graphics, images, text, presentations, websites, videos, sound and music and present their work to the Etoy community on the Internet. The multilingual system is based on Squeak and has had a strong influence and a. on the development of Scratch .

Open Roberta

The online programming environment Open Roberta Lab

Open Roberta is a project initiated by Fraunhofer IAIS that enables entry into programming. Open Roberta is inspired by Scratch and is based on the open source library blockly . As part of Open Roberta, Fraunhofer IAIS has developed an online programming environment - Open Roberta Lab - and its own (meta) programming language called NEPO . Open Roberta uses the concept of the Roberta initiative - learning with robots , the core of which is the construction and programming of robots. Open Roberta is developed under the Apache 2 license as an open source project and can therefore be used completely free of charge. Thanks to the online-based programming environment, Open Roberta can be used with common browsers on all hardware and operating systems. Open Roberta is continuously being developed by an open-source community under the direction of Fraunhofer IAIS.

From version Beta 1.3.0 a two-dimensional robot model is available, which makes it possible to start programming even without a physical robot system. By using the identical programming paradigm and the program blocks, a smooth transition from the simulation to the real robot object is possible.

Scratch

Scratch development environment example

Scratch, published in 2007, is an interpreted , object-oriented , dynamic , event- oriented and, above all, visual programming language, including its development environment and the closely linked online community platform, developed under the direction of Mitchel Resnick at the MIT Media Lab . Scratch is intended to motivate newcomers - especially children and young people - to learn the basic programming concepts in a playful and explorative way. Under the motto “imagine, program, share”, you can create your own games and multimedia applications free of charge and without advertising, and play, discuss and exchange them in an international online community with the scratch player.

The intuitive operation and easy translatability, both of the development environment including its programming command modules and the Scratch website, combined with successful communication and media work by the MIT Scratch team, promoted the rapid global expansion of the Scratch idea: from the very beginning Between March 2007 and the end of 2015, over 8 million international users - with an age between 8 and 16 years of age - registered, who put over 11 million scratch projects they had developed themselves online.

The first implementations of the Scratch development environment were based on Squeak (1.0 in 2007 to 1.4 in 2009), the Scratch Web Player initially on Java , and since 2011 also optionally on Flash . Scratch 2.0 was released in May 2013 and is based entirely on Flash.

Since 2014 there has also been a Scratch version for the iPad with ScratchJr, which is designed for children of elementary school and kindergarten age, as well as with the JavaScript-based Snap! (BYOB) a variant that is successfully used for higher education and adult education.

Alice and Mama

Alice, screenshot.

With the object-oriented programming language Alice , developed at the University of Virginia and Carnegie Mellon University and published in 1999, middle school children can populate a virtual world with animated 3D objects and people (including characters from Alice in Wonderland ). The IDE, which is offered as freeware and which encourages telling stories rather than formalized technical gadgets, is intended to appeal to girls in particular.

The object-oriented learning programming language Mama was developed by Eytam Computer Science and released in 2010. The IDE of the commercial software is based on that of Alice and, like Alice , supports the development of animated 3D objects and people.

AgentSheets & AgentCubes

AgentCubes for creating 3D games and simulations.

AgentSheets is a high-performance, object-oriented language for programming simulations and video games, which has also established itself as a learning programming language for middle school students due to its very easy learnability. The language influenced by Lisp , Logo and Smalltalk was developed by Alexander Repenning and the first version was published in 1991. In addition to the English version, there are now several other language versions.

AgentCubes is a 3D programming environment. Thanks to the integrated "Inflatable Ions" tool, users can create any desired 3D objects themselves by first drawing 2D images and then converting them into 3D objects by inflating them.

AgentCubes online is the HTML5 / WebGL based online version of AgentCubes, which is the first programming environment to allow users to build and program 3D worlds in a web browser.

AgentSheets, AgentCubes and AgentCubes online are used as tools of the Scalable Game Design project. Scalable Game Design is the largest US computer science education study with over 10,000 middle-year students from the US. It is investigated whether pupils can learn so-called "computational thinking" concepts by creating games and later using them to build simulations.

Robotics and Embedded Systems

ROBOPRO

Fischertechnik's graphic programming language ROBOPRO was specially developed for the Robo Interface and offers options for variables, subroutines (methods) and simplified bit programming. The programming environment supports debugging, simulation, downloading to the interface, updates and testing.

Lego Mindstorms

A Lego Mindstorms NXT, here equipped with a touch sensor and gripping tool.

Lego Mindstorms is a product series from the toy manufacturer Lego , which includes electric motors, sensors and Lego technology components as well as a programmable unit ( RCS / NXT / EV3 ); with the system can u. a. Robots are designed and programmed. The scope of delivery includes the NXT-G programming language based on LabVIEW and equipped with a graphical user interface ; This software was developed by the American company National Instruments . For programming the NXT , however, there is now a whole range of other graphic and text-based programming languages ​​available, which allow more flexible programming than with NXT-G and sometimes even have a debugger (e.g. Robotc ).

Tuxminds

A graphic (symbolic) programming environment for various robot models ( Lego Mindstorms NXT , Lego RcX , ASURO and their descendants) for Linux . Within the limitations of the robot models used, the programs are portable d. H. a program originally created for an NXT robot can easily be executed on an "ASURO" type robot. Tuxminds can be expanded to include any robot model for which a C compiler for Linux must be available. Tuxminds is "open source" and is therefore available to everyone free of charge. Originally, Tuxminds was developed for use in schools.

CiMPLE

CiMPLE , a C- based visual programming language developed by ThinkLABS at the Indian Institute of Technology Bombay , which can be used to control the iPitara robot construction system , is also designed for children with an interest in robotics and embedded systems .

Phrogram

Phrogram is a commercial learning programming language that was developed by Phrogsoft , a Seattle -based company, and the first version was released in 2006. Phrogram supports graphics and sound and is used in the United States by middle school children and adults to develop games and other fun learning applications. The IDE is similar to Microsoft Visual Studio and Eclipse and prepares beginners who have little or no programming experience for professional development environments.

Learning programming languages ​​for advanced students and for adult education

KidsRuby and Hackety Hack

With the Ruby -based IDE Hackety Hack (freeware) developed by Steve Klabnik and published in 2010, teenagers can gain their first programming experience.

KidsRuby is influenced by Hackety Hack and also uses Ruby as a programming language. Most Hackety Hack programs also run in KidsRuby. Like Hackety Hack, KidsRuby contains a turtle graphic that can be used to draw colored pictures. At KidsRuby you can also include a library for developing 2D games.

GameKit

GameKit is a sophisticated object-oriented learning programming language with IDE (freeware) that was developed by Morgan McGuire at Brown University . Its syntax is similar to that of Java and the language can be used to develop a wide variety of applications; it is particularly suitable for developing games.

Snap! (BYOB)

BYOB terms as pictures

BYOB (English abbreviation: "Build Your Own Blocks" , German: "Build your own blocks" ) is an educational-oriented visual programming language inspired by Scratch , including its development environment for advanced students and for adult education. It expands the Scratch language developed by the Lifelong Kindergarten Group at the MIT Media Lab to include more complex and abstract programming concepts that were previously lacking in Scratch in favor of children’s suitability. BYOB is open source and is used in secondary I and II classes at German schools and at American and German universities.

Despite the playful appearance that it has retained from its scratch origins, comprehensive concepts are offered that go beyond the possibilities of many traditional programming-learning languages. These are options such as creating blocks, first-class functions or procedures (their mathematical bases are also known as the “ lambda calculus ”), first-class object lists (including lists of lists), and first class sprites . With prototype-based programming , BYOB enables object orientation without an abstract class concept: New objects are created as copies of existing objects (“cloning”).

The first BYOB precursors were published under the name Chirp as a modification of Scratch 1.2.1 from 2008. BYOB 4.0 is in the prerelease stage (as of January 2013) and will be renamed Snap! receive. BYOB and Snap! were developed by the German lawyer and software developer Jens Mönig together with Berkeley lecturer Brian Harvey, who contributed his ideas for language design and documentation.

ELAN

In 1976, the teaching programming language ELAN (Educational LANguage) was developed in Germany and taught in schools until the 1990s.

Early entry into professional programming languages

Approaches based on BASIC

The BASIC programming language was designed as an easy-to-learn programming language. With the exception of the Learn to Program BASIC learning software, they and their variants were not specially developed for children, but are used in lessons in American schools from the middle grades onwards. The learning path leads from simple variants such as Small Basic , Basic-256 or SiMPLE , which are also suitable for children , to professional variants such as Visual Basic or Gambas .

Pascal

Pascal was initially designed as a teaching language for structured programming . Until the late 1980s, Pascal was the most extensively taught beginner language at American and European universities. In the United States, Pascal classes were offered to middle school and high school aged children. In Germany, Pascal was taught at grammar schools in the 1980s.

Approaches based on Lisp

In 1975 the Lisp-based learning programming language Scheme appeared , which is also used for children of middle school and high school age due to its very simple syntax.

Approaches based on Python and Ruby

Due to their simple and easy-to-read syntax, the higher-level programming languages Python and Ruby are also suitable as learning languages. Both languages ​​are multi-paradigmatic and enable entry e.g. B. in both object-oriented and structured programming. Both languages ​​also offer a very good opportunity for trying out and testing with an interactive interpreter supplied. In the United States, Python and Ruby courses are offered to children from middle school age onwards.

Java-based approaches

Greenfoot and BlueJ , two Java programming language learning IDEs , are used by high school and college-level students in the United States. The NetBeans BlueJ Edition is recommended for the third level and the already professional Netbeans -IDE for the fourth level.

An equally elegant, simplified encapsulation for the programming language Java provides processing represents. Processing is especially suitable for designers, artists and novice programmers, but can also be used for teenagers because of the simple syntax. A simple cube (box) can be created with just a few lines:

size(500, 500, P3D);
lights();
fill(255, 2, 2);
translate(250, 250);
rotateY(2);     // in radians, d. h. Kreis von 0 bis 2 PI
rotateX(0.5);
box (130);

It is easy to make this cube rotate around the Y-axis as an animation. The "setup ()" procedure prepares the imaginary canvas once, the "draw ()" procedure deletes it and draws the cube. The procedure "draw ()" is automatically called again and again:

float Winkel = 0;  // in radians, d. h. Kreis von 0 bis 2 PI

void setup() {
  size(500, 500, P3D);
  background(111);
}

void draw() {
  background(111);
  lights();
  fill(255, 2, 2);
  translate(250, 250);
  rotateY(Winkel);     // um die Senkrechte rotieren
  rotateX(.5);         // um die Waagerechte rotieren
  box (130);
  Winkel = Winkel + 0.02;
}

Approaches based on C #

The AntMe programming game is ideal for getting started with the C # programming language ! , which is about programming an ant colony with an artificial intelligence. The orders are mostly in German.

Computer games with programming options

Occasionally there is a smooth transition between computer games and programming. ComputerCraft, for example, a mod of the open-world game Minecraft , allows the player to construct virtual computers and robots that can be programmed in the Lua scripting language . The Mod RedPower 2 offers components for 6502 -like virtual computers that can be programmed in the 6502 Assembly or Forth languages. Children who are familiar with the world of Minecraft learn programming here in a playful way.

Alternatives: programming games without a computer

An alternative approach are programming role-playing games , where z. B. Helpers take over the task of robots or computer components and execute a program (written by children) in paper form.

literature

Individual evidence

  1. Learning and Media Open Roberta - a Web Based Approach Visually Program Real Educational Robots
  2. Programming language Logo ( Memento of the original from August 11, 2010 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. ; Learning with Logo @1@ 2Template: Webachiv / IABot / www.well.com
  3. KDE Official Website
  4. Libre Logo Toolbar - LibreOffice Help. Retrieved December 7, 2017 .
  5. PythonTurtle Official Website
  6. Logo the Turtle
  7. ^ The Guido van Robot Programming Language
  8. RoboMind Official Website
  9. Kara - Programming with Finite Automata Official website
  10. Java Hamster Model Official Website
  11. Stagecast
  12. ^ SGP Systems website
  13. Workshop: SGP Baltie 4 C # (PDF; 70 kB)
  14. ↑ The homepage of the competition server "Baltie.net", accessed on December 9, 2017.
  15. ^ Kodu Microsoft Research
  16. E-Slate Official Website
  17. Etoy's official website
  18. About Scratch. ( Memento of the original from April 2, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. In: scratch.mit.edu , accessed January 17, 2013. @1@ 2Template: Webachiv / IABot / info.scratch.mit.edu
  19. Scratch: The Scratch phenomenon ( memento of the original from June 25, 2012 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. in the DACH-Scratch-Wiki, accessed January 17, 2013. @1@ 2Template: Webachiv / IABot / scratch-dach.info
  20. Translation ( Memento of the original from November 27, 2015 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. in the DACH-Scratch-Wiki @1@ 2Template: Webachiv / IABot / scratch-dach.info
  21. MIT-Scratch-Team ( Memento of the original from December 8th, 2015 in the Internet Archive ) Info: The archive link was inserted automatically and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. in the DACH-Scratch-Wiki, accessed January 17, 2013. @1@ 2Template: Webachiv / IABot / scratch-dach.info
  22. Scratch Statistics ( Memento of the original from May 27, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. the original website, accessed December 2, 2015. @1@ 2Template: Webachiv / IABot / stats.scratch.mit.edu
  23. Scratch 1.0 ( Memento of the original from February 5, 2015 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. in the DACH-Scratch-Wiki, accessed January 17, 2013. @1@ 2Template: Webachiv / IABot / scratch-dach.info
  24. Scratch 1.4 ( Memento of the original from December 3, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. in the DACH-Scratch-Wiki, accessed January 17, 2013. @1@ 2Template: Webachiv / IABot / scratch-dach.info
  25. Java Player  ( page no longer available , search in web archivesInfo: The link was automatically marked as defective. Please check the link according to the instructions and then remove this notice. in the Scratch Wiki, accessed January 17, 2013.@1@ 2Template: Toter Link / scratch.mit.edu  
  26. Flash Player  ( page can no longer be accessed , search in web archivesInfo: The link was automatically marked as defective. Please check the link according to the instructions and then remove this notice. in the Scratch Wiki, accessed January 17, 2013.@1@ 2Template: Toter Link / scratch.mit.edu  
  27. Scratch 2.0 ( Memento of the original from December 3, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. in the DACH-Scratch-Wiki, accessed January 17, 2013. @1@ 2Template: Webachiv / IABot / scratch-dach.info
  28. ScratchJr Official Website
  29. Alice Official Website; for further development of the program, see also Storytelling Alice
  30. Eytam Computer Science Official Website
  31. AgentSheets Official Website
  32. AgentCubes Official Website
  33. ^ Hour of Code website
  34. Scalable Game Design Official Website
  35. ^ NXT Programming Software ; The First Lego League participation guidelines prohibit the use of programming languages ​​other than NXT-G.
  36. CiMPLE Official Website; Visual Programming Application for children to program Robotic Toys ( Memento of the original from September 11, 2010 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (PDF; 1.6 MB) @1@ 2Template: Webachiv / IABot / www.designingforchildren.net
  37. Phrogram ( Memento of the original from August 20, 2010 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Official website @1@ 2Template: Webachiv / IABot / phrogram.com
  38. Hackety Hack Official Website
  39. KidsRuby Official Website
  40. GameKit Official Website
  41. Build Your Own Blocks (Scratch Modification) in the DACH Scratch Wiki, accessed on January 27, 2013. Eckart Modrow: OOP with BYOB . ( Memento of the original from July 17, 2018 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (PDF; 575 kB). In: LOG IN. Issue No. 171, 2011; accessed on January 27, 2013. Eckart Modrow: Visual programming - or: What do you learn from syntax errors? ( Memento of the original from October 14, 2013 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. (PDF; 83 kB) January 9, 2011; accessed on January 27, 2013. Eckart Modrow, Jens Mönig, Kerstin Strecker: Why JAVA? ( Memento of the original from July 17, 2018 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (PDF; 557 kB). In: LOG IN. Issue No. 168, 2011; accessed on January 27, 2013. Michael Heinelt: Game programming with Scratch and BYOB . ( Memento of the original from March 5, 2016 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (PDF; 3.2 MB) Seminar Didactics of Computer Science 3rd semester, winter semester 2011/12; Retrieved January 27, 2013. @1@ 2Template: Webachiv / IABot / scratch-dach.info @1@ 2Template: Webachiv / IABot / scratch-dach.info @1@ 2Template: Webachiv / IABot / scratch-dach.info @1@ 2Template: Webachiv / IABot / scratch-dach.info
  42. ^ Homepage of Chirp ( Memento from April 25, 2014 in the Internet Archive ), the predecessor of BYOB and Snap !, accessed January 28, 2013.
  43. Learn to Program BASIC, Jr. Edition ( Memento of the original from March 7, 2011 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.kidsdomain.com
  44. Microsoft Small Basic, Visual Basic, Visual C #, and Java Programming Tutorials for Middle School, High School and Homeschool Students ( Memento of the original from January 30, 2011 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / computerscienceforkids.com
  45. Bilingual Technology Education for Middle School Students in Chicago's Innercity (PDF; 24 kB)
  46. ^ Environments for Teaching Kids to Program ; Why Scheme for Introductory Programming? ( Memento of the original from October 4, 2010 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / home.adelphi.edu
  47. Computer Programming for Everybody (Python) ( Memento of the original from December 24, 2010 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. ; Minimum Age to Learn Python ( Memento of the original from May 29, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. ; Workshop to Teach Middle School-Age Girls (Ruby and Python) ; Fifth Grade Shoes (Ruby) @1@ 2Template: Webachiv / IABot / www.python.org @1@ 2Template: Webachiv / IABot / www.megasolutions.net
  48. NetBeans IDE BlueJ plugin
  49. ComputerCraft
  50. RedPower 2 Mod 1.4.7 for Minecraft 1.4.7 ( Memento of the original from February 1, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / minecraftgood.com
  51. Dr. Techniko : How To Train Your Robot: how I teach kids to program without computers. Offbeat Families, December 13, 2012, accessed April 13, 2013 (English, programming as an RPG).