I saw a thread the other day about how kids are learning ridiculously tedious methods to do math and it got me really thinking about how flawed the
overall way we teach math actually is. Back at school mathematics was actually my worst subject because the way it was taught just didn't seem to
click with me like it did for some other kids. I was always terrible at remembering the multiplication table and it always seemed like useless
information to me because I could just use a calculator. And a lot of the time the methods they'd teach us were unnecessarily complicated. Even though
I was terrible at math I had an odd sort of intelligence. I remember one time in primary school when we were doing geometrical problems, I suggested
to the teacher a much easier and quicker way to solve the problem, and he was completely dumb founded.
Now I'm a programmer and I've done things like create a crude 3D graphics engine from scratch, which involves a lot of math. I still cannot remember
most of the multiplication table though. The reason I can do stuff like that is because I have access to a thing called the internet, and when I need
to know something I don't know, I can just look it up and find all the information I need. I'm not going to remember every physics equation in my head
when I have almost instant access to it whenever I need it, especially since I will most likely never need to use 90% of those equations in practice.
I also have a thing called a computer which can perform calculations billions of times faster than I can do them in my head. The most important thing
is that I can understand new concepts and convert those ideas into algorithms, that's where real intelligence is required.
When you think about it, mathematics is a language, and it's actually very similar to programming languages, because both are based on raw logic. When
you write an algorithm it only does exactly what you tell it to do because the rules are explicitly defined just like in mathematics. However,
mathematics is actually more limited than a typical programming language. For example, in most programming languages, I can do things like dynamically
allocate memory and then come back and read or update the memory at a later time. I can reuse code with the use of functions and I can even create
custom classes in object orientated programming languages. It's not clear how to do many of those things with the language of mathematics, and when we
try to do those things, the equations become a complicated mess which only mathematicians can understand.
Those same equations can often be written very simply in powerful programming languages and they are much easier to understand. One reason is because
there are numerous sub-fields of mathematics, each of which often use the same symbols in totally different ways, so in order to interpret the
equations, you need to know what field of mathematics the equations relate to, and even the personal tastes of the person writing the equations. We
don't get those sorts of fuzzy definitions in programming languages, when you write some code, others will know exactly what it is supposed to do by
reading the code. The round() function will always round a number to the nearest integer, etc. Also, it's much easier to conceptualize complicated
programming code than it is to understand complicated math equations.
If you can understand what the code is doing then you can understand the flow of information and the way the algorithm solves the problem. For
example, I'm a fan of cryptocurrency, so I've taken time to understand how it works. I understand the algorithms involved and how they work together
to produce a decentralized money system. I can actually conceptualize it inside my mind, I can see how the different parts function and how they
interact with each other. If Satoshi had of tried to describe how Bitcoin works using only mathematical equations it would've been a nightmare for him
and nearly no one would understand exactly how it works. It would be impossible to conceptualize if you were trying to understand it with only
equations.
Like I said, the real trick to being intelligent is being able to conceptualize complex systems. If you can picture how it works in your head, then
you can write computer code to simulate your ideas. In fact, in the field of complex systems, the systems being studied are so complicated that it's
often impossible to develop equations which describe the behavior of the system. However it turns out that we can often describe complex systems
through much simpler rules of interaction which are easy to conceptualize, and we don't need a single equation to do it. For example we can model a
flock of birds or an ant nest just by understanding how the birds or the ants interact with each other. We can find simple interaction rules, and then
use those to create simulations.
The result is that the complex behavior, or what we thought was complex behavior, will often naturally emerge just from those simple rules. The flock
of birds will start doing very complicated things as a group, even though the rules dictating the behavior of each bird are not that complicated. It
is easy to conceptualize such behavior when you think of it like that, and it's easy to implement those models in computer code without needing to be
good at math. This is the core reason you'll often hear many programmers who say it doesn't really matter whether you're good at math or not. Of
course it helps to have a wide knowledge of different mathematical concepts so you can create innovative and efficient solutions to problems, which is
what math education really needs to focus on.
I now understand many complex mathematical subjects which I was never taught in school, including things like imaginary numbers, linear algebra,
probability theory, information theory, etc. And now I'm much better at math than pretty much anyone I know, even though I still don't know most of
the multiplication table. And it's because I simply took the initiative to research those subjects when I needed to. If I forget a specific aspect of
anything I can just go look it up again when I need it, but I'm unlikely to forget if I understand the fundamental concept instead of just remembering
it. The human brain much prefers to remember information we can imagine/conceptualize as something meaningful, it doesn't like remembering raw data.
This is how a lot of memory techniques work (eg turning a list of words into a story).
In conclusion, I think the way we teach math today is quite obsolete and hasn't advanced much since we started teaching it in schools. We need to
place more focus on understanding the concepts involved rather than being able to remember a bunch of useless numbers or equations which take up
precious space in our head. Children are not drones who can just have endless streams of data shoved down their throats and be expected to regurgitate
any little factoid on demand. They will enjoy the learning experience a lot more and get more out of it if they weren't taught in such a bland and
unimaginative fashion. I understand it wouldn't be the best approach for all children but I feel like there are many kids like me who have hidden
potential but they are repelled by the way math is presented to them.
edit on 6/9/2015 by ChaoticOrder because: (no reason given)