Live data from Hacker News

Must Read CS Books For Self Self-Taught Programmers

news.ycombinator.com

41–50 of 63 posts

Re: Must Read CS Books For Self Self-Taught Programmers

#41
Knuth's Art of Computer Programming

Aside from that, there are typically only 1-2 extremely well regarded books in any given area. If you're going to be doing something specific, grab the appropriate book.

eg:

Compilers - Dragon Book

AI - Russel/Norvig's Artificial Intelligence: A Modern Approach

Oh.. everyone needs a whiteboard, as well - they're quite useful

Re: Must Read CS Books For Self Self-Taught Programmers

#42
Along with the usual classics, I highly recommend Computer Systems: A Programmer's Perspective by Randal E. Bryant and David R. O'Hallaron of Carnegie Mellon. The authors wrote it after teaching a class on the subject. It's extremely readable and gives you an excellent introduction of machine level code, processor architecture and memory as well as a solid foundation of higher level concepts including networking and concurrency. If you're considering programming as a career, I'd say this book (or something similar, probably spread across multiple books) is a must-read. It's used by CMU, Stanford, Caltech, UIUC, Harvard and dozens of other schools.

http://csapp.cs.cmu.edu/ http://www.amazon.com/Computer-Systems-Programmers-Perspecti...

Re: Must Read CS Books For Self Self-Taught Programmers

#43
post #23

I am also self-taught, although I dropped out of University two years into a CompSci/Engineering double major, so I will recommend some resources to you that helped me immensely. Each of these books has an associated MIT course with lecture video, notes, etc. available online. First is Structure and Interpretation of Computer Programs[1], which you can read online, and the associated course at MIT, which is 6.001[2]…

Great list. Two things:

(1) MIT has also posted lectures for "Intro to Algorithms" taught by Leiserson (one of the authors of the famous textbook). The course number is 6.046J[0].

(2) You mention shell scripting and sed/awk/grep...can you recommend any resources for those?

[0] http://ocw.mit.edu/courses/electrical-engineering-and-comput...

Re: Must Read CS Books For Self Self-Taught Programmers

#46

While not strictly a CS book, "Godel, Escher, Bach" by Douglas Hofstadter definitely has strong roots in the area. It's not a text book, nor anything even close, however, there is a reasonable amount of mathematics and programming language design which make it educational as well as inspirational (particularly formal logic systems, around which the premise of the book is built). The book is somewhat life changing, in…

I fail to see how you can claim that Operating Systems Concepts is an "extremely detailed look at how operating systems work." I read every page of this book. Much of the information is outdated. For instance, much time is spent on tape drives and related devices, as well as methods of using computers that are now updated (FIFO job queues, etc). Some interesting algorithms are covered. However, many of the algorithms have little relation to the techniques used in practice. For example, most of the locking techniques presented in the book are not used on x86. The information about paging and segmentation is overly high-level and is not sufficiently deep to guide an implementor.

I'd recommend skipping this book and instead reading the Intel x86 documentation. It was vastly more useful to me while writing my own operating system than anything I read in Operating System Concepts.

Re: Must Read CS Books For Self Self-Taught Programmers

#47
post #23

I am also self-taught, although I dropped out of University two years into a CompSci/Engineering double major, so I will recommend some resources to you that helped me immensely. Each of these books has an associated MIT course with lecture video, notes, etc. available online. First is Structure and Interpretation of Computer Programs[1], which you can read online, and the associated course at MIT, which is 6.001[2]…

Great list. Two things: (1) MIT has also posted lectures for "Intro to Algorithms" taught by Leiserson (one of the authors of the famous textbook). The course number is 6.046J[0]. (2) You mention shell scripting and sed/awk/grep...can you recommend any resources for those? [0] http://ocw.mit.edu/courses/electrical-engineering-and-comput...

awk: http://www.gnu.org/software/gawk/manual/

Re: Must Read CS Books For Self Self-Taught Programmers

#49
post #35
post #23

I am also self-taught, although I dropped out of University two years into a CompSci/Engineering double major, so I will recommend some resources to you that helped me immensely. Each of these books has an associated MIT course with lecture video, notes, etc. available online. First is Structure and Interpretation of Computer Programs[1], which you can read online, and the associated course at MIT, which is 6.001[2]…

That's a great collection of books, but when I see a list of link-shortened URLs to what context dictates are book web pages, I automatically assume they are affiliate links. Please just use the real URLs so people know what they're getting into. For the record the shortened URLs are not affiliate links, and I'm not trying to make any statement about affiliate links. Here are the original URLs: [1] http://mitpress.mi…

Ahh sorry - I am usually totally against shortened links but:

1. Didn't know that HN would trim the long links

2. Remember the shortcodes/aliases used at xrl.us (such as the MIT course names), although browser smart address bars and Google is just as easy.

Thanks for putting the links up, I don't need to update my comment.

Re: Must Read CS Books For Self Self-Taught Programmers

#50
post #23

I am also self-taught, although I dropped out of University two years into a CompSci/Engineering double major, so I will recommend some resources to you that helped me immensely. Each of these books has an associated MIT course with lecture video, notes, etc. available online. First is Structure and Interpretation of Computer Programs[1], which you can read online, and the associated course at MIT, which is 6.001[2]…

If you did not tell me that SICP was actually made for something else, I would think that it was custom-designed for self-taught programmers to fill in their gaps, at least the ones that matter. If you actually finish that book you'll be ahead of the vast bulk of programmers who graduated with computer science degrees in terms of practical software engineering.
Post reply on HN