Live data from Hacker News

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

news.ycombinator.com

101–110 of 190 posts

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

#101

I had a good relantionship with Segdewick's books, before being turned off by Cormen a few times. They are less math focused, and overall have a beginner friendliness to them. They won't take you by the hand an explain things like you are 5, but nevertheless they are more easy to digest. Also as a non-popular opinion in this current age, I recommend you to learn how to implement your algorithms in C, rather than an e…

I’ll sort of second this by saying that Sedgewick’s Algorithms I/II courses on Coursera are top-notch and completely free. He is a truly thoughtful educator. Completing those courses was probably the most useful thing I did when prepping for interviews as part of a career change 6 years ago.

Awesome!! Any other tips you have for someone going through that career change as well? I have a Mathematics BA, and worked as an actuary. I've self taught myself varying degrees of SQL, Python, JavaScript, and C, but I've found it difficult not to feel like an imposter without formal qualifications, even though I know I'm a capable learner and love solving challenging problems.

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

#102
"Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein.

"Algorithm Design" by Jon Kleinberg, Éva Tardos.

"Introduction to the Theory of Computation" by Michael Sipser.

"Course notes for CSC B36/236/240: Introduction to the Theory of Computation" by Vassos Hadzilacos. http://www.cs.toronto.edu/~vassos/b36-notes/notes.pdf

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

#103

Earlier quoted context omitted.

God bless you. I tried reading the AOCP books and it's hard ... and I have a degree in CS

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.

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

#104
post #10

I'm currently going through TAOCP [1]. So far, seems pretty good (although I found one mistake in an exercise). Also, I can never recommend Computer Systems: A Programmer's Perspective [1] enough. (Also features a rare mistakes in an exercise or two, but that's detail.) And for network protocols, Comer's Internetworking with TCP/IP [3] was just great (you only need volume 1). I've read Stevens' books on socket and IP…

> I'm currently going through TAOCP[1].

When someone without a formal CS career is asking for a CS fundamentals book and you're dropping TAOCP I'm not sure if this is a humble brag or an attempt at trolling.

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

#105

Earlier quoted context omitted.

I’ll sort of second this by saying that Sedgewick’s Algorithms I/II courses on Coursera are top-notch and completely free. He is a truly thoughtful educator. Completing those courses was probably the most useful thing I did when prepping for interviews as part of a career change 6 years ago.

Awesome!! Any other tips you have for someone going through that career change as well? I have a Mathematics BA, and worked as an actuary. I've self taught myself varying degrees of SQL, Python, JavaScript, and C, but I've found it difficult not to feel like an imposter without formal qualifications, even though I know I'm a capable learner and love solving challenging problems.

Software dev is a trade, not a science. With a math degree and stats work experience, I'd say you're better qualified as far as credentials than most of us professional devs.

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

#106

Earlier quoted context omitted.

If you mail Don Knuth about the error you found in TAOCP, he'll send you a check for $1 -- he used to do that, anyway. People tend not to cash the cheque, but keep it.

I have no idea if this is current info, but Don Knuth's website describes what happened. He now issues checks from the fictional Bank of San Serriffe [0]. This line is classic Knuth: only 9 of the first 275 checks that I've sent out since the beginning of 2006 have actually been cashed. The others have apparently been cached. 0: https://www-cs-faculty.stanford.edu/~knuth/news08.html

That's the current info, though it sounds like he didn't always do that:

> Knuth offers monetary awards to people who find and report a bug in TeX. The award per bug started at US$2.56 (one "hexadecimal dollar"[41]) and doubled every year until it was frozen at its current value of $327.68. ... Due to scammers finding scanned copies of his checks on the internet and using them to try to drain his bank account, Knuth no longer sends out real checks, but those who submit bug reports can get credit at The Bank of San Serriffe instead.

(https://en.wikipedia.org/wiki/TeX - this is about TeX, though most of it is generic over all his various cheque schemes: https://en.wikipedia.org/wiki/Knuth_reward_check)

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

#107

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,…

CLRS is great, no doubt about it, but I think Sedgewick is probably friendlier to someone studying on his or her own. Note that there are several versions of Sedgewick, which use different languages (I think there are at least C, C++, and Java versions). I'd go with Sedgewick, then get CLRS and Knuth for use as reference material.

Yes, I'm not sure that CLRS "Introduction to Algorithms" is approachable for everyone without prior exposure to formal CS concepts, notation, etc. My undergrad CS curriculum used "Algorithms in Java" by Sedgewick during our freshman year while we learned to write our first programs. We didn't use CLRS until a more in-depth algorithms class during our junior year. I read much more of CLRS in a graduate-level algorithms class.

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

#108
post #56

Have you tried some of the old "Graphics Gems" series books yet? [1], [2], [3] They are not CS fundamentals but will help you out with the necessary concepts, math and algorithms for graphics programming and ray-tracing. As others have mentioned any books on Data Structures & Algorithms are a must. [4], [5], [6] However in my opinion, trying to understand CS fundamentals without undergoing some sort of formal educati…

I'm actually going to apply to the OMSCS as well, so hopefully I get in. It'll be part-time so I can work, but I'll definitely have less of a social/gaming life for the next few years if I'm pursuing an online masters lol OMSCS Website: https://omscs.gatech.edu/home

A very good choice Karsteski, probably one of the best online CS programs out there. Wishing you the best in getting in.

I have embarked on another MOOC catering to a business degree and still figuring out how to balance course load with personal and professional life but I am loving it.

Learning a lot and the courses encourage group/team assignments working with students from all over the world. Learning to navigate the global team work model.

Good luck.

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

#109
post #64

I highly recommend "An Introduction to General Systems Thinking, by Gerald Weinberg. An orthogonal piece of advice that I got from a different book of Gerald Weinbergs' is to learn 3 or 4 Very Different languages simultaneously, to grasp the enormous difference between them all. In 2021 I'd recommend C (lowest level other than assembler: 1st caveat, I haven't looked at Rust) and then at least one Lisp-family language…

I would personally de-recommend Python. It essentially has no unique paradigm or even one that it does really well. I'd replace the Python suggestion with an ML-dialect such as F# or Ocaml. I agree with you though. I think everyone needs a bit of experience with a Lisp/Scheme, an ML dialect, a Smalltalk, Elixir/Erlang, Prolog, and Forth.

And I think it's better to think in paradigms rather than languages in that you choose a new language to learn a new paradigm.

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

#110

For my CS degree, the two classes that were most useful foundations-wise were: 1. Learning how to prove things with math 2. "Baby compilers" machine code, building an assembler, building a simple MIPS compiler, regular expressions, parsing, etc There's a lot of other topics but those two really set the foundation. All algorithms class and data structures are best understood with a mathematical intuition. Not to menti…

Also maybe formal and symbolic logic. I don't have a CS degree, but I had a class where we, as a class, created an entire analogue symbolic logic language from scratch and it's by far one of the classes that's had the most value for me when doing any kind of tech/dev work. No idea how/if that's approached in CS programs, though...
Post reply on HN