How to learn programming smartly?

I have been learning OpenCV with Python from last 3 to 4 months and it’s taking lots of time, my thought was that I am not wasting my time because I try to learn in very deep and learning in deep by taking extra time always gives us benefit. Finally, I understood that I need to change something, after spending some time I also understood what to change? If this is also happening with you then it’s time to change the way you learn, because your time is limited and you want to learn so many advanced stuff in technology. I think we can improve our way to learn by applying a thing called “SMART criteria” in programming. “SMART criteria” can be applied anywhere, but I am going tell you that how can we apply this in programming to get it done smartly. Let’s start-

S - Specific
M - Measurable
A - Achievable/Attainable
R - Realistic
T - Time-bound

S – Specific

The first step is to aware yourself that why you are learning to programme? answers from most of the beginners will be like- because I love programming and it’s my passion, I want to be Mark Zuckerberg/Bill Gates or hacker etc. If you really want to do great works by learning to programme then you have to decide what you want to do with programming? want to invent something? want to be a freelancer(or blogger)? You can call it a goal. Be more clear about your goal by getting knowledge from the internet(or books) rather than giving answers to yourself. 
M – Measurable

After deciding what you want to do with programming it is necessary that your goal should be measurable just like traffic of websites is measurable using Google Analytics. Your progress should be measurable each week, even every day. For example, if you are learning a Java library for Artificial Intelligence then it is measurable that how many functions of the library you can learn in a week. If you say that I want to learn too much programming to become a great programmer then it is not measurable :). So, beware that your progress should be measurable otherwise your valuable time will be wasted.

A – Achievable/Attainable

Attainable or Achievable means you can reach that point, for which you decided to learn to programme. You should always research about prerequisites and resources to learn. You can’t believe but see this screenshot-

Lol, how it is possible to disappear human physically using an App? Not possible for many centuries. Some people ask questions on Facebook groups about different-different ways to write one program, but this thing does not make sense. If Choose best and achievable then you will get successful definitely.

R – Realistic

Assume that you are learning string formatting in python programming and you got motivated after watching a video on Sophia robot, and then you decided to make your own humanlike robot in just 1-2 years by start learning AI with Python from today. Is this possible? No, usually it’s not possible because it’s not realistic, but it is achievable and attainable. So, your goal to learn to programme should be realistic. Don’t lie to yourself and define clearly what exactly you want to do with programming(or your favorite programming language).

T – Time-bound

It should be clearly defined that how much time it will take to learn a specific skill eg. If you started learning basics of Deep Learning from 25/11/2017 then it should be finished on 25/2/2018. You should make a weekly and daily plan about what to learn in a certain week/day.

This image shows that how should you make a weekly plan for a whole year to learn to programme. It depends on you how much time you want to give to programming, using your intelligence you can decide. Sometimes a weird thing happens when you are sitting to learn something in programming, for example- at 1:00 have you faced an error and you started searching on Google to solve the error, after 2 hours(3:00 AM) you are watching Youtube videos on wars and weapons. This thing happens when you have not decided time table before and wasting your time wherever you feel good. So, beware about your time.  

My tip to learn to programme if you are struggling to understand something in programming:

1. Break it into parts. Parts can be syntaxes, functions etc.
2. Understand every single part by going in deep. Don’t go too much in deep.
3. If it’s taking too much time to understand a part(function, syntax etc.) then Come back to what you are learning and ask it on StackOverflow or skip that part for some time.
4. If you get successful to understand the part by going in deep within satisfied time then also come back to what you are learning. 
5. Now, sum up all parts and try to learn again. You will definitely understand it completely.  
6. Go ahead, don’t be distracted here and there. 

Was this article helpful? Please tell us in comments, we are curious to know.
Subscribe our blog if you want to meet us again.
Happy Programming :)

Post a Comment