List of educational programming languages

Last updated

An Educational Programming Language (EPL) is a programming language used primarily as a learning tool, and a starting point before transitioning to more complex programming languages.

Contents

Types of Educational Programming Languages

Assembly languages

Initially, machine code was the sole method of programming computers. Assembly language (ASM), introduced mnemonics to replace low-level instructions, making it one of the oldest programming languages still used today. Numerous dialects and implementations exist, each tailored to a specific computer processor architecture. Assembly languages are low-level and more challenging to use, as they are untyped and rigid. For educational purposes, simplified dialects of assembly languages have been developed to make coding more accessible to beginners.

Assembly languages are designed for specific processor architectures, and they must be written with the corresponding hardware in mind. Unlike higher-level languages, educational assembly languages require a representation of a processor which can be virtual or physical. These languages are often used in educational settings to demonstrate the fundamental operations of a computer processor.

An image of Little Man Computer (LMC)'s interface Little Man Computer Simulator LMC.png
An image of Little Man Computer (LMC)'s interface

BASIC variants

BASIC (Beginner's All-purpose Symbolic Instruction Code) was invented in 1964, to provide computer access to non-science students. It became popular on minicomputers during the 1960s and became a standard computing language for microcomputers during the late 1970s and early 1980s. The goals of BASIC were focused on the need to learn to program easily and they are to:

What made BASIC attractive for education was the small size of programs that could illustrate a concept in a dozen lines. BASIC continues to be frequently self-taught with tutorials and implementations.

See also: List of BASIC dialects by platform

BASIC offers a learning path from learning-oriented BASICs such as Microsoft Small Basic, BASIC-256 SIMPLE and to more full-featured BASICs like Visual Basic, NET and Gambas.

C-based

Java-based

Lisp-based

Logo-based

Scala-based

Smalltalk-based

As part of the One Laptop per Child project, a sequence of Smalltalk-based languages has been developed, each designed to act as an introduction to the next. The structure is Scratch to Etoys to Squeak to any Smalltalk. [6] Each provides graphical environments that may be used to teach not only programming concepts to kids but also physics and mathematics simulations, story-telling exercises, etc., through the use of constructive learning. Smalltalk and Squeak have fully featured application development languages that have been around and well-respected for decades; Scratch is a children's learning tool.

Pascal

Other

Children

University

See also

Related Research Articles

<span class="mw-page-title-main">Alan Kay</span> American computer scientist (born 1940)

Alan Curtis Kay is an American computer scientist best known for his pioneering work on object-oriented programming and windowing graphical user interface (GUI) design. At Xerox PARC he led the design and development of the first modern windowed computer desktop interface. There he also led the development of the influential object-oriented programming language Smalltalk, both personally designing most of the early versions of the language and coining the term "object-oriented." He has been elected a Fellow of the American Academy of Arts and Sciences, the National Academy of Engineering, and the Royal Society of Arts. He received the Turing award in 2003.

<span class="mw-page-title-main">Logo (programming language)</span> Computer programming language

Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning 'word' or 'thought'.

<span class="mw-page-title-main">Smalltalk</span> Object-oriented programming language released first in 1972

Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learning Research Group (LRG) scientists, including Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Diana Merry, and Scott Wallace.

<span class="mw-page-title-main">Squeak</span> Object-oriented programming language

Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imagineering, where it was intended for use in internal Disney projects. The group later was supported by HP Labs, SAP, and most recently, Y Combinator.

In computer graphics, turtle graphics are vector graphics using a relative cursor upon a Cartesian plane. Turtle graphics is a key feature of the Logo programming language.

<span class="mw-page-title-main">Lego Mindstorms</span> Hardware and software platform by Lego

Lego Mindstorms is a discontinued line of educational kits for building programmable robots based on Lego bricks. It was introduced on 1 September 1998 and discontinued on 31 December 2022.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of low-code development platforms.

<span class="mw-page-title-main">Constructionism (learning theory)</span> Learning theory involving the construction of mental models

Constructionist learning is the creation by learners of mental models to understand the world around them. Constructionism advocates student-centered, discovery learning where students use what they already know to acquire more knowledge. Students learn through participation in project-based learning where they make connections between different ideas and areas of knowledge facilitated by the teacher through coaching rather than using lectures or step-by-step guidance. Further, constructionism holds that learning can happen most effectively when people are active in making tangible objects in the real world. In this sense, constructionism is connected with experiential learning and builds on Jean Piaget's epistemological theory of constructivism.

Etoys is a child-friendly computer environment and object-oriented prototype-based programming language for use in education.

MicroWorlds is a family of computer programs developed by Logo Computer Systems Inc. (LCSI) that uses the Logo programming language and a turtle-shaped object to teach language, mathematics, programming, and robotics concepts in primary and secondary education. The program was part of a larger set of dialects and implementations created by Seymour Papert aimed at triggering the development of abstract ideas by children through experimentation.

<span class="mw-page-title-main">Lego Mindstorms NXT</span> Programmable robotics kit

Lego Mindstorms NXT is a programmable robotics kit released by Lego on August 2, 2006. It replaced the Robotics Invention System, the first-generation Lego Mindstorms kit. The base kit ships in two versions: the retail version and the education base set. It comes with the NXT-G programming software or the optional LabVIEW for Lego Mindstorms. A variety of unofficial languages exist, such as NXC, NBC, leJOS NXJ, and RobotC. A second-generation set, Lego Mindstorms NXT 2.0, was released on August 1, 2009, with a color sensor and other upgrades. The third-generation EV3 was released in September 2013.

<span class="mw-page-title-main">Scratch (programming language)</span> Programming language learning environment

Scratch is a high-level, block-based visual programming language and website aimed primarily at children as an educational tool, with a target audience of ages 8 to 16. Users on the site can create projects on the website using a block-like interface. Scratch was conceived and designed through collaborative National Science Foundation grants awarded to Mitchel Resnick and Yasmin Kafai. Scratch is developed by the MIT Media Lab and has been translated into 70+ languages, being used in most parts of the world. Scratch is taught and used in after-school centers, schools, and colleges, as well as other public knowledge institutions. As of 15 February 2023, community statistics on the language's official website show more than 123 million projects shared by over 103 million users, and more than 95 million monthly website visits. Overall, over 1 billion total projects have been created, with the site reaching its 1,000,000,000th project in April 2024.

RoboMind is a simple educational programming environment with its own scripting language that allows beginners to learn the basics of computer science by programming a simulated robot. In addition to introducing common programming techniques, it also aims at offering insights in robotics and artificial intelligence. RoboMind is available as stand-alone application for Windows, Linux, and Mac OS X. It was first released in 2005 and was originally developed by Arvid Halma, a student of the University of Amsterdam at the time. Since 2011, RoboMind has been published by Research Kitchen.

<i>Mindstorms</i> (book) 1980 book by Seymour Papert

Mindstorms: Children, Computers, and Powerful Ideas is a book by computer scientist Seymour Papert, in which he argues for the benefits of teaching computer literacy in primary and secondary education. It was published by Basic Books in 1980, and republished in a new edition by Basic Books in 1993.

Lego Education, formerly known as Lego Dacta, is a specialized Lego theme created for educational purposes in schools. This theme, introduced in 1999, includes a variety of sets that cater to different educational needs.[2] These sets often focus on Duplo and Technic themes and typically contain a larger quantity of blocks. By incorporating these sets into the classroom, educators can provide students with hands-on learning experiences that enhance their understanding of various subjects, from basic building concepts to advanced engineering principles.[1]

<span class="mw-page-title-main">Lego Mindstorms EV3</span> Programmable robotics kit

LEGO Mindstorms EV3 is the third generation robotics kit in LEGO's Mindstorms line. It is the successor to the second generation LEGO Mindstorms NXT kit. The "EV" designation refers to the "evolution" of the Mindstorms product line. "3" refers to the fact that it is the third generation of computer modules - first was the RCX and the second is the NXT. It was officially announced on January 4, 2013, and was released in stores on September 1, 2013. The education edition was released on August 1, 2013. There are many competitions using this set, including the FIRST LEGO League Challenge and the World Robot Olympiad, sponsored by LEGO.

Open Roberta is a project within the German education initiative "Roberta – Learning with robots", initiated by Fraunhofer IAIS, which is an institute belonging to the Fraunhofer Society. With Open Roberta Fraunhofer IAIS is looking to encourage children to code by using robots such as Lego Mindstorms, and other programmable hardware systems such as Arduino, BBC micro:bit, and the Calliope mini. The Cloud-approach of the Open Roberta Lab is intended to simplify programming concepts and make it easier for teachers and schools to teach how to code. Open Roberta is free and does not require any installation. The project was initially founded with €1m by Google.org. Users from up to 120 countries now access the platform.

Ted Kaehler is an American computer scientist known for his role in the development of several system methods. He is most noted for his contributions to the programming languages Smalltalk, Squeak, and Apple Computer's HyperCard system, and other technologies developed at Xerox PARC.

References

  1. Microsoft corporation 2009 Getting Started Guide for Small Basic, p. 64.
  2. Kenlon, Seth. "Learn the Lisp programming language in 2021 | Opensource.com". opensource.com. Retrieved October 14, 2024.
  3. "What is the Lisp (List Processing) Programming Language? – A Definition from TechTarget.com". WhatIs. Retrieved October 14, 2024.
  4. 1 2 Papert, Seymour (October 1980). Redefining Childhood: The Computer Presence as an Experiment in Developmental Psychology. Tokyo, Japan and Melbourne, Australia: 8th World Computer Congress: IFIP Congress.
  5. "About kogics Kojo" . Retrieved February 12, 2011.
  6. Cavallo, David (May 28, 2007). "Learning Squeak from Scratch". One Laptop Per Child News. Retrieved April 3, 2009.
  7. Ducasse, Stéphane (2005). Squeak: Learn Programming with Robots (Technology in Action). Apress. pp. 289 in ch 24: A tour or eTOY. ISBN   1-59059-491-6.
  8. Kay, Alan. "The Early History of Smalltalk". Archived from the original on April 29, 2011. Retrieved September 13, 2007.
  9. For further discussion of why this make it easy see Meta-circular evaluator
  10. Hemmendinger, David. "Pascal". Encyclopædia Britannica, 5 Apr. 2024, https://www.britannica.com/technology/Pascal-computer-language. Accessed 12 June 2024.
  11. "Pascal - Free Pascal wiki". wiki.freepascal.org. Retrieved October 11, 2024.
  12. "About – Alice" . Retrieved October 7, 2024.
  13. "Storytelling Alice – Alice" . Retrieved November 7, 2023.
  14. EducationWorld (September 21, 2012). "ThinkLABS RoboLAB". EducationWorld. Retrieved October 8, 2024.
  15. CiMPLE Original Developers Weblog Archived July 21, 2011, at the Wayback Machine
  16. "ThinkLABS -". September 20, 2012. Archived from the original on September 20, 2012. Retrieved October 9, 2024.
  17. "Physical EToys - General description of the project". Tecnodata.
  18. "Hackety Hack". GitHub. Retrieved October 9, 2024.
  19. HL ModTech (January 23, 2018). Logo Programming - Turtle Academy Lesson 1 . Retrieved October 9, 2024 via YouTube.
  20. Mama educational programming principles
  21. "Imagine, Program, Share". Scratch Statistics (in Latin). May 25, 2023. Retrieved November 17, 2024.
  22. "Group Overview ‹ Lifelong Kindergarten". MIT Media Lab. Retrieved October 8, 2024.
  23. M. Hanus. Teaching Functional and Logic Programming with a Single Computation Model. In Proc. Ninth International Symposium on Programming Languages, Implementations, Logics, and Programs (PLILP'97), pp. 335–350. Springer LNCS 1292, 1997.
  24. "Curry report, Introduction". Archived from the original on October 4, 2009.
  25. Hanus, M. (1994). "The Integration of Functions into Logic Programming: From Theory to Practice". Journal of Logic Programming. 19&20: 583–628.
  26. "About". Flowgorithm. Retrieved August 26, 2014.
  27. Programming Paradigms poster
  28. "Mozart Programming System". mozart2.org. Retrieved October 25, 2024.