A collection of essays and anecdotes, originally appearing as articles for the ``Programming Pearls'' column of the Communications of the ACM, providing a bit of guidance on how to think like a computer scientist. Widely read, loved, and quoted.
Read this. Now. An exploration of recursion and formal systems and their manifestation in organic, atomic, mechanical, and computational systems. An attempt to explain how form and context give meaning to the symbols we use to communicate ideas, culminating in an illustration of Gödel's famous Incompleteness Theorem, which states that within any formal system, there are truths which may be expressed though they are not provable within the system.
The real point of the book, however, deals with exploring how consciousness can arise from discrete, unconscious components--such as how conscious thought can emerge from interactions between unconscious neurons. One field for which the consequences are of particular interest is Artificial Intelligence, which is expounded upon at great length near the end of the book.
Trust me, if you have any interest in graduate school, theoretical computer science, or discovering the beauty inherent within the core of computation and programming, READ THIS BOOK!!!
A cursory examination of a very wide range of topics which fall under the umbrella of ``computer science.'' Each chapter is brief, but deep, with references at the end of each. Topics include algorithms, computer engineering, encryption, viruses, graphics, artificial intelligence, and computational theory.
The Wizard Book, used to teach introductory Computer Science at MIT. Uses Scheme, a dialect of LISP, to introduce such high-level software engineering concepts as abstraction, modularity, objects, streams, parsing, evaluation--the list goes on. Definitely challenging, yet definitely worth absorbing every detail.
~clr/
Used as the text for CNU's CPSC 420 (Algorithms), a veritable encyclopedia of algorithms and algorithm analysis. Don't let the word ``Introduction'' in the title fool you.
Dense. Deep. The textbook for CPSC 470 (Theoretical Computer Science). Chock full of rigorous mathematical definitions, proofs, and derivations. Lots of information on formal grammars, Turing machines, and NP-Completeness. Small book, but not for the faint of heart.
An overview of the foundations, implementations, and applications of Artificial Intelligence technology. Closely related to Winston and Horn's LISP, Third Edition.
One of the standard texts in the field. Small, compact, and mathematically rigorous, and not terribly distinguishable from discrete mathematics and theoretical computer science combined.
Handbook? Encyclopedia is more like it. Contains a tremendous amount of information on various algorithms, data structures, and the problems they were designed to solve, across a broad range of scientific and engineering disciplines such as formal language theory, cryptography, Artificial Intelligence, parallel computation, and more.
~knuth/taocp.html
Volume I: Fundamental Algorithms, Third Edition
ISBN: 0-201-89683-4
Volume II: Seminumerical Algorithms, Third Edition
ISBN: 0-201-89684-2
Volume III: Sorting and Searching, Second Edition
ISBN: 0-201-89685-0
The Holy Grail of Computer Science. Knuth is, along with Thompson,18 K&R, and Turing, one of the most hallowed names in the field. This may take some time to work up to. A long time.