Hacker News new | past | comments | ask | show | jobs | submit login
SICP - summary of 10 months working through the entire book (thegreenplace.net)
86 points by pchristensen on April 18, 2008 | hide | past | favorite | 39 comments

Great job! I'm planning on going through my entire algebra textbook this summer (Dummit and Foote; 2000+ exercises!) to finally master group, ring, field, and homology theory! So far, I've done well in the courses but still feel unprepared for the prelim exams. Wish me luck! I'll post my solutions for all to see after the marathon.

Best to post during the marathon, not after, for three reasons. One, because you're going to have downtime, and writing is a good way to make productive, yet relaxing, use of that downtime. Two, because the evidence of mastery is the ability to explain, not simply to perform. Three, because I want to read about your experiences.

"Two, because the evidence of mastery is the ability to explain, not simply to perform."

So true. I learn more by writing about things than by reading about them (of course, the former includes a lot of the latter, but it's so much more productive when you're reading towards a specific goal...and if the goal is explaining the subject clearly and entertainingly you really have to have a firm grasp of the subject). It just seems to activate my brain in ways that merely reading never quite does. Doing the exercises overcomes the passivity of reading to some degree, but writing down what you learned takes it up another notch.


Please submit a link to News.YC if and when you start doing this so I can add it to my RSS reader/Twitter/whatever you use to post updates.

Thanks, Don! I'll follow your advice, in that case. I agree I have never experienced a comprehension aid as powerful as instructing and explaining the material myself. Not to mention, I'll probably need some criticism and help!

Thanks for mentioning the text you're using. I'm looking for a resource beyond Wikipedia for abstract algebra and Dummit and Foote looks good, but I'm worried that the lack of solutions makes it inappropriate for self-study.

Anyone know of an abstract algebra text that is well-suited for an autodidactic mathematician with a basic understanding of the subject?

I loved "A First Course in Abstract Algebra" by Fraleigh. It was a while ago, so I don't quite remember whether it had solutions for the exercises or not.

[edit]: There's also Michael Artin's "Algebra" which is somewhat dense (certainly without solutions), but a very fascinating read due to its emphasis on symmetry groups. Particularly useful and enlightening in the context of modern particle physics.

Fraleigh contains solutions to the odd numbered sections (7th edition). It was the text I used (and enjoyed). I still have a copy of it, three years later.

When I was first trying to teach myself abstract algebra, Herstein's book seemed the most user-friendly. It doesn't go very far, but it's very clear and well-written. No solutions I'm afraid - but that's not common with any mathematics textbooks.

Great project idea. I've tried to do this myself, so maybe I can offer you some advice. I'm dying to know if these observations apply to anyone other than myself, so please, let me know if this is helpful. (email me!)

1. Learning math is like topiary for your neurons. Your goal is to train your brain to model the behavior of objects that respect axioms. In programmer talk, you can think of your brain as the machine you're trying to program, the book as your source code, and that "Huh?" feeling as a compiler warning. That sheds a little light on why math is harder. SICP has an extra indirection to it. It's a book about writing code, not a book full of code.

2. 50% of the the things that mathematicians do are obvious to anybody. Another 40% are obvious in context (which is the point of "motivation" in textbooks). You're appreciation of these facts is probably what's set you on this project. The other 10% of stuff is hard, though, and I think I know why. Mathematical notation wants to be done with little animated graphics, but it's done in dry prose instead for the sake of tradition stretching back from Gauss and Euler to Euclid. I've wanted to do higher-math teaching software for a long time, and could use a collaborator.

3. Since a lot of the difficulty of modern math is in the expression of ideas that are simple to "do" in your head but hard to write down, you can get some really good catalytic effects by using multiple sources. Be careful of mismatches in "theory level" -- sometimes it's hard to tell when a highly abstract definition specializes into a definition that you already know. Even so, on the internet there are just so many resources available these days that you can almost always find the quick-and-dirty in-your-own-head explanation that practicing mathematicians give in lectures. For Algebra, I recommend you use Hungerford's text together with Dummit and Foote, with The Spellbook (from Serge Lang) as a backup. You can find good notes at: http://www.jmilne.org/math/index.html

4. Math departments often put out study materials for PhD students preparing to take their qualifiers. It's a great source of exercises and sometimes you can get solutions too.

5. Even though Steven Wolfram is kind of a pustule, a few hours spent looking at group tables in you-know-which software package can save you a week of head-scratching.

6. There's a cool paper on the classification of groups of order 16 that I absolutely love. Google it, because I'm lazy, or email me if you can't find it.

7. The people at PlanetMath are usually pretty awesome.

8. Skip things judiciously. This goes back to #3 a bit. This stuff was mostly discovered by guys writing letters to each other, so it's structure is only rarely more complicated than a tree of dependencies. So skip around if you have problems with one section. Chances are good that when you come back you'll have found something that makes the process easier. Most of math is getting used to things, as they say, and that takes both time and context.

