Essential Books of Computer Science

Great books for computer scientists!
101

by
4.06 avg rating — 3,806 ratings
Rate this book
Clear rating
102

by
4.23 avg rating — 1,704 ratings
Rate this book
Clear rating
103

by
4.07 avg rating — 3,441 ratings
Rate this book
Clear rating
104

by
4.04 avg rating — 10,582 ratings
Rate this book
Clear rating
105

by
3.25 avg rating — 4 ratings
Rate this book
Clear rating
105

by
3.87 avg rating — 15 ratings
Rate this book
Clear rating
105

by
4.67 avg rating — 6 ratings
Rate this book
Clear rating
105

by
4.06 avg rating — 814 ratings
Rate this book
Clear rating
105

by
4.49 avg rating — 389 ratings
Rate this book
Clear rating
105

by
4.19 avg rating — 16 ratings
Rate this book
Clear rating
105

by
4.30 avg rating — 785 ratings
Rate this book
Clear rating
105

by
4.74 avg rating — 235 ratings
Rate this book
Clear rating
105

by
4.10 avg rating — 260,337 ratings
Rate this book
Clear rating
105

by
4.51 avg rating — 8,034 ratings
Rate this book
Clear rating
105

by
3.87 avg rating — 15 ratings
Rate this book
Clear rating
116

by
really liked it 4.00 avg rating — 4 ratings
Rate this book
Clear rating
116

by
4.15 avg rating — 2,180 ratings
Rate this book
Clear rating
116

by
3.33 avg rating — 3 ratings
Rate this book
Clear rating
116

by
4.51 avg rating — 336 ratings
Rate this book
Clear rating
120

by
3.78 avg rating — 72 ratings
Rate this book
Clear rating
120

by
3.90 avg rating — 92 ratings
Rate this book
Clear rating
120

by
3.85 avg rating — 95 ratings
Rate this book
Clear rating
120

by
4.12 avg rating — 1,933 ratings
Rate this book
Clear rating
120

by
4.12 avg rating — 2,397 ratings
Rate this book
Clear rating
125

by
4.38 avg rating — 1,694 ratings
Rate this book
Clear rating
125

by
really liked it 4.00 avg rating — 6 ratings
Rate this book
Clear rating
125

by
4.62 avg rating — 1,737 ratings
Rate this book
Clear rating
125

by
4.12 avg rating — 1,120 ratings
Rate this book
Clear rating
125

by
3.79 avg rating — 129 ratings
Rate this book
Clear rating
130

by
4.14 avg rating — 4,646 ratings
Rate this book
Clear rating
130

by
4.19 avg rating — 261 ratings
Rate this book
Clear rating
130

by
4.14 avg rating — 3,188 ratings
Rate this book
Clear rating
133

by
4.12 avg rating — 3,865 ratings
Rate this book
Clear rating
133

by
4.02 avg rating — 270 ratings
Rate this book
Clear rating
133

by
4.16 avg rating — 45 ratings
Rate this book
Clear rating
133

by
4.26 avg rating — 2,083 ratings
Rate this book
Clear rating
133

by
3.98 avg rating — 875 ratings
Rate this book
Clear rating
138

by
4.24 avg rating — 1,422 ratings
Rate this book
Clear rating
138

by
3.94 avg rating — 18 ratings
Rate this book
Clear rating
140

by
3.96 avg rating — 142 ratings
Rate this book
Clear rating
141

by
3.43 avg rating — 49 ratings
Rate this book
Clear rating
142

by
4.25 avg rating — 2,290 ratings
Rate this book
Clear rating
143

by
3.87 avg rating — 416 ratings
Rate this book
Clear rating
144

by
3.90 avg rating — 501 ratings
Rate this book
Clear rating
145

by
3.94 avg rating — 643 ratings
Rate this book
Clear rating
146

by
4.14 avg rating — 879 ratings
Rate this book
Clear rating
147

by
3.93 avg rating — 2,479 ratings
Rate this book
Clear rating
148

by
3.58 avg rating — 377 ratings
Rate this book
Clear rating
149

