Its the best website you’ve never heard of.
Originally I had planned to do an update on TREMBLE, my SPU loop pipeliner and optimizer. I added some cool new features like multi-implementation odd/even pipeline balancing macros and a GUI for people to play around with. However, since I am pretty tied up with SIGGRAPH presentation issues at the moment, I am going to take the easy way out and write a short article on something very near and dear to my heart.
We all know some programmer that knows nothing about math. If past experiences are indicators, we know him extremely well because he is us. Most programmers I have known (myself included) just didn’t take a lot of math in school, or took some math class and 3 seconds after the class ended they instantly forgot all the meaningless formulas they memorized. The way its taught in school, math just didn’t seem that interesting / relevant to programming. Unless you’re bob, alice, or some dude talking about global illumination and raymarching fractals, you can actually get quite far in the industry not knowing how to factor polynomials, convert log bases, or do algebraic simplification. However, just because you can get by without it, doesn’t mean you should strive to continue your ignorant ways, or miss out on the benefits of training yourself to think about things in alternate ways.
Enter Khan Academy. I don’t know whether to call it a video site, school, a system, or a way of life. At its core, its one person making thousands and thousands of videos on subjects like biology, chemistry, cosmology, physics, economics, math, and programming. The thing that sets the videos apart from other educational videos is Khan’s focus on intuition and understanding the why more than the how. Anyone can give you a formula to memorize, but Khan gives you the understanding of why the formula is what it is, so that if you ever forget it you can reason out what it should be. This gives Khan academy videos that sense of wonder that only comes from a really cool concept suddenly snapping into place.
Furthermore, there is a really cool practice system in place that ties into the videos. Its a google maps navigable tree of exercises you can make your way down, and a sidebar that suggests exercises for you to try based on videos you have watched. If you have trouble answering a question, it povides a link to the relevant video so you can brush up without breaking your question-answering streak. It even has a little scratchpad area you can scribble notes on off to the side. There is even a coaching section where teachers can add students and students can add coaches. That way teachers can track their students progress and adjust accordingly when in the actual classroom.
And of course most near and dear to our hearts is the metagame. You get points for watching videos and doing exercises, and there is even a trophy system (called “badges,” because trophies is too PS3-like?) where you are given various awards for doing things like watching a certain number of videos, answering a consecutive number of questions correctly, and other fun stuff.
I’ll now close with a list of stuff I love about Khan academy
0) If there is ever something you’ve been curious about or wanted to learn, this is the way to go! Everything is explained in a very easy to understand way, and if there is some prerequisite concept you need to understand the video, you can go watch that video as well
1) Sometimes people lose concentration in class. If you nodded off for a second and missed some important piece of information, its embarrassing to ask the teacher to go back and repeat it. With Khan academy, you can just back up a little and rewatch, or pause while thinking about whats being said to make sure you understand.
2) Khan is human. He makes up examples on the fly, screws things up, makes mistakes, and later on has to make correction videos. Its really an amazing example of someone who is really smart and really good at math, and yet isn’t perfect. Its makes you feel less discouraged when you, yourself, screw up.
3) The metagame is kinda addictive. If you look at the screenshots above, I have badges for doing addition and subtraction exercises. Its not because I was unsure of how to add negative numbers, but rather I was trying to catch up to @kalin_t’s score
4) Even if there were no practice exercises, badges, or anything else, the intuition you get from the videos is priceless. It is really empowering to understand the why instead of just memorizing the how, and that feeling you get when everything snaps into place is just indescribably cool!
So, thats it. Get your ass to www.khanacademy.org and start sucking less (or using your newfound knowledge of cosmology to impress girls at parties!)
PS… don’t judge me for the small number of watched videos listed in my profile. I watch them every day at lunch and I’m not signed in 90% of the time :)