Again, let me know if any of this is helpful to you. I'm not just saying that, either. I'm interested in how the self-teaching process works. Also, now that I've written all this dreck, you owe me.

A second for Hungerford. Lang's Algebra is a horrible book. It was the course book in grad school but we all studied from Hungerford. Hungerford is very detailed with lots of proofs and examples. Jacobson's Basic Algebra I & II is also very good but very sparse. I learned more from Jacobson but Hungerford is a great reference.

Excellent advice. The smartest mathematicians and physicists often invent their own funny little diagrams for doing calculations---it's a real pity these usually don't make it into print. An obvious exception is Feynman diagrams.

I can't locate The Spellbook by Serge Lang. Can you give me a link?

I assume he's talking about the first of these:



Michael Artin's book is also a decent text aimed mostly at undergraduates:


Did you like Artin?

My first-year class in field & Galois theory started with the Artin text, and by mid-semester I started daydreaming about ripping out random pages and mailing them to the author.

But I don't like colloquial exposition, so YMMV.

You might want to find something in addition to Dummit and Foote. Dummit and Foote is great when you want an example of something, but I think for learning the stuff there are better things out there.

Don't Use Dummit and Foote! Use Artin or something like Hungerford or MacClane!

I found Artin to be overly wordy and often imprecise. I found Hungerford to be extremely dry and boring, but admittedly I only got through a short part of it.

Lang is very good, IMO, but more difficult.

my experience was that Hungerford's presentation was organized, concise, and its great how he is explicit in differentiating between a proof and a proof sketch.

I'd hesitate to suggest to any of Lang's writings as the first go on a technical topic. If you are already comfortable with the material, his writings will give new insight and intuitions, but thats different from a first go at understanding a topic

(note to audience, we're talking about different math textbooks)


By the way, this would be a good time to share your (yes, you, dear reader of this comment) experiences trekking through every exercise in a book. I assume this will be a more common experience for graduate students, but has anyone else participated in the beautiful endeavor that is simply devouring an entire text?

One of the things I would so dearly love to do - especially something in Maths. I am waiting for my startup to succeed :P

Does anyone know offhand why he switched from CL to Scheme? He doesn't really mention why, and I wasn't sure if it was because the book was Scheme based or because of some other issue he had with CL.

He switched back and forth between them on different sections but wrote about the initial motivation for that decision here: http://eli.thegreenplace.net/2007/08/23/giving-plt-scheme-a-...

Ah that explains it pretty well, thank you!

I believe he said he switched between CL and Scheme; not quit using CL entirely.

I've been planning to do the same with several of the courses from AdUni.org (mainly the areas where I'm weakest--math and algorithms, in particular, but more Scheme/Lisp doesn't hurt and systems knowledge is always useful). I ordered the DVDs a couple of years ago and acquired all of the recommended texts (the ones that aren't available for free online, anyway), but only got through a few of the early SICP classes before getting sidetracked by other projects. This has inspired me to dig back in. I'll copy a few of them over to my lappy and head out to the park or a coffee shop--I'll enjoy the gorgeous weather and get some studying done.

I've actually just started reading this today with about the same set of goals, and so it's nice to see someone finish the thing up. I wasn't thinking about going through this as part of a long-running blog, but now that I've found this, it might not be a bad idea to do so with some other my other undergraduate review...

Speaking of which, does anyone have some good recommendations for a discrete mathematics textbook, specifically one that includes both theory (proofs) and application?

It's probably too idiosyncratic to meet your needs, but I really like Knuth's "Concrete Mathematics"

Great book, though it covers a somewhat different subset of topics than those typically considered "discrete mathematics"...

http://www.mhhe.com/math/advmath/rosen/ ..is what we used in college; I found it hard to read in spots, but haven't really found anything overall better.

Ordered from Amazon; let's see if I can put that useless BA in math to some productive work...

It's a great book, but not exactly one in the theorem-proof-corollary vein.

I've been casually studying along with this:


The recommended text is Discrete Mathematics and its Applications, by Rosen, which is a mixed bag according to reviews but the consensus is generally good. AdUni provides a full series of video lectures and quite a bit of course material. Nearly all of the AdUni.org stuff is awesome (though the ancient Abelson and Sussman lectures are far better than the Yanco lectures at AdUni.org) and a great supplement to self-study. It's mostly taught by MIT grad students (which is what you'd get if you were taking the courses at MIT, so not a bad deal).

Slightly off-topic, but still related to Lisp: what do you guys think of ML (as compared to Lisp, for example). I learned this in my first year at college and I like it better and better the more I work with it. It seems that Lisp is much more common, though. Any ideas why that's the case?

Ha! I was going to do the exact same thing. Maybe I'll do it for TAOCP instead if I ever get around to it.

Doing every exercise in TAOCP would be....quite some achievement, to put it mildly

Yes, one of them has you proving Fermat's Last Theorem, for example!

I meant just blogging my experience working through it.

I'd certainly read a blog that shares the experience of working through TAOCP.

very cool. makes me want to do the same.

Applications are open for YC Summer 2021

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact