Returning to Mathematics
"In these days of conflict between ancient and modern studies, there must surely be something to be said for a study which did not begin with Pythagoras, and will not end with Einstein, but is the oldest and the youngest of all."—G.H. Hardy, A Mathematician's Apology
If you don't understand mathematics, you are illiterate.
I've ignored this truth for most of my life. Mostly because I wasn't very good at it and the subject never interested me much.
But if turning 30 has taught me anything, it's given me the wisdom to look back and wonder how I could have been so stupid. In fact, I've been wondering that a lot the last few years.
But it's never too late. I've been telling myself that a lot the last few years too.
So I've been hitting the books again, diligently reviewing all the topics I've forgotten. Or never picked up in the first place.
I'm finding it more enjoyable this time around. It helps to go at my own pace, exploring the topics that I find interesting.
It also helps to have new tools. One of my favorites is the Khan Academy. I've pretty much given up television because of this site. (No really, I have.)
I'm about half way through the site's 180 practice modules (at last count.) There are also nearly 2,000 video tutorials, but I've barely started with those. So far, it's been enough to pick a practice section and just work the problems. When you give it a wrong answer it will tell you immediately and reset your count (you need at least ten correct answers in a row to demonstrate proficiency and move on). The site will also feed you hints about how to solve a problem if you get stuck. I've mostly just been able to follow the hints for a few exercises and use that knowledge to solve the remaining problems until I'm proficient.
It's not perfect though. There are some problems that are designed only to drill the mechanics. These are the kinds of exercises that always turned me away from mathematics when I was still in school.
For example:
"You have 10 coins in a bag. 3 of them are unfair in that they have a 35% chance of coming up heads when flipped (the rest are fair coins). You randomly choose one coin from the bag and flip it 2 times.
What is the percent probability of getting 2 heads? Round your answer to the nearest hundredth of a percent."
The structure of this problem never changes- only the values. Once you've figured out how to solve it, the problem never changes. But if your answer is off by 1/100 or you forget to include the "%" symbol in your answer, your count is reset to zero. I burned through three evenings before I was able to answer 10 in a row. And I did it by cheating.
I'm not so good at repetitive, mechanical calculations. But my computer is. So I wrote a script that would take the values I fed it and spit out the answer in less time than I could write out each equation by hand.
I think I deserve extra credit for this.
My initial motivation for learning more math was to improve my ability to understand code. Math, like the computer, is a harsh teacher. There's no wiggle room. If your answer is wrong, you'll know immediately. (Paul Graham says new undergrads should study math because, unlike the other majors, the difficult subject matter makes it easy to spot the fakers.)
I've found working through these exercises helps me improve my concentration and problem solving ability. I have to focus and stay engaged throughout each problem. I get in trouble when I become careless: not reading the problem carefully or getting sloppy with basic arithmetic.
This is the same as writing good code. I need that extra level of focus to reason through a problem and express an idea clearly. When I got fed up and wrote the script to solve the probability exercises I didn't even have to think about what I was doing. I'd done the problem at least 50 times by hand. Translating it into a program was easy.
This has emboldened me to start working on problems on Project Euler. (The site gives you a math problem to solve using any computer language of your choice. You can take as long as you like to solve it, but it won't let you discuss the solution with any of the other members until after you've provided a correct answer.)
I could immediately "see" the pseudo-code in the first problem I tried. It took a little longer to get the correct answer, but only because I had to read up on some of the finer points of Ruby syntax. Not because I couldn't understand the math.
And this is after only 45 days of practice. I'm surprised it's taken me this long to enjoy it.