Greatest technique to learn any programming language
Learning to code is fun but many people stop learning once they stop challenging themselves and this, ironically, is when we do our best learning. Many people rely on courses, whether they are at university, online or on YouTube. However, no course or tutorial will teach you how to become a top programmer. Desire, patience and discipline, combined with the very best learning techniques, will not only ensure you are constantly developing, but it will likely lead you to success!
Lessons I’ve learned….
👨🏫 There’s nothing wrong with buying a course but you cannot expect to learn properly if you simply follow the course; you must think critically for yourself
🎓 Paying for a course isn’t usually worth it unless you require some sort of certification
📚 Books are a good reference to use for some aspects of learning to code but, again, it’s not enough
⌨️ Books and courses force you to remember things, but that’s not what programming is about. Programming is about a way of thinking and knowing how to use the different available tools… Don’t try to memorise, use Google!
🚀 The best way to become a better programmer is by trying out challenging projects, even if they’re small ones, to force you to fail, figure out what you’re doing wrong and learn how to solve problems
Overview — What’s the sad truth? 🤔
There are three main issues with relying on courses:
1 - Trapped in the course loop
The issue with learning to code and relying on courses is that many people get trapped in the loop of doing courses without applying their knowledge. Many people will just keep on doing courses without exercising their practical skills.
2 - You ignore things you don’t understand
It is easy to ignore topics you don’t feel are important because you know they will most likely be revisited later.
3 - Little retention of knowledge
You focus too much on following the course rather than absorbing the practical knowledge.
If you blindly follow what the teacher or course instructor is doing, you will be copying what’s happening rather than attempting to learn by yourself through trial and error.
How to use courses most effectively 💻
Here is an effective way to make use of courses:
1 - Use it as a roadmap
The great thing about courses is that they try to cover a bit of everything progressively. Use this as a guideline to understand what you actually need to know in this programming language.
2 - Do mini challenges
Everytime you learn a new topic, try to build something that requires this knowledge. Rather than making notes or trying to memorise stuff, build a simple program.
3 - Make use of the community
Whether it’s a university or online course, engage with other people in the course. They may remind you of important things you may have missed, or thought were not important, and may have useful resources to learn more.
Build, build and build: here are some ideas 🔨
If you get to a stage where you think you are ready to take on a project, just try to build something that uses as many concepts you have learned as possible. Here are some ideas…
TIP: get creative and build something that you find interesting
Examples for Python 🐍
Beginner:
- Game of rock, paper, scissors or hangman
- Program to get the current weather
Intermediate:
- Export your Netflix usage data and analyse your viewing habits
- Build a bot to check for available times and book an appointment with your doctor, book tickets for a movie, order a pizza… Anything that can be automated
Advanced:
- Backend development: e.g. an e-commerce website using Django
- Machine learning: e.g. a classifier to determine people’s emotions from photos
It doesn’t really matter what you build, just start, fail and start again :)
Final words 👋
Many people focus on getting certificates but they aren’t equal to a complete understanding of the topic. We’ve all been there — you finish a course or tutorial and want to attempt to build something or complete a task and your mind is just completely blank!
Use courses to guide you through what you need to know and constantly apply things that you learn. Interact with other people learning the same thing to share their knowledge
Comment below what language you are learning right now and add an interesting project to work on for others so they can sharpen their skills further!