What does ‘continuing education’ mean to you?

I just finished an online version of SICP, the famous computer science text Structure and Interpretation of Computer Programs (link to full and official text online). What do I mean by “finished”? Well, there are online video lectures (link to iTunes-ready RSS video feed), expertly delivered by SICP authors Sussman and Abelson themselves in 1986. Beyond just watching the lectures, I took careful notes so I have something to refer back to later. I didn’t get the full intense college-class experience–no pop quizzes for instance–but it’s still helpful. Recent Python and XSLT I’ve written has been influenced for the better.

It’s interesting to peruse the reviews for this book on Amazon. They seem to mainly fall into gushing 5-star reviews, or else ‘yecccch, I’ll never use this stuff’. Both are correct. As Harold Abelson says to start of the first lecture, computer science is neither about computers nor science. The point of this endeavor isn’t about “programming”. You won’t find many Scheme jobs on LinkedIn, for instance. It’s all too easy to get pulled into the world of trench warfare programming, so it’s good to be able to step back and survey broader theoretical issues.

My views toward Lisp/Scheme have shifted as well. Before, and for about the first half of the lectures, I would have talked vaguely about how Lisp has an elegant purity but unusable syntax. Lots of Irritating Superfluous Parentheses, and so on. By the end, I have a lot more respect for the language. I admit I was rather floored by the metacircular evaluator lesson, where a suitably fezzed Gerald Sussman writes an entire Scheme interpreter–writes in Scheme–on a blackboard.
Prior to that, I went through an MIT course on differential equations by the engaging Arthur Mattuck, picking up where my electronics left off. Prior to that, a book called Problem Frames, about fully analyzing problems before diving into solution space.

So I’ve been keeping busy. It seems like these sorts of things run in cycles for me, with a full cycle taking around two years. So I’m really curious: how do others manage “continuing education”? What have you learned lately? How do you learn best? What should I look in to next? Comment below. -m

2 Responses to “What does ‘continuing education’ mean to you?”

  1. Evan Lenz http://evanlenz.net/blog

    Hi Micah,

    Some sort of involvement with other people is always helpful to me. It keeps me on track and engages me more by having people to interact with. Right now, I’m taking a class on SuperCollider (language and server for computer music). I’m also slowly making my way through Graham Hutton’s “Programming in Haskell” book.

    I think it would be cool if there was some website that linked people together who want to read the same book and just keep each other accountable and updated on their progress. Watching those SICP videos is another great example of something to do with the support of a fellow learner somewhere else. I could always use accountability like this. When I was writing the “XSLT 1.0 Pocket Reference”, I hooked up with a “writing support group”. We called each other every morning and wrote for a half hour, chatting briefly afterward to hear how it went. Where is the website that hooks people up for these kinds of ad hoc accountability groups?

    Evan

  2. mdubinko

    I had a similar conversation recently, in the context of getting up to speed on the massive internal Y search codebase. Some technical things are just inherently social.

    Having a “SICP buddy” would definitely have changed the experience. For the better in many ways, but also introducing scheduling difficulties. When learning a codebase, it’s usually possible to align with someone else in the same company (or open source cohort). For things like online audio/video classes, like iTunes-U, it would be great to have a way to match up interested parties… -m

MicahLogic is Stephen Fry proof thanks to caching by WP Super Cache