WDR paper computer

The WDR paper computer or Know-how Computer is an educational model of a computer consisting only of a pen, a sheet of paper, and individual matches in the most simple case. This allows anyone interested to learn how to program without having an electronic computer at their disposal.

The paper computer was created in the early 1980s when computer access was not yet widespread in Germany, to allow people to familiarize themselves with basic computer operation and assembly-like programming languages. It was distributed in over $400,000$ copies and at its time belonged to the computers with the widest circulation.

The Know-how Computer was developed by Wolfgang Back and Ulrich Rohde and was first presented in the television program WDR Computerclub (broadcast by Westdeutscher Rundfunk) in 1983. It was also published in German computer magazines mc and PC Magazin.

The original printed version of the paper computer has up to 21 lines of code on the left and eight registers on the right, which are represented as boxes that contain as many matches as the value in the corresponding register. A pen is used to indicate the line of code which is about to be executed. The user steps through the program, adding and subtracting matches from the appropriate registers and following program flow until the stop instruction is encountered.

The instruction set of five commands is small but Turing complete and therefore enough to represent all mathematical functions:


 * inc *register*: Add 1 to the register.
 * dec *register*: Subtract 1 from the register.
 * jmp *line*: Jumps to the specified line.
 * isz *register*: Checks if the register is zero. If so, skips a line. If not, continues normally.
 * stp: Stops the program.

In the original newspaper article about this computer, it was written slightly differently (translation):


 * + = Add 1 to the contents of data register XX and increase (program step) by 1
 * - = Subtract 1 from the contents of data register XX and increase (program step) by 1
 * (J) = (Jump) to (line) XX
 * 0 = Check if the content of the data register XX is equal to 0. If so, then increase (program step) by 2; if no(t), then increase (program step) by 1
 * Stop = Stop

An emulator for Windows is available on Wolfgang Back's website, but a JavaScript emulator also exists. Emulators place fewer restrictions on line count or the number of registers, allowing longer and more complex programs.

The paper computer's method of operation is nominally based on a register machine by Elmar Cohors-Fresenborg, but follows more the approach of John Cedric Shepherdson and Howard E. Sturgis in their Shepherdson–Sturgis register machine model.

A derived version of the paper computer is used as a "Know-How Computer" in Namibian school education.