Live data from Hacker News

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

news.ycombinator.com

171–180 of 190 posts

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

#171
Beware of the Cormen et al "Introduction to Algorithms". It's a good book. But while it says "introduction", it's typically used for like a third-year undergrad who has a fair amount of programming, data structures, and algorithm experience already. It's more about algorithm _analysis_ - that is, how to prove things about algorithms and formally establish their run-time/complexity bounds - than about how to use or write them. Probably not what you want to start with.

Knuth's Art of Computer Programming is even more hardcore than that, imho. Probably not what a beginner wants unless you want to dive right in to the deep end.

SICP is more accessible but still pretty textbook-y.

But I don't actually know what I'd recommend instead. I did a CS undergrad degree, so Cormen and other textbooks are how I learned. But I did that over 5 years with lots of professional help. Dunno what a good self-study-friendly alternative is.

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

#172

There are three areas to really study here: 1. Programming 2. Computer Science 3. Software engineering Programming is, well, the act of writing code both in general and in a particular language. For this, find one or two books or courses on the languages you're using. Work through them, type up most, if not all, their sample programs yourself. Don't just copy/paste, don't download a copy of their source code. Typing…

I think this is all good advice. Including the "type it out yourself" bit.

I'd add a recommendation for _Code Complete_ by Steve McConnell, which is like 2/3 Programming and 1/3 Software Engineering, and seems about right for your level of experience.

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

#173
Something ive needed on my learning journey is attacking "both ends" -- so something like sedgewick for reading and then something about using pre-builds and c# in unity.

Its nice to actually hang out in 3D space and start to build an intuition between fiddling with the c# and whats going on in your unity scene. Maybe your toy engine has legs and you're better off with a more foundational approach. Personally though i find dense coursework obfuscating and like having my "microwave dinners" on the way to knowing how to cook from scratch ;)

Dont listen to my advice tho listen to someone pitching a bunch of boring books. Its the right way...

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

#174

Something ive needed on my learning journey is attacking "both ends" -- so something like sedgewick for reading and then something about using pre-builds and c# in unity. Its nice to actually hang out in 3D space and start to build an intuition between fiddling with the c# and whats going on in your unity scene. Maybe your toy engine has legs and you're better off with a more foundational approach. Personally though…

More bad advice - Maybe there are some 3D models out there (sketchfab turbosquid cgtrader) that model some of your favorite chemical structures? Ways to play with stuff from your other backgrounds? The 3D plane holds so much possibility for drawing on other disciplines.

Also daniel shiffman has some absolutely deranged and highly caffeinated intros in various flavors of js- his series "the nature of code" is very magnetic and accessible and his clumsy exuberant vibe is good for busting imposter syndrome.

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

#175

Algorithmics by David Harel is not much mentioned anymore, but it's really good if you can find it. An easy and inviting read, it was written as a popular book not a textbook but nevertheless covers many topics with very thorough and clear explanations, and also touches on history and culture. I recall there were several versions with different titles - Algorithmics: The Soul of Computing was, I think, a cut-down ver…

Excellent !

Your recommendations are right on the money and not just for noobs. This is the first i have seen Harel's book Algorithmics being mentioned on HN. More people should read this book; not sure why it is not that well known.

Just to add to your comment;

Students need to understand the distinction between Computing Science and Computer Science. Harel's Algorithmics explains the former while Petzold's Code explains the latter. Wirth's Algorithms + Data Structures = Programs marries the two.

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

#176
post #162

Algorithmics by David Harel is not much mentioned anymore, but it's really good if you can find it. An easy and inviting read, it was written as a popular book not a textbook but nevertheless covers many topics with very thorough and clear explanations, and also touches on history and culture. I recall there were several versions with different titles - Algorithmics: The Soul of Computing was, I think, a cut-down ver…

The Harel book is "Algorithmics: The Spirit of Computing", not "The Soul of Computing". The book was actually originally just called "The Science of Computing" and published in 1987. The second edition in 1992 had the name changed to "Algorithmics: The Spirit of Computing". The third edition in 2004 kept that name and had Yishai Feldman added as coauthor. There was a 2012 reprinting of that which had a new preface wr…

Thank You.

I have the 3rd edition and have often wondered whether i should look at the earlier editions for some insights; maybe i should hunt down a cheap used copy to add to my collection.

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

#177
post #87

Earlier quoted context omitted.

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-...

Amazing. Thanks for the info, even if unrelated.

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

#178

Earlier quoted context omitted.

I found them extremely accessible, and I was a high-school dropout. (Admittedly a very late dropout, but a dropout nonetheless.) That was back when volume 4 didn't even exist as listicles yet. And, let's face it, the sheer size (and cost) of the thing, even then, was a bit intimidating, but there's nothing in it that can't be followed with a bit of algebra and the barest hint of what the kids these days call "pre-cal…

And he is a funny writer. I didnt do the homeworks but found it surprisingly accessible IronicaLly, I put off reading Seminumerical Algorothms for years because didnt understand it was numerical algorithms for computers without reals. The random number chapter alone is so awesome.

Oh, that's what it is? Ahh!!

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

#179

Earlier quoted context omitted.

I don't have a formal CS career either. In one of the other comments someone wrote they read it being a high school dropout. Different people like different things. Note also that submission author studied chemistry, so they did get their fair share of training in mathematics.

And we are all very impressed. However, it's obvious how this set of books would intimidate mainstream non-exceptional folks (unlike yourself and the other person on this thread) from pursuing CS. I mean sure, different people like different things, but this piece of scientific literature is both very talked about and very little read as opposed to other, more distilled and popular sources of education. Sources which…

> but this piece of scientific literature is both very talked about and very little read

Rightly said.

I am quite sceptical of people claiming they have "Read" Knuth's TAOCP; Browsed? Yes but Read/Studied? Not easily convinced. But perhaps i am just being too prejudiced and cynical.

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

#180
post #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 lea…

On Networking:

I highly recommend - An Engineering Approach to Computer Networking: ATM Networks, the Internet, and the Telephone Network by S. Keshav. Unlike other books, it actually does give you a 360 degree view of the entire field which is no mean task.

On Operating Systems:

I have heard good things about Operating Systems: Three Easy Pieces by Arpaci-Dusseau though i haven't read it myself.

Post reply on HN