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

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. doi:10.1016/0743-1066(94)90034-5. hdl: 11858/00-001M-0000-0014-ADB0-F .
  26. "About". Flowgorithm. Retrieved August 26, 2014.
  27. Programming Paradigms poster
  28. "Mozart Programming System". mozart2.org. Retrieved October 25, 2024.