(CARDboard Illustrative Aid to Computation)

Many years ago (I think in 1968), I was given a marvelous little device called a CARDIAC. It was developed by Bell Labs to teach people how computers worked. They realized even then that computers were going to be part of our future. Back then, it was assumed that you needed to understand how programs worked in order to use computers. Since real computers were large, expensive, and scarce, CARDIAC was a poor-man’s way to introduce the concepts. I was in 5th grade at the time, and absolutely fell in love with the concept. I devoured the manual, began writing programs for the CARDIAC, and wore holes in the cardboard erasing and rewriting the programs. That CARDIAC disappeared somewhere along the way, and I mostly forgot about it until I was in college and had an engineering course that used a CARDIAC emulator written on an IBM 370. The instructor didn’t have the cool CARDAIC manual, and I suspect I may have been the only one in the room to have used an original CARDIAC. The simulator used punch cards and line printers. Although it worked, it was boring. Ever since that time I considered writing my own CARDIAC simulator, and finally got around to doing so.
This particular simulator is written in Perl with the graphics rendered via Tk. I wrote it under Windows XP, and it runs and looks wonderful there (see screenshot above). However, I was disappointed when I loaded it under Linux, as the fonts didn’t translate well. Everything still works, but it doesn’t look pretty. Someday maybe I’ll get around to fixing that. However, in the meantime I am making it available under a Creative Commons License for the world to enjoy.
| cardiac V1.0 Perl program | This is the only necessary file, but you might want to look at the others. |
| The CARDIAC manual | This is a scan of the 1970 revision of the Bell Labs manual |
| Bell Systems logo | Drop this file in the same directory as the Perl program to allow the logo to be displayed on your CARDIAC |
| A sample program | A simple program to reverse the digits of a number (from the manual) |
cardiac001.gif cardiac002.gif cardiac003.gif cardiac004.gif cardiac005.gif |
Scans of an original (slightly used) CARDIAC |
Installation instructions are under development.