David Seah
by David Seah

Tags

  • learntolearn
  • programming

To be honest, my programming skill is not that great, especially solving algorithm programming questions. One reason is that I don’t really need to solve alot of algorithm on a day to day basis. Another reason is that I just simply don’t have a good enough strategy to be better.

I have been watching this competitive programmer on Youtube and in one of the video he mentioned on how to get better in competitive programming, which is to focus on solving problems than just reading. The rule of thumb is that you should spend 90% solving problems and 10% just reading.

The more you solve the better you will be. It is just as simple as that. Also, when you are stuck, don’t spend too long on thinking on how to solve it. Instead check the solution and work on understanding and implementing them. The more questions you solve, the easier things will get.

Also, I don’t have a good memory. I tend to refer to how the language works by searching the web for the API guide. Not that this is bad, but it doesn’t gives me the confident on my programming skill and there will be times that you are not able to use the internet, especially in an interview, To combat this issue, one thing I learned recently is to simply use active recall. Before you search for a solution, first come out with an answer first. Then if it is not working, then check. Active recall and repetition are important elements of knowledge retention.

There is a saying that I read somewhere, you have no learn something if you don’t remember them.

The reason why my memorising skill is bad is because of my growing up years, where there is a shift in thinking in terms of how one learn. Before me learning is mostly memorising, and they want to shift from memorising to understanding. This is true as there is no point memorising without understanding. But I took it to another extreme, where I don’t memorise anything. So anything is just based on pure understanding. But the truth is that it is also important to remember things. Furthermore, your brain is easy to trick. It will pretend that it understand something but actually does not. The best way to know if you understand something is to test yourself, not just once, but again and again. So that the brain knows that it is something important and it should build connection and retain the information.

Right now I am trying to improve my programming skills. Instead of reading C++ books on how the language works, I will solve questions regularly. And if I am stuck, I will first try to attempt to recall and solve it first, then refer to it later. And also not just solving it once, but multiple times. This way, my brain actually recalls and build connections. The more I do this, the more connections I will build and hopefully the better I will be.

To sum it up, to be good in programming, instead of studying design patterns, algorithm, language features, find problems and start solving it. And if you are stuck, find the solution and learn from it. Use active recall regularly to test whether you truly understand and able to recall the knowledge.