Being an engineer means embracing lifelong learning. That's why taking a closer look at your learning methods and taking steps to improve them can help you become a better engineer.
The following is a summary of techniques that can help you master the material you're studying in a shorter amount of time - taken from the course Learning How To Learn on Coursera. I do highly recommend the (free!) course to get a better understanding of the concepts and how they fit together.
Scroll down to get an example of how to apply those techniques to studying data structures and algorithms.
Switch between focusing on the material you're learning (focused mode) and taking breaks where you focus on something else or where your mind gets to wander around (diffuse mode, e.g. going on a walk/run, cooking, playing, relaxing, taking a nap, etc.)
❗️Alternating between focused mode & diffuse mode thinking is crucial for understanding difficult material.
❗️You can use the Pomodoro technique to help you alternate between focusing on the material, and taking regular breaks.
Once you understand the material, you have to commit it to your LTM to achieve true mastery.
Committing material from your Short Term Memory (STM) into your Long Term Memory (LTM) takes time, which is why tackling procrastination is of the highest priority. Overcome procrastination by focusing on process vs. product (e.g. by using the Pomodoro technique).
❌ Just wanting to learn the material and spending a lot of time with it doesn't guarantee that you'll learn it.
❗️Avoid the illusion of competence by using the following techniques:
- Be aware that saving something in your LTM will take time. Be patient with yourself.
- Deliberately choose to practice what you find most difficult to grasp until it clicks and sticks.
- Spaced repetition
- You need to repeat the material spaced over days and weeks for it to get safely stored in your LTM.
- Avoid the illusion of competence by continuously testing yourself on the material you're learning.
- Close your book and try to remember what you just learned.
- Practice recalling in various locations to be able to access the material no matter where you are.
- Try to recall the material one more time right before going to bed.
- Does not only make you more beautiful but also flushes out toxins from your brain and strengthens the neural pathways you create when you learn something new.
- Tap into your visual memory system & senses
- Your visual memory system is extremely powerful and can be used to save knowledge in your LTM in a shorter amount of time.
- Make a metaphor/visual image for the concept you're learning.
- Use the memory palace technique to place the image into an imagined space/house/village.
- Try to use your senses to memorize it if possible (vision, smell, touch, hearing, smelling).
- Create chunks:
- Start small with mini-chunks, little by little.
- Connect the mini-chunks into more complex, bigger chunks through practice & repetition, and by using big-picture thinking.
- Use interleaving to learn when you should use a certain technique/concept and to enhance creative thinking.
❗️At all times:
- Alternate between focused mode & diffuse mode.
- If you struggle with procrastination, use the Pomodoro technique.
- Make sure you sleep & eat well, and get regular exercise.
1. Step: Get an understanding of data structures and algorithms by going through a course, reading books, and taking notes. Vary the sources you're learning from to enhance your understanding. Here is a list of courses:
- Data Structures and Algorithms Specialization, University of California San Diego
- Algorithms, Part 1, Princeton University
- Algorithms, Part 2, Princeton University
- Algorithms Specialization, Stanford University
- Data Structures & Algorithms, Udacity
2. Step: Write index cards from your notes with important facts. For example:
- "List all searching algorithms"
- "What's the Dijkstra algorithm"
- "What is the time & space complexity of binary search"
3. Step: Recall & deliberate practice.
- Use your notes & index cards to test yourself repeatedly, spaced over time, until you remember all the facts.
- Recall the material one last time before going to bed.
- Recall material at various places, e.g. when commuting, at a cafe, in a different room, etc.
- Deliberately practice material that you find difficult to grasp by doing exercises. My preferred way to practice is using the following resources:
4. Step: As you build a library of small chunks of knowledge, take a step back and try to understand the big picture of everything you've learned so far, and how things are connected.
👩🏻🏫 Repeat Steps 1 - 4 until you are a master in data structures and algorithms.
Using scientifically proven learning techniques can be tedious and time-costly if you're not used to them. But as you keep practicing and applying these methods to everything you're trying to learn, you'll save a significant amount of time in the long run and will be able to achieve true mastery in your chosen field of study.