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.