When I was in school I always had problems with math.
I always hated it, I never understood it, and I always kind of hoped that I'll pass any math exam I had even though I knew very little formulas and theory.
And I was like that despite the fact that I took extra classes for years. For some reason, I never liked math (or, better said, I never liked the way people taught me math, as you'll see soon). I remember going to all kind of teachers, at their home, once, sometimes twice a week, to take extra classes, just so I can keep up with the rest of the class.
Somehow, I managed to go through elementary school, and even through high school with my narrow understanding of mathematics, but everything turned bad when I realized that I soon had to take my final high school exam, and that I couldn't pick something other than math.
After a practice session in which we all took a "fake" test in order to see how well we do, and after getting 3 points out of 10, I decided to find another teacher, outside of school, and again, take extra classes.
A colleague of mine was already going to a teacher he really liked and, running out of options, I asked him if he could ask the teacher whether he would allow me to also come to his private lessons, hoping I can learn something and actually pass the final exam that was quickly coming our way.
If you want to read about the entire story you can do it here because I already wrote an article about it a while ago.
The most interesting part was the way that teacher taught us math. He did not bother with trying to make us memorize formulas or theories. He probably knew we wouldn't do it, because if we did, we wouldn't be there. What he did instead, was to take books with math problems, and solve them with us.
Every formula and every theory he used was explained while solving the problem, and he never really asked us to memorize anything. We would go to him once a week, for two hours, sometimes even more, and we would only solve math problems. Sometimes, when the problem was a bit too hard, we would simply write whatever he wrote, copying everything word by word without understanding anything.
At first, it seemed strange, and I didn't feel like I was learning anything. But in time I realized that his method was actually quite effective.
You see, humans are very good at recognizing patterns. And, from what I remember, the mathematical problems that we had to solve all required pretty much the same formulas again and again, with some variations, in order to be solved.
By actually solving the problems, we figured out, on our own, what the formulas were, and how to apply them. After that, we began remembering things ourselves, without actively trying to memorize anything.
He then started giving us homework and to our surprise, we actually managed to solve some of the problems he gave us. And not only that, but when we didn't understand something, we actually went to him and asked, trying to figure out why something didn't work the same way it always did. That never happened in class.
I thought about this type of learning recently, and I decided to try it again.
As you might've seen, yesterday I posted a short "article" talking about a small project I worked on in which I created a background featuring crystal-like shapes that I created using code. To do that I followed a tutorial series made by someone on YouTube. You can see the article here.
To my surprise, it worked. Not only was I able to keep up with him and with the explanations, and copy his code as he wrote it, but I actually learned a few new things about programming that I didn't really understand before. I actually understand OOP (object oriented programming) a bit better because of his tutorials.
I used the same "strategy" that has been taught to me years ago by that teacher. Instead of worrying too much about memorizing concepts and knowing everything before starting, I just started and figured everything out while I watched someone else work, and while I copied their code
This is a really great way of getting out of the frustration loop that we sometimes get stuck in when we're trying to do something new, or something unique, and we can't, because we feel like we can't learn anything more complex than what we already know, and that we're stuck with only knowing the basics.
One of the simplest way to get past that type of frustration is to simply start doing something using those complex concepts that you don't yet master. Follow a tutorial, or copy someone else's code, multiple times. At some point, you'll start recognizing some sort of a pattern that keeps appearing, and sooner or later you'll be able to figure out where that pattern must go in order to get the desired result.
Soon, you'll also understand how the pattern works, as you'll get more curious and you'll learn to ask more specific questions about what you don't know.