
A Crash Course in Computer Science: Reading List - dmor
http://refer.ly/p/jchenry/collections/show/a_crash_course_in_computer_science__reading_list/fcecf4a0003811e2a4ec22000a1d0d51
======
Jabbles
"Crash" suggests quick. I don't see anything quick about these books. Working
through these would take many months of full-time work. Many of these books
are references, not particularly suited to self-study.

@dmor, these are not a good introduction for non-technical people to start to
learn about computer science. Try the coursera course
<https://www.coursera.org/course/cs101>

~~~
pasbesoin
OTOH, better to spend your time and effort on the best, than to spend it in
varying degrees of frustration with the relatively poor quality of
alternatives.

In this sense, an excellent list of the best resources can indeed be part of a
"crash" course. Because, going in, the student may not know what to pick, and
without a good instructor/mentor/advisor -- whether in person or in video and
text -- less optimal choices may considerably slow things down.

------
dmor
Submitting this primarily for my non-technical YC batchmates - Colin is a good
friend of mine who was very supportive as I became a software developer. These
are great resources from a tough but awesome teacher. Yes, this is on @Referly
so Colin will earn money if you buy through his links.

~~~
dmor
Also, here is the blog post that accompanies this collection:
[http://jchenry.me/2011/05/26/Reading-List-%3AA-Crash-
Course-...](http://jchenry.me/2011/05/26/Reading-List-%3AA-Crash-Course-in-
Computer-Science.html)

------
mukaiji
I applaud the fact that this isn't just a post about "how to learn" to code;
however, I think there is a need to specify that some of these references are
not entirely necessary for a decent subset of programmers. For example, you
listed Computer Organization and Design by Patterson & Hennessy. I think it's
a fantastic book, and had to go through 11 chapters of it for the sake of a
Stanford architecture class. The first few chapters almost feel like a must
read for all, but unless you're going to be doing system stuff, i'm not sure
it's really that important to know the intricate detail of pipelining.

Additionally, I think a good starting reference you may want to add for not-
so-deeply technical folks is Computer Systems, A Programmer's Perspective by
Bryant & O'Hallaron.

~~~
davidddavidson
I would add the book 'Elements of Computing Systems' [1] by Nisan and Schocken
(in addition to CS:APP) as a replacement for COD. COD is more of a reference
book rather than a teaching one.

[1] <http://www1.idc.ac.il/tecs/>

------
mwhooker
Looks like 10 text books (read: ~$100 each) with no descriptions and referral
links to Amazon.

edit for clarity.

~~~
lumberjack
The Dragon Book alone tops your estimate by about 15%.

~~~
Turing_Machine
I think he meant ~$100 each.

------
davidddavidson
Here is the blog post that goes along with this -
[http://jchenry.me/2011/05/26/Reading-List-%3AA-Crash-
Course-...](http://jchenry.me/2011/05/26/Reading-List-%3AA-Crash-Course-in-
Computer-Science.html)

