Forgotten Draft Blog Post from 2013

conversation started from talking to jayson one weekend:

i guess it is nice to know that to realize that after taking core classes for so long, i can finally take some advanced cool classes that exposes you to very different ideas.

there’s some problems with learning hard abstract things like math:

to say the very least, we’re not very good at it because our brains weren’t evolved for abstract thinking. (I suppose you could say Flyn effect is now our evolution towards brains that can be do more abstract thinking)

so often times, we don’t really understand what’s going on so sometimes you don’t understand it until you’ve worked with it a lot.

the way i think one best learns hard mathematical notions is that we start with the theory. we try to get a fuzzy understanding of it. once, you feel like you can’t understand anymore from looking at formulas and theorems, go do a lot of problems. as you do the problems, you’ll see how this mathematical object behaves in different scenarios, then you’ll see more of the picture. you’ll see the edge cases as we call it in cs. In general, start with a fuzzy idea and then slowly clear out the blurry parts by working with examples.

this short article has the same views. A short synopsis of the article:

Theorem

Understanding can come only after procedural mastery.

Reasoning

Certainly my own experience is that conceptual understanding in mathematics comes only after a considerable amount of procedural practice (much of which therefore is of necessity carried out without understanding).

I can’t imagine how one could possibly understand what calculus is and how and why it works without first using its rules and methods to solve a lot of problems.”

How many of us professional mathematicians aced our high school or college calculus exams but only understood what a derivative is after we had our Ph.D.s and found ourselves teaching the stuff?

Now, the first skill therefore we need to have before tackling advanced math is that of procedural mastery, or mathematical language manipulation.

Procedural mastery of mathematics as a language – it is, after all, the language of science, as Galileo observed – and the ability to use various mathematical tools and methods to solve problems that arise in physics and engineering. Since even first-year physics and engineering involve use of tools such as partial differential equations, there is no hope that incoming students can have conceptual understanding of those tools and methods. But by a remarkable feature of the human brain, we can achieve procedural mastery without understanding. All it takes is practice. One of the great achievements of mathematics over the past few centuries has been the reduction of conceptually difficult issues to collections of rule-based symbolic procedures (such as calculus).

Thus, one of the things that high school mathematics education should definitely produce is the ability to learn and be able to apply rule-based symbolic processes without understanding them. Without that ability, progress into the sciences and engineering is at the very least severely hampered, and for many people may be cut off. (This, by the way, is the only rationale I can think of for teaching calculus in high school. Calculus is a supreme example of a set of rule-based procedures that can be mastered and applied without any hope of anything but the most superficial understanding until relatively late in the game.

I feel like the general unspoken rule in mathematical teaching is that for sufficiently complicated examples, you can never fully understand on your first try. So every time you learn it, it’s just an introduction to the next time you learn it.

But then there’s sort of larger problem. Learning technical subjects in university is hard business. It involves being a slave to your classes and homework (more about this in another post) and we can’t expect to fully understand it until many years later. So it seems to me that taking advanced math doesn’t really pay off until you take grad school. But by the same logic, unless you take math classes in university, then all the math classes you took in high school were somewhat useless.

But I think the rule of thumb is this.

Assume you’re the dumbest kid in the class and it’s ok. If you want to learn it, then work hard and try your best. But at some point, you can give up. No one is going to fault you for doing so.

And if it’s hard for you, it’s usually hard for other people too.