This program teaches you to receive Morse code. It starts with a few letters and adds more when it sees that you are ready. download
This is the easiest way to learn code because the computer thinks about the practice you need next instead of wasting your time with stuff you already know or confusing you with stuff that you don't.
An early version of the Morse Code Teaching Machine used the PC's built-in speaker for sound output and simple graphics for feedback.
The program was originally written in assembly language for the microprocessors used in the first personal computers. This required hand translation of every program instruction.
The first portable version was written in Pascal but has never been configured to run on an actual machine. The Pascal version was translated to C for the original IBM PC and still runs today on Windows under DOS compatibility. The currently recommeded version is the C version reconfigured to use Portable Libraries for input and output.
# Hear Well to Send Well
The fingers and the tongue connect to adjacent places in the motor cortex. Thats why people move their tongue when threading a needle. It's also why sign language and morse code work.
Watch this video to understand how fine motor movement of the fingers can squeeze out letters so long as the operator can hear the dots and dashes for perfect timing.
YOUTUBE ZdzjvIk_aY0 Bolshevik Stalin. Published on Nov 11, 2012. The speed is 185 ch/minute (40 wpm), but it's just a demo to show what is possible with the iambic technique.
The video shows a variety of squeeze paddles. These are just two precision push buttons arranged facing each other. A digital sequencer meters out the dots and dashes and a side-tone oscillator makes them audible.
The video's key frame shows Kent paddles, the kind I use. The ball-bearing axels give it a smooth and reliable feel and the massive base plate holds it still on the table.
# Notes
This machine does for code what Dragon Box does for algebra's symbolic manipulations. Not much, really, without minds at each end.