Ask HN: Computer science neophyte needs a book recommendations
Alright, so I'm the non-technical half of a small Chicago startup, and I want to learn to code. I have fought my way through Programming PHP and JavaScript: In A Nutshell, and HTML: The Definitive Guide, (not in that order), and I'm beginning to think that I'm not the type of person to just learn things piecemeal. I'm looking for a book which explains (in words, as opposed to diagrams) the architecture and operations of a computer from the hardware on up. I want to know what causes a parse error, and where this lies in the hierarchy between the CPU and what gets rendered in the GUI.
Seriously, this is the most curious I've been about something since I wanted to be a marine biologist when I was six.
Can anyone recommend a comprehensive, rigorous explanation of computing and computer programming? I'd be much obliged.
(
8 comments
| 6 points
| on HN
)
Structure and Interpretation of Computer Programs -- the book explains core computer science concepts, including abstraction, recursion, interpreters and metalinguistic abstraction, and teaches modular programming. Also what MIT used to use as their intro to CompSci textbook
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein) -- Explains various algorithms and their benefits/drawbacks
The Mythical Man-Month -- What project management for software looks like when done right (and wrong)
Head-First Design Patterns -- Head First series is a little goofy, but you will remember how an Observer pattern works after going through their goofy examples. Gang of Four's design pattern book will put you to sleep.
I'm making my way through another HN user's recommendation, Code. I've heard good things about The Mythical Man Month (especially from my more technical startup-involved friends), so I think that might be next on my list. As for SICP, I'm a tad intimidated, but it seems approachable enough.
Regarding the other suggestions, they too will be read. Thank you for these.
http://highered.mcgraw-hill.com/sites/0072467509/
http://www.amazon.com/Code-Language-Computer-Hardware-Softwa...
It's a page turner and you'll know more about computers than many developers. You still won't be a programming guru from this, but its a great holistic approach that you can then supplement.
I'm getting it tomorrow.
This book is a classic in Computer Science and it explains, discusses various programming concepts ... mainly from the compiler/interpreter point of view.