||[Jun. 13th, 2005|11:39 pm]
My work computer churned out 16,000 runs of the game this weekend, so I had enough data to figure out how to balance the hazard scores properly today. Got a bunch of stuff tweaked, left it running more for tomorrow so I can compare the changes.|
I did lots of probability calculations today. Probability is such a useful thing to understand, and important to so many disciplines, that I'm surprised it's not taught more widely in highschool. I'm really glad I took Prof. Rota's probability course my senior year at MIT. (Although, most of the other students seemed to have had at least a little bit of exposure to it, so maybe it's just my secondary education that was totally lacking.)
Today's I-hate-java rant: whoever thought that we still needed to have both floats and doubles as a core part of the language needs to be beaten with a stick. There should be integers and non-integer numbers, and if anybody needs something more complicated, they should use a special package that lets them decide how many bytes of memory to use to represent each number. Compiler errors that claim no matching signature could be found because "0.2" is a double and not a float fill me with homicidal rage.
Probability is not taught enough in high schools because mathematicians have somehow convinced themselves that preparing people for calculus is essential.
Ironically, many places have now changed their curricula so that 2nd-tier students are exposed to probability, but the top-tier ones are still put on the calculus train.
On the rare moments that I do an integral, I do it in Maple. But I do probability calculations essentially constantly.
I think the core concepts of calculus (derivatives, area-under-the-curve, etc.) are very important, but you're right, the details of particular integration techniques? Not so much.
Maybe that's what we really need: a math curriculum dedicated to teaching the core concepts of calculus, probability, linear algebra, differential equations, etc., with the assumption that if you want to know the details of how to solve any particular problem, you'll look it up...
My high school requires the Statistics and Probability course for students to graduate. Unfortunately, I didn't learn anything from that class.
A few weeks into the course, we did the thing where everyone gets a packet of M&Ms and creates a color distribution. That's all fine and well, but I'd done that before... in third grade.
On another day, late in the class, I was sitting with two friends. Between us, we'd had 6 semesters of calculus at CU (which is part of why the class was so painful). So the teacher said "Today we're going to talk about logarithms. Trevor, would you like to explain logarithms?" I stumbled about a bit, since I wasn't prepared to teach class that day, but between the three of us we conveyed more information about logs than the teacher could.
My friend and I spent much of that course fixing the computers in the lab so that Excel would work for everybody. It's a good thing we took it together, or the snarky remarks wouldn't have been nearly as fun.
I think the core mistake was deciding to still have primitives at all, instead of making EVERYTHING an object. But that probably would have been too big a leap for the C++ programmers java wanted to convert.
My introduction to Smalltalk made my head hurt for precisely this reason. But once I reached a state where it made perfect sense that loop-iteration was just a method defined on the number class, I was spoiled for all these other languages that claim to be OO.
It's not just you... I had no significant introduction to probablity before college, and even now I have only the most tenuous grasp of the tools for fiddling with it.
It's all just clever ways of counting things up and dividing by the total. The only hard part is figuring out what the right way of counting is.
Sure, but some ways are faster than others.
And things like analyses of variance are best not rederived from first principles.