learning strategies

Since I'm going to be doing GIS programming and working with scientific mumbo jumbo again, I've recently started brushing up my rusty (and in some cases non-existent) math skills. I recently stumbled somewhat serendipitously on the Steve Yegge blog rant Math for Programmers.

Warning - His posts tend to be very long, I rather enjoy them but I see tl;dr in some of your futures :)

Anyway, a nice reminder for me is this little section:

The Right Way To Learn Math The right way to learn math is breadth-first, not depth-first. You need to survey the space, learn the names of things, figure out what's what.

This is absolutely true, for me anyway. I've started doing math every day in addition to music (time spent on both are of course are dwarfed by baby-care duties, but I can carve out a few solid hours per day here and there :P).

I just spent the past week going through:

I really enjoyed this (and other algorithm books, but especially this one) last time I read it (several years ago). However, I didn't really take the time to do most of the exercises, and just skipped the math that went over my head, or that I didn't recall readily.

This is fine for a first pass, but the difference this time is that I'm taking notes on bits I don't understand and following those up, and committing to coming back and working through the exercises to make sure that I grok it. JS might be a fun language to use for this :)

I'm finding algorithm analysis way more interesting this time around, for some reason.

Next on my list:

I tried reading this when getting hung up in parts of "The Art of Computer Programming". "Introduction to Algorithms" also refers to this book a lot. It's pretty dense. I'm thinking of jumping back to TAoCP once I do the first pass, and returning to specific areas as-needed, as I find progress in TAoCP very rewarding.

Focusing on the breadth-first strategy is making a lot of sense to me; it's way easier to find the solution to a problem when you know how to recognize the type of problem, as opposed to the rote method of memorizing algorithms that I've found in many (but not all) classrooms.

This is highly motivating stuff:

And I'll keep getting better at this. I have lots of years left, and lots of books, and articles. Sometimes I'll spend a whole weekend reading a math book, and sometimes I'll go for weeks without thinking about it even once. But like any hobby, if you simply trust that it will be interesting, and that it'll get easier with time, you can apply it as often or as little as you like and still get value out of it.

That's exactly how I feel about music and computers (programming, server stuff, etc) in general, I don't know why I've always had such a block against math, it has always felt like more work than fun (well, except Geometry. Visuals ftw!).

I think that doing simple games can be my "in" to getting along better with Physics. I can't remember ever _wanting_ to remember trig before I threw together that little Breakout! demo :) Now I am kicking Past Rob for not paying more attention. I guess the most I can hope to do is spare Future Rob that same trauma.