Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> It was very operational, you calculate, you manipulate concrete data

it's interesting that some academic approaches focus on the theoretical framework and conceptual depth, with the underlying assumption that the student would "get" it once the fundamentals are understood.

The other approach, mostly in the asian schools, teach rote and speed in mechanical/mental manipulation. For example, a student would do 1000 quadratic equations, mostly by rote using substitution into the formula. That constitutes "teaching" of the quadratic equation.

But in the end, who learned more? Not sure. But i do believe that being able to manipulate numbers very quickly leads to a quality of its own, and can make understanding harder concepts easier.



In fact, the Soviet approach also emphasized solving problems. There are books entirely devoted to problem sets, and there are other books devoted entirely to theory. My grandfather was a Professor of Mathematics at Moscow State University before we emigrated, and as I was growing up, he would always stress that it does one no good to just know about swimming if you can't actually swim. The people who learn the most are the ones who have competency in both theory and application. To get that competency, you alternate between focused practice in one and the other, just like an athlete alternates training different muscle groups.


The rote learner learned nothing more than the ability to regurgitate a mechanical process while the academic learner learned understanding, in my view. You have to work through some examples to solidify it but that should be totally secondary to understanding the meaning and concepts. Like a physics teacher of mine put it, rote math learning is like teaching sea lions to honk horns for fish - students give the right memorized answer and get the grades without really learning anything.


In my experience, it's easy to think one has understanding without actually understanding. The process of applying that tentative understanding to a problem to test it is essential to figuring out what the flaws are in the tentative understanding so that real understanding can eventually be achieved. Once it gets to the point that a person can crank through problems without significant errors, then I think further problems don't do much good except as an occasional refresher.


Hence the importance of word problems, I think. They force a synthesis of abstract and concrete that really tests/enhances understanding on all levels.


Everyone can learn to solve equations quickly if they’re forced to do it 1000 times. They might forget it the day after the test, the might not know why they’re doing anything, but you can be damn certain you know what you’re doing if just for that brief window in time.

It’s also clear if you’re succeeding or failing. I’ve noticed that private school parents in the US seem to hate homework. The kids get three optional problems a week and no tests. All the time that they might’ve spent thinking on their own about problems is instead spent in class, which really limits how much new stuff can be taught. The kids think they know everything because there are no grades. The kids that actually perform at grade level have private tutors giving them homework, while the rest are just playing fortnite and unable to do fractions.


> They might forget it the day after the test, the might not know why they’re doing anything, but you can be damn certain you know what you’re doing if just for that brief window in time.

What was the point then? It's a complete waste of time in that scenario.


Applying reasoning to a similar but more familiar domain is a good sanity check for said reasoning. Let's then apply what you said to programming. Would you say that the "academic learner" who read a lot of CS and programming books but haven't written a single program on an actual computer learned understanding, while a "rote learner" who keeps going through hundreds of small programming exercises learned to "regurgitate a mechanical process"? Doesn't pass the sniff test to me.

The way I see it, doing the thing gives you ample opportunity to figure out theory on your own - repeating a menial task prompts the brain to invent shortcuts. Meanwhile I can't imagine someone learning only theory to not fail spectacularly at practical tasks - because theory doesn't capture everything; there are lots of practical, intangible things that crop up when you start doing the work. On top of that, it's easy to feel you understand something without actually understanding it.

The best way, IMO, is what philipov's father said - you have to alternate between theory and practice. It's how you can build understanding faster while continuously validating it.


I did say you need to do some exercises, just not an extreme amount or at the expense of theory. And these math exercises are different from programming - they amount to applying some process to different numbers over and over again while at least there would be some degree of problem solving if you wrote a bunch of genuinely different programs.


>But i do believe that being able to manipulate numbers very quickly leads to a quality of its own, and can make understanding harder concepts easier.

Can you elaborate on this? Are you supposed to introspect while you're applying the quadratic formua 1000 times? How does being able to quickly add/subtract/multiply/divide help you better understand abstract concepts?


In my experience, those rote mental muscles mean that the basics are never slowing you down when tackling a harder problem. It's comparable to having a perfectly organized toolbox vs a mess of tools in your shed - you can do the same things, but you're free to focus on the core of the current task instead of distractions in the trivial parts.


This is precisely it. I have a math-heavy job and play/write music, and the same phenomenon plays out in both situations: when reading sheet music or thinking in music theory is in your muscle memory, your entire conscious mind can focus on the actual, creative task at hand.

This should be obvious from any number of examples, from driving a car to typing as a programmer. Reducing the friction between your brain and your tools simply makes you more effective.


It's very interesting because in the examples you described (music and programming at least), I sometimes feel limited by the tools I know.

I studied music theory for about 5 years more than 10 years ago and remember some of it. I like to compose music and sometimes like you said I'm really losing a lot of time/energy because I don't master the basics. Yet some other times, I don't even think about music theory and let my inspiration go - and it's often better quality.

I find this effect to be true in programming as well. I find myself restricted by the frameworks I know and sometimes my mind can't think outside of it.


Yes, we can easily experience this by writing code in an unfamiliar programming language, or playing tennis left-handed. The theory is all there, but the muscle memory is missing.


This might be controversial but this is why I like Python a lot. It just allows me to think about the problem without wrangling with syntax.


I really dislike dealing with large engineering systems in Python, but I fully agree when I just need to solve a self-contained problem and don't need to worry as much about it being maintainable or readable (or more accurately, don't need to worry about interacting with Python code that other people have written). I currently work a lot with both Python and C++, and I find myself occasionally trying to write C++ Pythonically and it's a huge headache (eg map/filter or list comprehensions are infinitely more readable than stuff like std::transform).


Note that I don't mind conceptual depth. But if you fail to bootstrap then you're stuck. Calculation kinda helped me connecting the notation with simpler things and bring back confidence and gradual progress




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: