Why should you start practicing actively rather than learning passively to effectively learn to code?

Anand Kumar
Idovate
Published in
3 min readAug 23, 2020
Image 1: Benjamin Franklin

Before we jump to the topic of our discussion, let us set the context by talking about outcome-driven learning for practical skills. Let us further make the discussion focussed on learning to code for students who are absolute beginners. As logic suggests, the expected outcome at the end of the learning experience should be that every student should have learned to write basic code.

At this point, it is easy to make an assumption:

The gap between where the students are now and where they would want to be in the future is the lack of knowledge.

In simple words, the assumption is that students are not able to write a piece of code because they do not possess the knowledge of coding.

It is because of assumptions like this that we find video-courses like:

How to start your journey to become a coder?
How to transform from a zero coder to a hero coder in a week?
How to become an expert at Python from scratch?

This cannot be further from the truth.

What I’m starting to realize is that new knowledge does not necessarily drive new results for learning practical skills like coding. In fact, it all comes down to the difference between learning and practicing.

PRACTICING IS LEARNING ++

Thomas Sterner explains the key difference between practicing and learning in his book, The Practicing Mind:

“When we practice something, we are involved in the deliberate repetition of a process with an intention to reach a specific goal. The words deliberate and intention are key here because they define the difference between actively practicing something and passively learning it.”

Let us understand this through this table:

Table 1: Comparing Passive Learning and Active Practicing

While passive learning creates knowledge, active practicing creates knowledge and skill.

Graph 1: Comparison between Passive Learning and Active Practicing in terms of skills and knowledge gained

WHY ACTIVE PRACTICING OVER PASSIVE LEARNING?

Passive learning induces the mistake of being in motion rather than taking action

Reading a book on how to write code allows the students to feel like they are making progress. The reason is that the students may be figuring the best way to write code.

However, they are not actually practicing to write code that would deliver the desired outcome which is learning to write code. They feel that they are moving forward but they end up just spinning the wheels.

Practicing is learning, but the vice-versa doesn’t hold true

Although students, when learning to code passively, gain new knowledge, they are not able to discover how to apply and express that knowledge. Active practicing, meanwhile, is one of the greatest forms of learning to code because the mistakes the students make while practicing reveal important insights and helps them learn better.

Graph 2: Comparison of the degree of outcome achieved for practical skills such as coding by Active Practicing and Passive Learning

THE BOTTOM LINE

Should we denounce passive learning for practical skills, like learning to code?

Absolutely not. To be honest, passive learning can be a beautiful thing. Soaking up new information can help the students make more informed decisions when they decide to take action.

That being said, passive learning of practical skills like coding, in isolation, does not lead to progress. To achieve expected outcomes there is a need to actively practice coding hands-on, where a platform like Idovate can come in handy.

Spend less time passively learning to code and more time actively practicing to code. Stop thinking and start doing.

--

--

Anand Kumar
Idovate

Making the consumers of today, the creators of tomorrow