The challenge on teaching high school students computer programming is that they are usually done in high level languages. This isolates the students on how computers actually work physically.
The Little Man Computer, or LMC , being modelled after a simple von Neumann architecture computer, allows students to associate basic programming with the physical CPU architecture, i.e. Machine / psuedo code on hardware register represented by LMC mailboxes. Learning programming via LMC will provide the complete picture on how computers actually work.
A handheld and battery operated learning device allows students to experiment with LMC anytime anywhere without restrictions.
A physical device instead of a mobile phone app provide the physical touch on computer learning. And students will be able to get the feel of a physical device.
Completed hardware plan including PCB layout will be provided as open source plans. Common parts and no SMDs is mandated in the design as one of the objectives is to allow ready and simple replication of the project by the average high school student. It is in fact a desire that high school soldering, robotic and computer computer clubs can adopt this as a kit for hardware and software learning.
The firmware of this project will be based on two of my published works hosted on github, with the TMS080x emulator project provide command interpretation framework and the NP25 calculator project to provide LED multiplexing and key scanning that form the user interface.
Source code and firmware for the LMC trainer will be released as open source GNU Version 2 license.
- LMC program entering, editing, deletion.
- Multiple program storage in non volatile memory.
- Support both numeric and mnemonic LMC code.
- Single step and continuous LMC program execution.
- Pocket size device for portability.
- Low power consumption.
- Open source hardware and software.