Essential Books of Computer Science

Great books for computer scientists!
1

by
4.34 avg rating — 8,229 ratings
Rate this book
Clear rating
2

by
4.47 avg rating — 4,369 ratings
Rate this book
Clear rating
3

by
4.43 avg rating — 9,791 ratings
Rate this book
Clear rating
4

by
4.49 avg rating — 736 ratings
Rate this book
Clear rating
5

by
4.19 avg rating — 10,460 ratings
Rate this book
Clear rating
6

by
4.32 avg rating — 17,654 ratings
Rate this book
Clear rating
7

by
4.40 avg rating — 7,619 ratings
Rate this book
Clear rating
8

by
4.23 avg rating — 1,862 ratings
Rate this book
Clear rating
9

by
4.01 avg rating — 12,936 ratings
Rate this book
Clear rating
10

by
4.18 avg rating — 3,876 ratings
Rate this book
Clear rating
11

by
4.30 avg rating — 8,767 ratings
Rate this book
Clear rating
12

by
4.31 avg rating — 1,253 ratings
Rate this book
Clear rating
13

by
4.42 avg rating — 1,558 ratings
Rate this book
Clear rating
14

by
4.02 avg rating — 624 ratings
Rate this book
Clear rating
15

by
4.30 avg rating — 2,168 ratings
Rate this book
Clear rating
16

by
4.32 avg rating — 1,647 ratings
Rate this book
Clear rating
17

by
4.08 avg rating — 2,863 ratings
Rate this book
Clear rating
18

by
4.33 avg rating — 1,793 ratings
Rate this book
Clear rating
19

by
4.35 avg rating — 2,425 ratings
Rate this book
Clear rating
20

by
4.24 avg rating — 170 ratings
Rate this book
Clear rating
21

by
4.43 avg rating — 862 ratings
Rate this book
Clear rating
22

by
4.20 avg rating — 3,095 ratings
Rate this book
Clear rating
23

by
4.28 avg rating — 1,867 ratings
Rate this book
Clear rating
24

by
4.03 avg rating — 3,178 ratings
Rate this book
Clear rating
25

by
4.54 avg rating — 733 ratings
Rate this book
Clear rating
26

by
4.21 avg rating — 1,107 ratings
Rate this book
Clear rating
27

by
4.11 avg rating — 3,254 ratings
Rate this book
Clear rating
28

by
4.15 avg rating — 5,577 ratings
Rate this book
Clear rating
29

by
4.25 avg rating — 7,418 ratings
Rate this book
Clear rating
30

by
4.20 avg rating — 2,076 ratings
Rate this book
Clear rating
31

by
4.09 avg rating — 550 ratings
Rate this book
Clear rating
32

by
4.24 avg rating — 21 ratings
Rate this book
Clear rating
32

by
4.16 avg rating — 200 ratings
Rate this book
Clear rating
34

by
4.02 avg rating — 34,133 ratings
Rate this book
Clear rating
35

by
4.31 avg rating — 36 ratings
Rate this book
Clear rating
36

by
4.23 avg rating — 1,273 ratings
Rate this book
Clear rating
37

by
3.99 avg rating — 507 ratings
Rate this book
Clear rating
37

by
4.23 avg rating — 413 ratings
Rate this book
Clear rating
39

by
3.77 avg rating — 492 ratings
Rate this book
Clear rating
40

by
4.06 avg rating — 143 ratings
Rate this book
Clear rating
41

by
3.93 avg rating — 355 ratings
Rate this book
Clear rating
42

by
4.21 avg rating — 1,160 ratings
Rate this book
Clear rating
43

by
3.82 avg rating — 28 ratings
Rate this book
Clear rating
44

by
4.40 avg rating — 17,132 ratings
Rate this book
Clear rating
45

by
4.17 avg rating — 2,904 ratings
Rate this book
Clear rating
46

by
4.25 avg rating — 951 ratings
Rate this book
Clear rating
47

by
3.75 avg rating — 8 ratings
Rate this book
Clear rating
48

by
3.87 avg rating — 135 ratings
Rate this book
Clear rating
48

by
4.37 avg rating — 1,767 ratings
Rate this book
Clear rating
50

by
4.29 avg rating — 97 ratings
Rate this book
Clear rating
51

by
4.43 avg rating — 14 ratings
Rate this book
Clear rating
52

by
3.97 avg rating — 707 ratings
Rate this book
Clear rating
53

by
3.85 avg rating — 1,661 ratings
Rate this book
Clear rating
54

