It's Computer Science Education Week! We’ll post a series of mini-Q&As with MIT Press authors throughout the week to celebrate. Paul Ceruzzi, author of Computing: A Concise History and A History of Modern Computing, along with several other books, kicks us off.
What sparked your interest in the history of computing?
In the fall of 1977, I had a Fulbright scholarship to Germany, and while there I had the good fortune to meet and interview Konrad Zuse (1910-1995), one of the pioneers of digital computing. That led to a doctoral dissertation, in which I compared Zuse’s work to contemporaneous work done in the United States at Bell Labs, by Howard Aiken and at the University of Pennsylvania. My initial contact with Zuse grew into a warm friendship, which has stamped my interest in the history of computing ever since.
How has the computer science field shifted since Beyond The Limits (1989) came out?
At the time Beyond the Limits was published, computing was still hardware-centric: IBM mainframes, DEC or Wang minicomputers, Sun workstations, and personal computers from a variety of vendors including Apple and IBM. Since that time the microprocessor has rendered most of computer architecture into a “black box,” and software has come to dominate. The other major shift of course was the Internet, which transformed the computer from a device that “computes”-– i.e. does mathematics-- to a device that communicates. This was foreseen by J.C.R. Licklider in the 1960s and 1970s, but that transformation did not happen until just after that book appeared. It took a while for all the pieces to fall into place, including the political issue of moving the Internet into the public realm.
What kinds of changes do you think we need to make in computer science education?
The local public high schools where I live are excellent, but they do not treat computer science well. They teach students how to use Microsoft Excel or Word, but those same students go home after school and play video games that are running on the same microprocessor-based systems that PCs use. Why not let students write simple, graphics-intensive games or other applications? Why not let them “play” with Arduino controllers or the “Raspberry Pi” microcomputer on a board? Why not teach them Python, as an older generation learned BASIC?