For nearly 5,000 computer science students at MIT, taking 6.033--originally known as 6.233 when Jerry Saltzer, '61, SM'53, ScD'66, began teaching it in 1967--Computer Systems Engineering's informational handout materials meant lots and lots of notes. As the years went on, the popular class became more so and the handouts expanded--as mimeograph and eventually xeroxed notes for the growing numbers of 6.033 students.
EECS Prof. Frans Kaashoek began to teach 6.033 in 1994. By 1996 he and Saltzer agreed to synthesize a text--a project which required distilling thousands of pages of notes followed by proposals to six publishers. Their considerable efforts finally culminated in 2009 in a published text: Principles of Computer System Design: An Introduction.
The beauty of the book is its timeless treatment of universal principles underlying diverse computer systems. Kaashoek commented for the January/February 2010 Technology Review article "A Classic Text, 40 Years in the Making," that the section of class notes from the 1970s about information protection outlining 10 principles of computer security remained basically identical in the newly published text. "Think of how much has changed since those were written down. There were no PCs. No Internet. And yet they still apply!" Kaashoek said.
With six chapters, Principles also offers five additional chapters free online through MIT's OpenCourseWare. When the publisher suggested that more than 700 pages was not marketable, Saltzer related to Technology Review, "We had 1,200 pages of material. We puzzled over this and realized there's this natural division, where everyone needs the first six, and the next five are somewhat more pick-and-choose. The combination might help us reach a broader audience. It's a great experiment."
Principles of Computer System Design: an Introduction By Jerome H. Saltzer '61 and M. Frans Kaashoek, is published by Morgan Kaufmann/Elsevier in 2009 with a list price of $79.00.