by
3.61 avg rating — 1,005 ratings
Rate this book
Clear rating
150

by
3.34 avg rating — 333 ratings
Rate this book
Clear rating
151

by
3.27 avg rating — 1,210 ratings
Rate this book
Clear rating
152

by
3.82 avg rating — 445 ratings
Rate this book
Clear rating
153

by
3.73 avg rating — 2,247 ratings
Rate this book
Clear rating
154

by
3.64 avg rating — 630 ratings
Rate this book
Clear rating
155

by
3.60 avg rating — 214 ratings
Rate this book
Clear rating
156

by
4.25 avg rating — 3,660 ratings
Rate this book
Clear rating
157

by
3.96 avg rating — 1,171 ratings
Rate this book
Clear rating
158

by
3.86 avg rating — 418 ratings
Rate this book
Clear rating
159

by
4.02 avg rating — 1,189 ratings
Rate this book
Clear rating
160

by
4.03 avg rating — 1,268 ratings
Rate this book
Clear rating
161

by
3.95 avg rating — 5,946 ratings
Rate this book
Clear rating
162

by
4.13 avg rating — 1,214 ratings
Rate this book
Clear rating
163

by
3.62 avg rating — 2,173 ratings
Rate this book
Clear rating
164

by
3.86 avg rating — 1,824 ratings
Rate this book
Clear rating
165

by
4.31 avg rating — 1,135 ratings
Rate this book
Clear rating
166

by
4.01 avg rating — 2,086 ratings
Rate this book
Clear rating
167

by
3.98 avg rating — 1,012 ratings
Rate this book
Clear rating
168

by
3.98 avg rating — 725 ratings
Rate this book
Clear rating
169

by
4.11 avg rating — 3,509 ratings
Rate this book
Clear rating
170

by
3.97 avg rating — 940 ratings
Rate this book
Clear rating
171

by
4.09 avg rating — 11,702 ratings
Rate this book
Clear rating
172

by
4.20 avg rating — 623 ratings
Rate this book
Clear rating
173

by
4.40 avg rating — 16,362 ratings
Rate this book
Clear rating
174

by
4.10 avg rating — 963 ratings
Rate this book
Clear rating
175

by
3.71 avg rating — 531 ratings
Rate this book
Clear rating
176

by
3.95 avg rating — 3,544 ratings
Rate this book
Clear rating
177

by
3.97 avg rating — 789 ratings
Rate this book
Clear rating
178

by
really liked it 4.00 avg rating — 2,602 ratings
Rate this book
Clear rating
179

by
4.05 avg rating — 1,311 ratings
Rate this book
Clear rating
180

by
4.08 avg rating — 1,282 ratings
Rate this book
Clear rating
181

by
4.27 avg rating — 10,398 ratings
Rate this book
Clear rating
182

by
4.08 avg rating — 800 ratings
Rate this book
Clear rating
183

by
4.22 avg rating — 4,785 ratings
Rate this book
Clear rating
184

by
4.35 avg rating — 3,817 ratings
Rate this book
Clear rating
185

by
0.00 avg rating — 0 ratings
Rate this book
Clear rating
186

by
0.00 avg rating — 0 ratings
Rate this book
Clear rating
187

by
3.83 avg rating — 23 ratings
Rate this book
Clear rating
188

by
it was amazing 5.00 avg rating — 2 ratings
Rate this book
Clear rating
189

by
2.50 avg rating — 2 ratings
Rate this book
Clear rating
190

by
really liked it 4.00 avg rating — 1 rating
Rate this book
Clear rating
191

by
0.00 avg rating — 0 ratings
Rate this book
Clear rating
192

by
3.50 avg rating — 2 ratings
Rate this book
Clear rating
193

by
3.50 avg rating — 2 ratings
Rate this book
Clear rating
194

by
liked it 3.00 avg rating — 1 rating
Rate this book
Clear rating
195

by
4.50 avg rating — 6 ratings
Rate this book
Clear rating
196

by
0.00 avg rating — 0 ratings
Rate this book
Clear rating
197

by
it was amazing 5.00 avg rating — 1 rating
Rate this book
Clear rating
198

