Memorial University   THEODORE S. NORVELL MUN Engineering

The List

Johnny Cash is said to have given his daughter a list of 100 essential country music songs. As I am not much of a country music fan, here is a list of books well worth reading, at least for a computer scientist or computer engineer, or at least those who are something like me.

Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman: Compilers: Principles, Techniques, and Tools.

John Allen: Anatomy of Lisp.

Gregory R. Andrews: Foundations of Multithreaded, Parallel, and Distributed Programming.

George Boole: An Investigation of the Laws of Thought.

Lewis Carroll: Alice's Adventures in Wonderland and Through the Looking-Glass.

Lewis Carroll: The Hunting of the Snark.

Martin Davis: The Undecidable: Basic Papers on Undecidable Propositions, Unsolvable Problems and Computable Functions, Godel, Church, Turing, Rosser, Kleene, Post.

Martin Davis: Engines of Logic: Mathematicians and the Origin of the Computer.

Ole-Johan Dahl, Edsger W. Dijkstra, and C.A.R. Hoare; Structured Programming.

Edsger W. Dijkstra: A Discipline of Programming.

Edsger W Dijkstra: Selected Writings on Computing: A Personal Perspective.

W. H. J. Feijen and A. J. M. van Gasteren: On a Method of Multiprogramming.

Robert W. Floyd and Richard Beigel: The Language of Machines: An Introduction to Computability and Formal Languages.

David Gries: The Science of Programming.

Ralph E. Griswold: Macro implementation of Snobol 4: A Case Study of Machine-independent Software Development.

David Harel: Algorithmics: The Spirit of Computing.

Eric C.R. Hehner: Logic of Programming.

Eric C.R. Hehner: a Practical Theory of Programming.

John L. Hennessy and David A. Patterson: Computer Architecture: A Quantitative Approach.

C.A.R. Hoare and Cliff Jones: Essays in Computing Science.

Daniel Hoffman and David Weiss (eds): Software Fundamentals: Collected papers by David L. Parnas.

Douglas Hofstadter: Godel, Escher, Bach: An Eternal Golden Braid.

Douglas Hofstadter: Metamagical Themas.

Donald Mackenzie: Mechanizing Proof: Computing, Risk, and Trust.

Seymour Papert: Mindstorms.

Neil Postman: Technopoly: The Surrender of Culture to Technology.

Allen M. Stavely: Toward Zero-Defect Programming.

Neal Stephenson: Cryptonomicon.

James E. Thornton: Design of a Computer: the Control Data 6600.

Edward Tufte: The Visual Display of Quantitative Information.

Edward Tufte: Envisoning Information.

Edward Tufte: Beautiful Evidence.

Edward Tufte: The Cognitive Style of PowerPoint.

Niklaus Wirth: Algorithms + Data Structures = Programs.