Some Thoughts on Teaching Math and Computer Science

Two unrelated thoughts about teaching math and computer science that I came across today.



Tau the line


First, today is π day, celebrate mathematics and the beautiful wonder of nature!  But could π be...wrong? π of course, is the ratio of the diameter of a circle to this circumference and a snazzy number to throw out in Divinci Code-esque thriller novels.  It has an air of magic and mysticism which mathematics is actually full of.  But only a few such numbers and equations break through the collective consciousness to the general non mathematical public: π, E=MC²,  imaginary numbers

So that's why tau manifesto is so interesting. It's a very well written and entertaining piece about geometry, history and π. It lays out the case that π is actually not the most natural number to use for circles. It's not that π i

s wrong, its that its awkward and that in fact τ, pronounce 'tau', is actually more natural.  τ is simply π times two.  This simple change actually simplifies a lot of what was tricky about advanced geometry in highschool and it has implication for how formulas are written in many fields of science given that π shows up in a lot of equations about the working of the universe.  So, after reading the whole thing, I'm a believer, if only for how it might make teaching geometry a little less painful for students. So while Pi Day is nice, on June 28 I'll be celebrating Tau Day too. And like the author says, if you enjoyed the baked pie on Pi Day, you'll love Tau Day, it has twice as much pie!

Big-O No!


The other teaching topic I thought of today is probably one someone has already done.  If you are a computer/physics/math nerd you owe it to yourself to be addicted to the great XKCD webcomic. It's really got some great stuff and almost all the jokes or comments require some significant knowledge of math, programming, statistics or science.  When teaching computer science it is very easy to get separated from the reason we are teaching various theoretical concepts, algorithms and analysis techniques. It usually can be grounded down to preparing students to be better programmers or modellers or to give them the grounding needed to understand other courses later on where they can get computers to do truly cool things.  However, it's often difficult to make that connection for students before they actually know how those cool things work

But how about these learning goals? They are fun, easy to evaluate and provide clear goals to students in that they are total gibberish before the course and funny jokes afterwards.

1) After successfully completing this course on optimization you will...understand why this is funny.


And be able to explain why its funny, or at least supposed to be funny.  We won't deduct marks if you don't laugh, but we will judge you :)

2) After this course on complexity theory you will understand why the following comics are funny:


3) Unix Tools:



I'm there are lots more. If you can think of one put it in the comments <XKCDNumber> : <Course Topic>