Live data from Hacker News

Ask HN: I'm looking for a good book on the fundamentals of CS

news.ycombinator.com

81–90 of 190 posts

Re: Ask HN: I'm looking for a good book on the fundamentals of CS

#82
post #11

Interested in what gets suggested here... There are a lot of "CS Course Online" type suggestions posted on HN, which are great - but for those of us with full time jobs and lives it's just a non-starter to approach that quantity of material. I'm also more of a hands on learner which is how I got to where I am - but at the same time I can appreciate and happily absorb a well written, thoughtful book... In other words,…

Thank you for the great comment. I see what you're saying with regards to focusing on domain specific material instead. I'm leaning towards one of the CS algorithms books suggested here + perhaps the 3D Math Primer book: https://gamemath.com/

Re: Ask HN: I'm looking for a good book on the fundamentals of CS

#83
A lot of recommendations here, so I would like to ask for some (hope that's allowed).

- Operating Systems. I had a course on OS (I'm a student), but I felt it was kind of lacking, and would like to explore more. - Compilers? Seems very interesting

Also I've started with a bit of haskell to learn functional programming, would love some pointers from the more experienced people here :D

(Also networking?? So much to learn lol)

Re: Ask HN: I'm looking for a good book on the fundamentals of CS

#85

Based on the description you give, you probably want a Data Structures/Algorithms intro. The canonical Algorithms textbook is Introduction to Algorithms by Cormen et al. The MIT OpenCourseware course on Algorithms -- which includes videos and assignments -- follows along with that book: https://ocw.mit.edu/courses/electrical-engineering-and-compu... Note: In your case, I'll recommend against SICP as a first resource,…

I was lucky enough to have Cormen teach my algorithms class in school as well as a few other courses. He is a phenomenal teacher.

Re: Ask HN: I'm looking for a good book on the fundamentals of CS

#86

Bottom up cs is a great resource. https://www.bottomupcs.com/ It might feel very low level at first but once you understand these fundamental building blocks of computers you will be really well equipped to build upon this knowledge and learn higher level concepts. I also think the Rust Programming book ( https://doc.rust-lang.org/book/ ) is a great resource for general programming knowledge. Some sections e.g. on th…

That website is poorly named. It's not about computer science any more than a resource on anatomy is about medicine.

Re: Ask HN: I'm looking for a good book on the fundamentals of CS

#87

Based on the description you give, you probably want a Data Structures/Algorithms intro. The canonical Algorithms textbook is Introduction to Algorithms by Cormen et al. The MIT OpenCourseware course on Algorithms -- which includes videos and assignments -- follows along with that book: https://ocw.mit.edu/courses/electrical-engineering-and-compu... Note: In your case, I'll recommend against SICP as a first resource,…

Note that a 4th edition of this book (frequently referred to as CLRS) is coming out sometime early next year.

slightly unrelated : the javascript edition of SICP is also coming in April 2022. https://mitpress.mit.edu/books/structure-and-interpretation-...

Re: Ask HN: I'm looking for a good book on the fundamentals of CS

#88
it seems you want something that's less CS (math) and more algorithms. I would highly recommend the classing TAOCP (https://www-cs-faculty.stanford.edu/~knuth/taocp.html). If anything, your IQ bumps by 10 points just by putting the book in your shelf.

It's a really fun book, tons of exercises and never gets old.

Re: Ask HN: I'm looking for a good book on the fundamentals of CS

#89
Maybe this won't be a popular opinion, but there are some non-CS-specific works that really helped cement some underlying principles.

Namely, the fun stuff like "Martin Gardner's Mathematical Games" articles, "Gödel, Escher, Bach" by Hofstadter, and "The Cyberiad" by Stanislaw Lem.

These require a bit of thoughtfulness applied to relate to CS. And it was specifically worthwhile to actually work through the number theory stuff in GEB.

Re: Ask HN: I'm looking for a good book on the fundamentals of CS

#90
Surprised no one seems to have mentioned the godfather of CS books, The C Programming Language by Brian Kernighan and Dennis Ritchie [0]. At first glance, it's a programming language book rather than a "computer science" book, but you probably won't think that by the time you're finished ...

First, every operating system you'll use - likely in your lifetime - is a giant mountain of C code. From the kernel all the way to the userspace utilities. As a programmer, your career will be forged on the shoulders of giants, and those giants wrote in C. So to understand how your machine works, you must learn C.

Second, K&R covers far more than just a language - it presents a system of thinking about computing. It covers algorithms for line counting, memory allocation, and the construction of linked lists. The techniques you learn for pointer manipulation will enable you to author implementations of data structures that are considerably more elegant and simple than the naive methods [2].

It contains fundamental, influential insights about the computer science field on nearly every page.

Still, I'd discourage you from writing C professionally if you can help it. Rust retains nearly all the advantages of C while abandoning its unsafe memory model and replacing it with compile-time determined allocations and de-allocations. As roughly 70% of CVEs in C or C++ projects are caused by memory unsafety, this is a significant feature [1]. But the insights you make in studying K&R will translate to everything you build, regardless of language.

You'll walk away with a mental model for computers so powerful that it was the genesis of our modern technology era.

[0]: https://en.wikipedia.org/wiki/The_C_Programming_Language

[1]: https://www.chromium.org/Home/chromium-security/memory-safet...

[2]: https://grisha.org/blog/2013/04/02/linus-on-understanding-po...

Post reply on HN