Let me start off: Math? Eww!
Let me revise. Math teaching? Eww!
I had the fortune to not learn math the traditional way. I didn’t learn abstract problems. I’ve never done much formal algebra. I’m working on calculus now, because it’s interesting for what I’m learning.
But I didn’t learn formal algebra, the so-called prerequisite.
I learned trigonometry first.
At this point, I’d been programming computers for a fair number of years (I started at age 6, on my TI 99 -4a. And I started with text manipulation, because we had the speech synthesizer addition.) I had an idea what variables were. I had a good idea how to twist the symbols around programatically. I could do what one might consider algebra, on the computer. But I wasn’t thinking about balanced equations and transformations—that came later when I wrote a wiki, and I thought about it textually. I was trying to get things to add up right to make the game world the right size. I was trying to make pretty colors (16 Bit!). I learned binary arithmetic.
But then I had to learn trigonometry.
And there was a reason for this.
We were building a house. And we’re not talking 16-inch-center studs, slap two up around every doorway cookie-cutter house, we were Building A House. Out of big timbers and straw bales.
And it had to not fall down. There’s no book of The Way You Must Do This that’s pre-approved, no thought required. There’s a bunch of engineering books. Some of them quite accessible. We had to make a plan and get an engineer to approve it.
So we did. My dad and I learned trigonometry together. We paced around timber and computer models. We learned about force vectors. We learned how the triangular structure of the house would distribute the loads.
I wrote a few programs then to figure some parts out. If I’d had Ruby at the time, I’d have used Ruby. But I had Quattro. And AutoCAD. And we made it work.
I’d been programming for years before I did much more than counting, mathematically, with it. I learned math, not by being taught abstractions, but by having a real physical use for it.
Really, math is shapes and transformations and patterns and relationships. The way it’s taught is manipulations on abstract symbols and so wholly unapplied that it’s painful to watch.
Programming, the way I learned, however, was fun. I wrote a wiki. I wrote text tools. I chopped words up in all sorts of ways. I wrote madlib generators. Lists of words, lists of sentences, lists of paragraphs. Yes, you can count elements in a list. Yes, you can think of the elements as symbols in a set alphabet.
But when it comes down to it, programming words is fun. And math is better when applied, either manipulating graphics or lumber. Teaching it in the abstract is boring. Really, really boring.
Oh, and the house is still standing. And it doesn’t shake in the wind like the one we lived in before did.