Ask HN: I'm looking for a good book on the fundamentals of CS
81–90 of 190 posts
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#82Interested 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,…
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#83- 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
#84Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#85Based 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,…
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#86Bottom 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…
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#87Based 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.
Re: Ask HN: I'm looking for a good book on the fundamentals of CS
#88It'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
#89Namely, 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
#90First, 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...