Content deleted Content added
mNo edit summary |
Improved readability |
||
Line 9:
== Types of Educational Programming Languages ==
===Assembly languages===
Initially, [[machine code]] was the sole method of programming [[Computer|computers]]. [[Assembly language]] followed as an early advancement, making it one of the oldest families of programming languages
Assembly languages are designed for specific processor architectures and must be written with the corresponding hardware in mind. Unlike [[High-level programming language|higher-level]] languages, educational assembly languages require a representation of a [[Processor (computing)|Processor]] which can be virtual or physical. These languages are often used in educational settings to demonstrate the fundamental operations of a computer processor.[[File:Little Man Computer Simulator LMC.png|alt=This image describes the program Little Man Computer (LMC)'s interface|thumb|An image of Little Man Computer (LMC)'s interface]]
Line 100:
* ''[[Mama (software)|Mama]]'' is an educational [[object-oriented programming|object oriented]] language designed to help young students start programming by providing all the language elements in the student's language. Mama language is available in several languages, with both LTR and RTL language direction support. A [http://www.eytam.com/mama new variant of Mama] was built atop [[Carnegie Mellon]]'s ''[[Alice (software)|Alice]]'' development environment, supporting scripting of the 3D stage objects. This variant was designed to help young students start programming by building 3D animations and games. A document on educational programming principles explains Mama's design considerations.<ref>[http://en.eytam.com/mama/educational_programming_language Mama educational programming principles]</ref>
* ''[[RoboMind]]'' is a simple educational programming environment that allows beginners to program a robot. It introduces popular programming techniques along with robotics and artificial intelligence. The robot can be programmed in Arabic, Chinese, Dutch, German, English and Swedish.
* [[File:Scratch 3.0 editor.png|alt=this image shows The Scratch 3.0 editor|thumb|The Scratch 3.0 editor]]''[[Scratch (programming language)|Scratch]]'' is a visual language with the goal of teaching programming concepts to children
* [[ScratchJr]] is derivative of the Scratch graphical language. It is designed for children with ages around 5-7.
* ''[[Snap! (programming language)|Snap!]]'' is a free [[Open-source software|open-source]] blocks-based graphical language implemented in [[JavaScript]] and originally derived from [[MIT]]'s [[Scratch (programming language)|Scratch]]. Snap! adds the ability to create new blocks and has [[first-class functions]] that enables the use of [[anonymous functions]]. It is actively maintained by [[UC Berkeley]]. The [https://github.com/jmoenig/Snap--Build-Your-Own-Blocks source] is entirely hosted on [[GitHub]].
|