I believe that everyone can learn to code. Yet the internet is full of these stories:
“This is the 3rd time I started Python.”
“I tried, but it was so much, I quit after 2 weeks.”
Programming is not for all of us, trying and leaving is not a bad thing for some.
But for others, quitting is the end of their dreams. They want it so bad, but cannot keep up.
Here is how I think about it:
How we learn
Look at children. They play with colorful bricks and cubes. They put things together, and then break them to explore. They learn from every try, step by step. They do it for fun, but also to learn. Learning to walk takes several months. Quitting after 2 weeks is impossible. That’s a long, hard, but still fun learning journey.
Coding should be the same!
The problem
When we grow up we lose our ability to learn like children. We want everything fast, the easy way, and we feel pressured. We all look for shortcuts and magic pills. People quit coding after 2 weeks because they read that they could have done it in one week. BS.
The feedbacks in coding are instant. You push (ctrl +) enter and it runs or fails. (If it fails, you run it again immediately believing in miracles… I know it happens to all of us! :) ) But in the good case, correcting the mistakes takes only a few seconds too. It’s like children learn to walk. They fall and step up within seconds. But the fun and colorful part is missing from coding.
It’s not fun, because you think about huge problems to solve. You want to build the new Facebook or the ML model that will save the world. Yes, that may be the end goal, but as a beginner looking at those giant problems will kill your confidence. You are not playing with bricks and cubes. At the beginning, you should.
Make coding fun again
What beginners can do then?
You must learn the basics and that is dry. But when you have the bare minimum, fill your learning with colors. Add the fun stuff. The good news, it only takes a few hours, and then you can play.
If we are talking about colors. Visualizations are a good way to learn coding the fun way for Data. Yes, these are not the new Facebook, but again, baby steps:
When creating visuals you must do data cleaning - must have.
You will learn about effective visuals - key for Data Analysis.
You will touch fine details of the coding languages - good to have.
Just look at this chart I created for the Histogram Lame to Pro post.
In this code I used
Lists
List Comprehensions and Slicing
F-strings
NumPy Functions
Arithmetic Operations
All those basic concepts to create a visual. Line by line you can learn a new thing.
How I would do it if I could start over
Learn Python basics. 5 hours max! Use this.
Go to Kaggle and download a dataset (or collect your own data, but Kaggle is easier).
Clean the data and prepare for visualization. This usually includes grouping, filtering, basic modifications, and calculations.
Create a bunch of advanced visuals to go into the details of coding and visuals. Steal some from the internet and recreate those from scratch.
Look for these during the process:
Find a topic that you love. If it is Sports, create some football visuals. If it is Nature, work with weather or plant datasets. Every hobby or niche has its own data. You must love what you work with, especially in the beginning. You will discover how you can use Data Science in your field. That feeling is awesome!
No rush. Take it line by line. You should be comfortable reading documentation by the end of this process.
Take it to the next level with some basic statistics, and you have a complete EDA.
With visualizations, you can learn 4-5 must-have skills for Data Science. No other topic can give you this deepness of the field. That’s why I think it is the best way to learn coding!
What is/was your method? Let me know in the comments.
Nice post. I think, learning by doing is one of the most effective way of learning.