by
4.50 avg rating — 2 ratings
Rate this book
Clear rating
199

by
0.00 avg rating — 0 ratings
Rate this book
Clear rating
200

by
really liked it 4.00 avg rating — 1 rating
Rate this book
Clear rating
200 books · 306 voters · list created June 10th, 2009 by Darklight (votes) .
Tags: computer, science
673 likes · 
Lists are re-scored approximately every 5 minutes.


Darklight 65 books
2 friends
Michael 709 books
286 friends
Nick 2654 books
467 friends
Stephan 0 books
1 friend
Xiachenfeng 21 books
0 friends
Andreas 20 books
2 friends
Kristjan 3851 books
562 friends
sepans 158 books
55 friends

More voters…


Comments Showing 1-4 of 4 (4 new)

dateUp arrow    newest »

message 1: by Nick (new)

Nick Black Hrmmm there's a few reasons why this quiz made me unhappy:

(a) you need a basic theory book, but Sipser's not necessarily better than Hopcroft/Ullman, and certainly less complete regarding automata and languages. anyone hoping to be less more than a theory tyro needs at least Computers and Intractability, Approximation Algorithms, Randomized Algorithms and a satchel's worth of math books

(b) I have to list APIUE because I felt we needed an operating systems book, but also a practicum, and also something on design; a thorough study of APIUE provides all 3, and also one of the most useful reference books around. but it feels a bit applied for this list.

(c) since you're trying to minimize your votes (so as not to list overly many), there's an emphasis on broad coverage (ie this felt more like "5-7 computer science books to bring to a desert island surrounded by a faraday cage and anechoic wall") -- hence the mandatory inclusion of Knuth and Leon-Garcia (Knuth covers algorithms broadly enough by himself to free up a CLR-ish slot, and you have to know something about networks or you won't be able to piss in modern buildings, let alone write code)

but what about...language design and lambda calculus? the former's too diverse. regarding the latter, only one book could possibly deserve the nod (Barendregt's The Lambda Calculus), but i doubt 5 people worldwide read the fucker in a given Year of our LORD.

what about architecture? hell, the single most important things any systems programmer will need to know for the next twenty years are:

- power wall and thus multi/many-core
- memory subsystems aka Keep your Willy in your Pants and your Data in your Cache

hell, the first question i ask almost every interviewee is "here is a data structure. optimize it for cache, which will be parameterized to you thusly". if they don't get that, they're shown the door.

what about GUIs and databases? well, frankly, GUIs nauseate me and databases are for accountants, the DMV and the sex offenders' office, certainly not elite coders (writing databases is something else entirely). so fuck 'em.

computer graphics ought just be called "graphics math" to cut down on confusion. books about triangles are beyond the scope of this enumeration, unless it's computational geometry for integer programming problems and loop optimization in compilers. numerical computing's the same kinda deal, just harder.


message 2: by Nick (new)

Nick Black Nick wrote: "Hrmmm there's a few reasons why this quiz made me unhappy:

(a) you need a basic theory book, but Sipser's not necessarily better than Hopcroft/Ullman, and certainly less complete regarding automat..."


also: "Artificial Intelligence, a Modern Approach"? ummm, how about a 2 page handout on game trees, A* search and SVM's?



message 3: by Michael (new)

Michael Economy :D

databases are for accountants, the DMV and the sex offenders' office, certainly not elite coders GASP! relational databases are the backbone of nearly all dynamic websites! (it is true however that if you're using one, you definitely not doing any elite coding).


I feel like only 1 programmer in 100 can write efficient code these days. In the last 4 years, despite hardware getting faster, the same programs are running slower than they did and people are doing much less (computationally) than they used to with more powerful machines.


message 4: by Nick (last edited Jul 16, 2009 01:38PM) (new)

Nick Black GASP! relational databases are the backbone

