The world's first stored-program computer (SPC) to operate a regular computing service was a machine known as the Electronic Delay Storage Automatic Calculator (EDSAC) at Cambridge University in England. Based on principles expounded by J. Presper Eckert Jr. and John W. Mauchly, who designed and built the ENIAC at the Moore School of Electrical Engineering at the University of Pennsylvania, the EDSAC was the first fully operational and productive SPC.

With its 3,500 valves (vacuum tubes), EDSAC filled dozens of shelves in two rows of metal racks reminiscent of library shelving. Reaching nearly to the ceiling of a dingy room on the top floor of the university's Mathematical Laboratory, the machine looked like an overgrown, highly elaborate version of an old-fashioned radio stripped of its cabinet.

Nearby were three cathode ray tube monitors. The circular faces of these oscilloscopes each displayed a square array of glowing spots to indicate the contents of the computer's memory, where the program's instructions were stored as rapidly circulating electrical pulses. To one side, on a table, rested the paper-tape reader and a teleprinter.

This machine could store a list of instructions, then perform the required calculation. A user could simply submit different sets of instructions. Unlike earlier machines, nothing about the computer itself had to be changed to perform different calculations. No one had to set switches or alter the wiring inside the device.

Programming the EDSAC involved writing out in detail the sequence of steps required to perform a calculation, using a set of instructions provided by the computer's designers. For example, the letter "A" combined with the number "45" meant adding the number stored in memory location 45 to the contents of a special location, or register, called the accumulator. "S" meant subtract, "I" stood for reading the next character from the paper tape and storing it in a specified location, and "O" instructed the computer to print the character. There were 18 such commands in all, each specified by a one-letter code.

A programmer would typically end up writing a sequence such as TLA8LE105SS8LS8L... and giving the listing to a clerk who operated a machine for punching holes in a strip of paper tape. Each instruction was represented by a pattern of holes and blanks, occupying five spaces across the tape's width.

The tape would go into the paper-tape reader, which would send electrical pulses corresponding to the tape's pattern to the computer. The computer itself would translate these strings of pulses into the appropriate sequences for storing the program and performing the required calculation.

The EDSAC made its debut on May 6, 1949, when a length of perforated paper tape was threaded through the tape reader connected to the machine, and a few seconds later, the computer's printer began clattering out a list of numbers: 1, 4, 9, 16, 25, 36.... The system worked just as it was supposed to, marking the first time that a full-scale computer had run a program successfully.

The next two programs also worked flawlessly, printing out another, more complicated table of squares and a table of prime numbers.

The description above was adapted from

At you can find a downloadable EDSAC simulator, providing a useful introduction to the Von Neumann architecture.