by
4.04 avg rating — 2,770 ratings
Rate this book
Clear rating
55

by
3.94 avg rating — 4,753 ratings
Rate this book
Clear rating
56

by
4.17 avg rating — 839 ratings
Rate this book
Clear rating
57

by
4.16 avg rating — 571 ratings
Rate this book
Clear rating
58

by
4.24 avg rating — 25,336 ratings
Rate this book
Clear rating
59

by
3.89 avg rating — 107 ratings
Rate this book
Clear rating
60

by
3.85 avg rating — 122 ratings
Rate this book
Clear rating
60

by
4.17 avg rating — 12 ratings
Rate this book
Clear rating
60

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

by
3.91 avg rating — 1,121 ratings
Rate this book
Clear rating
60

by
4.16 avg rating — 298 ratings
Rate this book
Clear rating
65

by
4.14 avg rating — 50 ratings
Rate this book
Clear rating
66

by
3.71 avg rating — 7 ratings
Rate this book
Clear rating
67

by
4.01 avg rating — 797 ratings
Rate this book
Clear rating
68

by
4.03 avg rating — 1,522 ratings
Rate this book
Clear rating
69

by
4.15 avg rating — 2,678 ratings
Rate this book
Clear rating
69

by
3.84 avg rating — 8,408 ratings
Rate this book
Clear rating
71

by
4.10 avg rating — 147 ratings
Rate this book
Clear rating
71

by
it was amazing 5.00 avg rating — 9 ratings
Rate this book
Clear rating
73

by
4.47 avg rating — 53 ratings
Rate this book
Clear rating
73

by
4.72 avg rating — 4,755 ratings
Rate this book
Clear rating
75

by
4.14 avg rating — 239 ratings
Rate this book
Clear rating
75

by
4.70 avg rating — 356 ratings
Rate this book
Clear rating
77

by
4.28 avg rating — 519 ratings
Rate this book
Clear rating
78

by
4.03 avg rating — 1,259 ratings
Rate this book
Clear rating
78

by
3.75 avg rating — 20 ratings
Rate this book
Clear rating
78

by
2.80 avg rating — 5 ratings
Rate this book
Clear rating
81

by
3.81 avg rating — 16 ratings
Rate this book
Clear rating
82

by
3.87 avg rating — 104 ratings
Rate this book
Clear rating
83

by
4.25 avg rating — 345 ratings
Rate this book
Clear rating
83

by
4.22 avg rating — 2,696 ratings
Rate this book
Clear rating
85

by
3.99 avg rating — 1,505 ratings
Rate this book
Clear rating
86

by
4.12 avg rating — 241 ratings
Rate this book
Clear rating
87

by
4.47 avg rating — 4,369 ratings
Rate this book
Clear rating
88

by
3.84 avg rating — 3,932 ratings
Rate this book
Clear rating
89

by
3.97 avg rating — 694 ratings
Rate this book
Clear rating
90

by
3.95 avg rating — 2,615 ratings
Rate this book
Clear rating
91

by
3.97 avg rating — 1,132 ratings
Rate this book
Clear rating
92

by
4.03 avg rating — 1,250 ratings
Rate this book
Clear rating
93

by
4.07 avg rating — 3,355 ratings
Rate this book
Clear rating
94

by
4.23 avg rating — 1,580 ratings
Rate this book
Clear rating
95

by
4.07 avg rating — 3,151 ratings
Rate this book
Clear rating
96

by
4.02 avg rating — 9,341 ratings
Rate this book
Clear rating
97

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

by
4.15 avg rating — 643 ratings
Rate this book
Clear rating
97

by
3.77 avg rating — 13 ratings
Rate this book
Clear rating
97

by
4.35 avg rating — 5,827 ratings
Rate this book
Clear rating
flag this list (?)
191 books · 261 voters · list created June 10th, 2009 by Darklight (votes) .
Tags: computer, science
609 likes · 
Lists are re-scored approximately every 5 minutes.


Darklight 65 books
2 friends
Michael 690 books
289 friends
Nick 2379 books
420 friends
Stephan 0 books
1 friend
Xiachenfeng 21 books
0 friends
Andreas 20 books
2 friends
Kristjan 3684 books
561 friends
Sepand 122 books
54 friends

More voters…


Comments Showing 1-4 of 4 (4 new)

dateDown 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

  Mary Roach is a science author who specializes in the bizarre and offbeat. With a body of work ranging from deep-dives on the history of...

Anyone can add books to this list.