If I had to start learning Python again, I would do it differently.
Back when I was a Psychology undergraduate student, I started studying Python with Coursera's courses. I watched and rewatched videos until I gained some familiarity, fluency, and understanding of the concepts.
"I learned Python, yay!" I thought.
Well, not really. When I took my first programming test, I realized I didn't know how to code. I stared at the computer trying to figure out how to start writing the first few lines.
This is the modern illusion of learning.
So please, don't learn like I did. Do this instead.
How To Learn Coding Effectively?
Let's start with what I mean by learning effectively.
Learning is about linking information from your short-term memory to your long-term memory. Rereading and rewatching, for example, gives you some fluency in the concepts you are studying, but they "save" that information in your short-term, working memory.
This is why you think you learned something when you didn't.
This is the ineffective way to learn something. In contrast, effectively learning how to code, for example, requires you to retrieve the information you are studying.
In other words, it requires testing yourself and applying what you learned.
- If you want to learn how to play an instrument, play the instrument.
- If you want to learn how to play football, practice football.
- If you want to learn how to drive a car, practice driving a car.
- If you want to learn how to program, code.
Learning Coding Like Learning How To Drive
A few weeks ago I learned how to drive a car for the first time.
Before my first class, I watched some videos and read the basics of how a car works and how to drive it. Of course, this was useless without practicing with the real one.
The same applies when learning how to play an instrument.
You can learn the technical stuff of how to play a guitar, like the scales, notes, etc. Once you have the basics, you start learning some of your (easy) favorite songs. At that moment, you are applying retrieval.
This is effective learning.
Although these examples are silly, I've met many students learning like this. They sit, watch, and rewatch courses until, somehow, they learn programming.
The takeaway is that without coding you will not learn programming.
Some Projects For Beginners
- Code A Quiz.
- Code The Snake Game.
- Desktop Cleaner.
- Data Analysis App with Streamlit.
- Web Scrapping Hotels Data (advanced).
Check 5 Python Projects to Boost Your Skills in A Weekend for a detailed description :)
Lastly, here are some tips to practice retrieval. You can apply this to anything you are studying :)
Tip 1: free-recall
- Close your book or switch your window.
- Recall what you learned so far (without looking at your book).
- Get feedback from the right answer.
- See what you know and don't know.
- Repeat.
Tip 2: flashcards
- Create flashcards from your material.
- Answer the questions honestly, without looking at the correct answers.
- Test yourself and get feedback.
- See what you know and don't know.
- Repeat.
Please, although projects are crucial to learning effectively, don't skip the technical stuff like algorithms or logical thinking.
That was another mistake I made.
Good luck in your learning journey!
Ways I can help you:
- Subscribe to my new free newsletter The Super Learning Lab.
- Stay tuned for an upcoming free learning ebook and an email course!

My Top Learning Articles:
- Learn Anything With Ultralearning
- The 9 Ultra-learning Principles In A Nutshell
- How I Learned German in 2 Months For Free Using Ultralearning
- Make Learning Your Superpower
- Stop Reading Books Without Doing This
Thanks for reading!
See you,
Axel