Students who are truly interested in computer science would enjoy learning about those programmers who went before them, and how they overcame their difficulties.
If you were to browse through a typical university catalog to see what introductory courses were offered by the computer science department, you would probably find something similar at most every school. Students begin by learning the basics of programming in a high-level language, along with a tour of discrete mathematics. Not a bad start, really, but I think that something is missing.
When I began my formal study of computer science, I came across a book called "The New Hacker's Dictionary," edited by Eric S. Raymond. I found that book to be quite delightful. I learned about Digital Equipment Corporation and their PDP-series computers; I learned about Richard Stallman and the GNU Project; I learned about the MIT Artificial Intelligence Lab and the Tech Model Railroad Club; I learned about Lisp and the lambda calculus.
Did all of this learning help me write a better calculator program in C? Did it help me untangle the mysterious concepts of inductive proofs? Well, maybe not. But it provided me with a historical and anecdotal foundation for my chosen field of study. It made computer science more enjoyable for me. And it made me somewhat unique, in that not every student spent time learning this material.
Absolutely, we need to learn about the state of the art in computing. We need to learn how to function in a constantly improving technological world. But some appreciation for the past would be good for us, too. I think that we will also find that some of the work that has been done in the past is still useful today; Lisp continues to be a very powerful programming environment and the GNU Project is still underway, with much software already written.
I would suggest that a computer science curriculum should, fairly early on, include teaching about the history of the field. It doesn't have to be a boring topic; in fact, it shouldn't be. I suspect that those students who are truly interested in computer science would enjoy learning about those programmers who went before them, and how they overcame their difficulties. They would enjoy learning about the great computer systems of the past and what made them so great, along with the bad computer systems and what made them so bad.
They would also enjoy getting to study computers and have it count for "humanities" credit. Now if we could only convince the registrar that Java is a foreign language . . . .
About the Author
Trevis Rothwell is a computer scientist, musician, and graduate of Cornell College.