This isn’t exactly about software development. It’s about learning in general.
Do you ever get the sense that an awful lot of what they teach you in school doesn’t really make sense? Like you don’t see the point of it?
Who knows why they learnt calculus? Or types of rocks? A paltry few, I bet you. And yet there surely must be rhyme and reason to these things. Only we’ve been taught to never wonder what it might be.
Take pi, for instance. 22 out of 7, they told us. Approximately 3.142. Ahem!
So what? And how even? Who says the teacher didn’t just pull that number out of the thin air. And why should we care, anyway?
Ah, I see now, π x d. The circumference of a circle. That’s useful. Quite useful.
But wait a minute, it still doesn’t say what pi really is or where pi comes from. Pi, you can’t be that mysterious now, can you?
Or maybe we don’t really need to know. Doesn’t sound right.
For one thing we might forget the value of pi when we most need it. But couldn’t we always look it up in the textbook? Or ask Uncle Google? He knows everything, after all, doesn’t he?
No reason to worry.
Unless of course there is an earthquake and all the textbooks get buried under the rubble, along with your computer and your math teacher, God forbid – and you survive, somehow. But maybe then π, or the circumference of anything, will be the least of your worries.
Strong case for never needing to ruminate too much about this pi guy, huh?
Which is tragic, because pi is such a profound idea. Really, it is. Think about the guy who might have discovered pi. In those days they would probably place a string around a circle to workout it’s circumference. And he placed his string on one circle – and measured. Then on another – and measured. Then on yet another – and measured.
A pattern. He saw a pattern. A relationship.
For every circle of circumference c and diameter d, there existed an interesting relationship between the two. Aha, if you divided c by d for any circle, you got the same magic number! 22/7. 3.142. Pi.
Who needs the string anymore?
But it’s more profound than that. Think about the many lessons this teaches. It demonstrates how you could generalize through experimentation. It also introduces the idea of ratios between quantities and why they are important. Not to mention that it virtually eliminates any need to ever memorize the value of pi. All these skills are very transferable to other problem domains.
Yet your teacher likely didn’t teach you any of this, or even encouraged you to wonder why it is. And many more concepts we fail to appreciate fully.
Shallow. Hollow. Regurgitation of knowledge. Chewing cud. Sheepish, even.
Any wonder then that school ends up creating such poor problem solvers? So much content, yet not the foggiest inkling how it fits in the grand scheme of things. Not the flimsiest idea why we should care.
This thinking, this question, why should I care, I think, should help us all make better teachers and even better students of everything, software programming included. Next time your lecturer introduces a new course, ask him what really is the point of it and why you should care at all. Maybe you shouldn’t. Just saying.