A story: My junior year, I took the intro to databases class at GT (CS4400), because they canceled my fucking graduate automata theory class in developments that can ultimately be traced back to the introduction of GUIs and people no longer a new assembly language every few years (in a Cormac McCarthy-like future, this will all change, and we'll also get to eat people). In one of those passive-aggressive bits of responsible behavior that so pockmarked my undergraduate career, I didn't bother attending until the first test. This wasn't so irregular as it was SOP -- what for textbooks, after all, if not autodidactically-freed time to explore massive SGI machines from the underwear-beclad comfort of one's weedful dorm?

Problem was, I'd forgotten to purchase the book, and knew no one in my class...it was an unpleasant night indeed, studying random things about databases, SQL, etc via undirected google searches. I entered with trepidation.

30 questions, multiple-choice (wtf? only CS class I can remember with multiple-choice) on the relational algebra. I read it through, not really knowing any terms, thinking I'll probably just drop the class...but as it turned out, assuming logical coherency in the questions and answers, there was only one likely, consistent assignment of semantics. I quickly reverse-engineered the selections, the projections, the joins and the closures, marked down my answers, and triumphantly departed for a nice Chianti and some fava beans.

Saying this list needs a databases book is like saying it needs a book on predicate calculus, which is like saying it needs a book on real analysis, which is like saying it needs The Elements of Programming and that rather than CS degrees we all ought get math degrees (one ought, of course, get both). Taken the other direction, it's like saying we need a book on scrotumtightening perl and a lab practicum with Windows NT.

What were we talking about? Sorry, I rant in my old age.

of nearly all dynamic websites!

I must admit to never having worked on a "dynamic website"; if I were to build such a thing, I'd almost certainly do it as a C apache module, and initiate the project by rewriting apache =D. Just for fun, from an old classic:
Where does the typical Real Programmer work? What kind of programs are worthy of the efforts of so talented an individual? You can be sure that no Real Programmer would be caught dead writing accounts-receivable programs in COBOL, or sorting mailing lists for People magazine. A Real Programmer wants tasks of earth-shaking importance (literally!).

* Real Programmers work for Los Alamos National Laboratory, writing atomic bomb simulations to run on Cray I supercomputers.

* Real Programmers work for the National Security Agency, decoding Russian transmissions.

* It was largely due to the efforts of thousands of Real Programmers working for NASA that our boys got to the moon and back before the Russkies.

* The computers in the Space Shuttle were programmed by Real Programmers.

* Real Programmers are at work for Boeing designing the operation systems for cruise missiles.

Some of the most awesome Real Programmers of all work at the Jet Propulsion Laboratory in California. Many of them know the entire operating system of the Pioneer and Voyager spacecraft by heart. With a combination of large ground-based Fortran programs and small spacecraft-based assembly language programs, they are able to do incredible feats of navigation and improvisation-- hitting ten-kilometer wide windows at Saturn after six years in space, repairing or bypassing damaged sensor platforms, radios, and batteries. Allegedly, one Real Programmer managed to tuck a pattern matching program into a few hundred bytes of unused memory in a Voyager spacecraft that searched for, located, and photographed a new moon of Jupiter.

The current plan for the Galileo spacecraft is to use a gravity assist trajectory past Mars on the way to Jupiter. This trajectory passes within 80 +/- 3 kilometers of the surface of Mars. Nobody is going to trust a Pascal program (or Pascal programmer) for navigation to these tolerances.


I feel like only 1 programmer in 100 can write efficient code these days. In the last 4 years, despite hardware getting faster, the same programs are running slower than they did and people are doing much less (computationally) than they used to with more powerful machines.

It's a damn shame. Then again, for that lucky 1%, you're now able to accomplish things you couldn't dream of 10 years ago -- combinatorial stuff like protein folding and tilings, thermonuclear simulations at the particle level in six degrees of freedom, moving around 10Gbps of Ethernet on COTS, supporting hundreds of unimaginably bloated ruby/php processes in just a few gigabytes of RAM LOL.... =D

Check out Network Algorithmics: The Design of Fast Network Devices and Hacker's Delight. Hackin' ain't dead punk fuckin' rock!

you're alright, MICHAEL


back to top



Related News

The temperatures are dropping, the days are getting shorter, and the fall book season is nearly upon us. (If you’re reading from the southern...

Anyone can add books to this list.