People hate math formalism because it only makes sense if you already understand it.
And that's incredibly frustrating for both sides of the student/teacher relationship.
This article, and your comment, reminded me of 'Math Class (Imagined by Kids)' http://www.youtube.com/watch?v=KdxEAt91D7k (2 minutes long)
def teach(something):
lesson = None
// Aye, there's the rub...
if knowsHowToTeach():
lesson = createLessonForSomething(something)
else:
lesson = teach(something)
return lesson