George's “Required for Computer Science” List
A personal selection of required reading and viewing for students of Computer Science. Compiled by George Ferguson.
Last change: 21 May 2020
Required Reading
-
Hofstadter, Douglas (1980) Godel, Escher, Bach: An Eternal Golden Braid. New York: Basic Books.
UR Library -
Kidder, Tracy. (1981) The Soul of a New Machine. Boston: Little, Brown and Co.
UR Library -
Feynmann, Richard P. (1985) Surely You're Joking Mr. Feynmann. New York: W.W. Norton. Required reading for any scientist.
UR Library -
Rosenberg, Scott. (2008). Dreaming in Code: Two dozen programmers, three years, 4,732 bugs, and one quest for transcendent software. New York: Three Rivers Press.
UR Library -
Hodges, Andrew. (1983) Alan Turing: The Engima. New York: Simon and Schuster.
UR Library -
Hertzfeld, Andy. (2005) Revolution in The Valley: The Insanely Great Story of How the Mac Was Made. Sebastopol, CA: O'Reilly.
UR Library
Classics, but strictly speaking not required
-
Tufte, Edward. (1983) The Visual Display of Quantitative Information. Cheshire, CT: Graphics Press.
UR Library -
Levy, Steven. (1994) Hackers: Heroes of the Computer Revolution. New York: Dell Pub.
UR Library
CS Reference Books
- Aho, Hopcroft, and Ullman (1983). Data Structures and Algorithms. In Pascal, but still classic.
- Aho and Ullman (1994). Foundations of Computer Science (C Edition) (Pascal edition: 1992). “We believed in 1992 it was the way to introduce theory in Computer Science, and we believe that today.” [Web]
- Hopcroft and Ullman (1979). Introduction to Automata Theory, Languages, and Computation (third edition: 2006).
- Abelson and Sussman (1984). Structure and Interpretation of Computer Programs (second edition: 1996). [Web]
- Kernighan and Ritchie (1988). The C Programming Language (2nd Edition) (first edition: 1978).
- Kernighan and Pike (1984). The UNIX Programming Environment.
- Bach (1986). The Design of the UNIX Operating System.
- Aho, Sethi, and Ullman (1986). Compilers: Principles, Techniques, and Tools (second edition: 2006).
- Stevens (1994). TCP/IP Illustrated volume 1 (second edition: 2011).
- Steele (1990). Common Lisp: The Language, 2nd ed. Best language spec ever. [Web]
- Russell and Norvig (1995). Artificial Intelligence: A Modern Approach (third edition: 2009, fourth edition: 2020).
- Norvig (1992). Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp.
Required Viewing
- 2001: A Space Odyssey (1968)
- Blade Runner (1982)
- Tron (1982)
- Wargames (1983)
Great but strictly speaking not required
- Hackers: Wizards of the Electronic Age (1984)
- The Terminator (1984)
- Short Circuit (1986)
- Hackers (1995) and Takedown a.k.a. “Hackers 2” (2000)
- The Matrix (1999)
- I, Robot (2004)
Awaiting the judgment of posterity
- Her (2013)
- The Imitation Game (2014)
- Ex Machina (2015)
Non-Fiction
- Linking Minds: Bush, Licklider, Nelson (2010)
Part 1 YouTube Part 2 YouTube - Douglas Engelbart: The Mother of All Demos (1968)
YouTube - Alan Kay on Learning and Computer Science (Date Unknown)
YouTube - Alan Kay: Doing with Images Makes Symbols Pt 1 (1987)
Internet Archive - Alan Kay: Doing with Images Makes Symbols Pt 2 (1987)
Internet Archive - Web 2.0 ... The Machine is Us/ing Us (2007)
YouTube