A Programmer’s Guide to Learning Effectively

Joy Ugoyah
6 min readAug 17, 2020

--

Have you ever found yourself in a situation where it felt like you had read something before, or you were sure you’d worked on a project of that particular nature before but for some reason, you just couldn’t seem to recall? Or maybe for you, it’s just that you find a new concept or area you’re exploring too difficult for you to fully understand. The brain is a very complex part of the body, it has different components that follow certain principles that make learning and memory storage possible. In this article, I’ll be sharing tips and best practices that can help make learning easier and more effective for you, improve your memory, and help you overcome procrastination as a programmer. These concepts can also be applied in any discipline at all.

Photo by Bermix Studio on Unsplash

Before I get to share the tips, let me define a few terms that can help you understand how your brain works better. When we use our brains to solve complex problems, we go through these 3 mental processes: thinking, learning, and memory, this is known as cognitive psychology. The brain has two thinking modes: the Focused mode of thinking and the Diffused mode [1]. The focused mode is the mode of thinking used when you are concentrating on understanding or solving a particular problem, it happens in the pre-frontal cortex. Think of the focused mode as a small whiteboard of focused attention where you can only write a little and then clean things off to write more. You are using your focused mode right now to read this article. The focused mode uses the working memory as you try to connect and understand a concept. The diffused mode on the other hand is a relaxed way of thinking that allows your mind to wander. It happens when you’re not concentrating on a particular task but in a more relaxed mood for instance, while you’re taking a shower or jogging, it allows access to a larger part of your memory.

To be able to master and store in your long term memory, concepts that were gathered during your focused mode isn’t something that can be done at once, it requires spaced repetition and deliberate practice. Effective learning takes a little more time, that is why procrastination can be a very harmful habit for any learner’s success. Before I share a technique that can help you deal with procrastination, let me explain more about mastering and creating long term memory. When you are trying to master let’s take for instance a formula or a new word, studies have shown giving a space of maybe 1 or 2 days before going back to repeat and recall to be more effective than just repeating it continuously in one sitting. It allows parts of your brain to make stronger and longer-lasting connections on the concept being learned, an extra tip is to randomly try to recall that concept maybe while you’re not even actively learning. Deliberate practice of more difficult problems, say a piece of code that gave you some trouble to implement is often more rewarding and helps you to avoid the illusion of competence that comes with continuously learning the easy things and thinking you know it.

Chunking is a technique that allows you to group or organize lists of information or concepts into compact packages that are easier for your mind to access [2]. As a programmer, or a learner in any course, you get to come across new concepts regularly, storing these new concepts as chunks of information in your head, and connecting it to a bigger picture can help build expertise. Most of these chunks get stored in your long term memory and your brain can, through transfer learning, apply the principles of solving a problem in one field to another field, for instance, if you are learning a new programming language, you find out that your understanding of another language gives you a concept of how the new language works and makes it easier. One easy way to build chunks is by using mnemonics that are easier to recall an example would be using a memorable sentence or an abbreviation to recall a definition or using the memory palace technique to store images in an environment that you’re very familiar with. Research has shown that our spatial and image recollection has evolved to be better than our recollection of say numbers for instance. In building chunks of information for your memory, remember to always connect them to a bigger picture or concept to give your brain context, this builds understanding and helps with recollection unlike with cramming.

Pomodoro is the Spanish word for a tomato. It also refers to a technique introduced by Francesco Cirillo in the 1980s that involved using a tomato-shaped kitchen timer that was timed for 25 minutes. It involves 25 minutes of focused concentration followed by a few minutes, say 5 minutes of relaxation. You start to procrastinate when you have a task that you dread doing, this creates a reaction similar to the reaction to pain our brain creates. The ‘zombies’ in your brain look for other temporary sources of fun like going on social media or watching a movie to take away the feeling of pain. But what if you can trick these zombies to put in just 25 minutes of concentration? I mean 25 minutes isn’t a lot, right? You oftentimes find yourself enjoying the task after some time and you can keep repeating the process. Procrastination is a habit and the way to correct it is by creating a different habit. A habit has 4 parts: the cue, response, reward, and belief [3]. To overcome procrastination, you have to take note of when the cue comes, it could be thinking about all the work you need to get done, this is the only point you will need willpower to have the right response, so instead of trying to open twitter for instance, you put your phone and other distractions away and set your timer! Thinking of the process e.g. “I’ll spend the next 25 minutes cleaning a particular data set for training” instead of the product ‘coming up with a Machine Learning model that has 80% accuracy’ can make the pain or stress that leads to procrastination less. Once you’ve taken the right response and accomplished a little, rewarding yourself with some delight can help encourage that habit to stick just like with little kids. You have to believe that this technique works to allow it to work for you and stick.

The importance of rest and exercise in learning cannot be overstated. Sleeping rids your brain of metabolic toxins that are by-products of metabolism [4]. If you’re working on a project and you encounter a roadblock that you can’t overcome even after trying out different methods, different professors have testified that leaving the problem and just going for a run or some form of physical exercise or just sleeping if it’s the end of the day already, has often had them returning to the problem with a solution or clearer picture. It is because your brain makes connections and gives you insights that were previously hidden while you were too focused. The diffuse mode is where your brain gets creative with information you have already fed it. A way to get more productive is by eating your frogs first, doing the more challenging tasks in the morning for instance.

Of course, there will be times when your motivation will be down especially if you’re learning programming online on your own. You can make a mental contrast, imagine where you’ve come from, and imagine where your studies will take you. Post pictures or words that remind you of this in your workspace. This can help boost your motivation when it gets low [5].

Learning how to learn effectively takes away the stress that plagues a lot of people when it comes to learning. You realize that you can learn anything at all, a new language, a new skill with just the right techniques. If you’ve found this piece helpful, kindly share it to help someone else learn better. This article is a project from the MOOC Learning How to Learn by Prof. Babara Oakley and Prof Sejnowski on Coursera. I’ll recommend to anyone trying to understand more deeply the Art of Learning.

Resources

[1] Learning How to Learn video resources, Dr. B Oakley and Dr. T. Sejnowski, Coursera

[2] Learning How to Learn, Glossary of terms.

[3] Learning How to Learn video resources, Dr. B Oakley and Dr. T. Sejnowski, Coursera

[4] Learning How to Learn, Glossary of terms.

[5] 10 Rules of Studying, excerpted from the book A Mind for Numbers by Dr. Barbara Oakley

--

--