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.
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.
Little Man Computer (LMC), (1965) is an instructional model of a simple von Neumann architecture computer. It includes the basic features of modern computers and can be programmed using machine code (usually in decimal) or assembly. The model simulates a computer environment using a visual metaphor of a person (the "Little Man") in a room with 100 mailboxes (memory), a calculator (the accumulator) and a program counter. LMC is used to help students understand basic processor functions and memory management. CARDIAC (1968) is very similar to LMC, but introduces some refinements such as negative numbers, a four-digit accumulator, storing the return address for subroutines in location 99, and an accumulator shift instruction. It was distributed by Bell Labs to high school students as a cardboard kit. Input and output are done via virtual punch card decks (represented by paper strips), which is also how programs are loaded into CARDIAC initially, unlike LMC. MIX (1968) and MMIX (1999) are computer models featured in Donald Knuth's (Art of Computer Programming). The MIX computer is designed for educational purposes, illustrating how a basic machine language operates. Despite its simplicity, it can handle complex tasks typical of high-performance computers. MIX allows programming in both binary and decimal, with software emulators available for both models. MMIX, which superseded MIX, is a 64-bit RISC instruction set architecture, modernized for teaching contemporary computer architecture. Instructo paper computer (1979) was published by McGraw Hill Education and was intended to teach computer concepts to middle school students. Compared to LMC or CARDIAC, this paper computer is a bit more playful, featuring start/stop/reset "buttons" and jump switches. However, its instruction set is quite advanced, with instructions for printing strings, multiplication and division, printing fractions, and even calculating roots and powers. Like the CARDIAC, it uses an elaborate layout with multiple paper strips inserted in various places on the page. An open manila folder was typically used when students had to build the paper computer themselves from scratch. WDR paper computer (1983) is a very minimalist paper computer with only five CPU instructions that was introduced on a German TV show for computer education. Only a pen (for the program counter) and matchsticks or coins (for the register contents) are needed for its operation. Its very limited instruction set means that programs are typically quite a bit longer than e.g. on the LMC or CARDIAC. DLX (1994) is a reduced instruction set computer (RISC) processor architecture created by key developers of the MIPS and Berkeley RISC designs. DLX is a simplified version of MIPS, offering a 32-bit load/store architecture commonly used in college-level computer architecture courses. Next Byte Codes (NBC), (2007) is a simple assembly language used for programming Lego Mindstorms NXT programmable bricks. The NBC compiler produces NXT-compatible machine code and is supported on Windows, macOS and Linux. Little Computer 3 (LC-3), (2019) is an assembly language with a simplified instruction set, enabling the writing of moderately complex assembly programs. It includes many features found in more advanced languages, making it useful for teaching basic programming and computer architecture. It is primarily used in introductory computer science and engineering courses. Chombit (2020) is a 32-bit CPU architecture implemented by the Hybrix virtual machine. Project documentation describes the architecture as educationally oriented, incorporating features such as framed registers and a secondary stack used to track garbage-collection roots. Despite these simplifications, it remains a conventional processor model, including explicit instruction timing and memory-mapped I/O.
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:
Be easy for beginners to use. Be interactive. Provide clear and friendly error messages. Respond quickly. Not require an understanding of computer hardware or operating systems. 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.
… excerpt ends here. Continue reading the full article.



