What should be my approach to learning Python?

Excited to learn something new in Python? Find out the excuse of avoiding it!

Yes, you heard me right. You will understand the reason for a moment.

I am sure that python is not the first language you are learning – you also know English. You may argue – what a weird comparison it is – after all, python is a computer or coding language. Well, they are not much different – Python is a language in which not only man can communicate with the computer, men can talk among themselves as well, quite conveniently. The main advantage of it is Simplicity. Python emphasizes good-looking codes that are readable to a human. Any coding language with proper syntax is readable to computer – but only some of them are soothing to human eyes as well – python is one such language.

Now, for a moment, let me go back down the memory lane when I was learning English during my school days. When I learned a new word, a new phrase or a new sentence-construction – I would always try to show that through my writing skills. We know that gives a lot of satisfaction.

But in the case of python, the strategy changes. Do not learn a programming concept and try to force-fit the concept somewhere, just try the opposite. Try deferring its use until you convince yourself about “Why do I need it”. Here, our learning strategy should be as follows :

1. Get an overview of topics – make your own cheat-sheet for easy recall; it is like creating an index of knowledge.

2. Solve a problem – write code. It has two main steps:

  • Understand and break the problem into parts and then
  • Make a computer understand the problem in its own terms. ( programming )

3. While programming, you will find, some part of it is getting too complex or you are not finding the way to put that up in a computer’s language. Research and update your cheat-sheet. Also compare why something you already knew was not helpful, what made the case for trying something else, something new.

Let me demonstrate this with an example. Anyone who is learning python must have heard of its data-type called ‘list’. It is the simplest of all collections or iterables. Very soon in our learning journey, we discover the NumPy module and its main component called ‘ndarray’ or n-dimensional array. The question that may pop-up in your mind is:

Why do I need a NumPy array when I know the list?

In this case, the answer is quite simple and obvious. You will realize it almost as soon as the question comes up. You can perform array operation quite easily using the NumPy array that would have been difficult otherwise. In general, this reason may not be as obvious as this.

In those situations, it is a great learning strategy to “resist before accept” simply because that forces you to look for the ‘why’. Programming is not something that you should learn in a linear fashion – one after another – that learning does not stick.

You should neither count how many so-called complex things you know to evaluate your knowledge. The focus should rather be on how to use what you know. Well, I am not suggesting you resist the new learning. What I am telling is – learn the concepts through their connections with existing concepts.  In psychology, there is a term called ‘cognitive dissonance’ which refers to the mental discomfort when we come across conflicting ideas. Programming concepts always give rise to such discomforts – otherwise, these concepts would not be considered different ones at all.

Never ever postpone the cognitive dissonance when you are in the journey of learning programming! These conflicts are great sources of true understanding of the subject.

Facebook
Twitter
Pinterest
Email