3 Pillars of learning programming – Part 3: Final Consideration

Final Consideration

This post is part 3 of the 3 parts posts that will describe my method of learning programming. You can see the full 3 parts here

V. Special cases

Just like any learning method, you also have to count on special circumstance when you are learning . in this section I will talk a few about this :

  • If the courses you are taking that are too easy to you (for example: learning C# can be too easy if you are spending a lot of time programming Java…). In this case I found that if you can even solve problems ahead of the course there is no needed for a  second course. And for any video that you can even solve ahead of the lecturer, you can skip the comment step or the final hour step. However, if not, you should study as normal
  • If the course you are taking has duplicate knowledge that you have studied before. This is a hard decision because I found that if you just skip it without watching, you may not know that your current knowledge is flawed (for programming both learning and unlearning are very important). As a result,, I have 2 suggestion :
    • You may speed up the course (set the video playing speed to 2)
    • Or you may multi-task preparing other work while listening to the course (for example: practice SQL on Hackerrank while learning about it )
  • Blogging or talking about learning programming is a valuable way of learning too. Because you can both be having people to point out holes in your knowledge and reinforcing your own knowledge (I also considered this as a type of practice). This is one of the reasons that I made this website. However, I don’t include this to the practice because it should not be your main ways of learning and you should consider it optional
  • If you are learning a University Degree related to programming. This method of learning may or may not work. Because first, I have not enough experience learning in a formal university related to programming. And second, there is much theoretical knowledge that this learning style cannot be applied to (I will talk more below). I used to enroll in an online software engineering degree. However, I found learning following a series of predetermine course is inflexible. The technology field is changing day by day. As a result, I can found outdated knowledge even in a newly updated course in my degree. However, having a formal education is very good so don’t misunderstand me here. This is just me loving freestyle learning

VI. Pros and Cons of this learning method

Everything will have both advantages and disadvantages. And my learning method is no different. Here in this section, I will talk more about these:  

1. Advantages

  • By applying this method you will slowly advance your knowledge with concrete learning. It may seem slow but your knowledge will be tested and reinforce so even if you don’t touch it for times. It will come back quickly
  • By applying this you can avoid the situation where you advanced to the middle of a course and found yourself lost and anymore learning become a waste of time (I have been there too)
  • It helps you to avoid enrolling many courses about a subject but you cannot understand (I Have been there too)
  • It will help to reveal any underlying reasons why you cannot understand the subject (for example you lack computer science knowledge to understand Java Collections) (I have also been there too)
  • This gives you not only theoretical knowledge but chances to practice your knowledge . In fact this learning method is focusing more on practical knowledge

2. Disadvantages

  • This method can not be applied to theoretical knowledge (for example: those computer science courses). As a result, it is only limited to practical knowledge only
  • It can be slow. As I said even a 3-7 minutes video can turn into 1-hour learning
  • It is only suitable if you have little or no knowledge and/or experience with the subject. If you had prior experience and/or knowledge with the subject. this method is too slow and becomes inefficiency (for example : you want to re-learn a subject you had already studied before or learning C# after you had already master Java)
  • Sometimes you can feel this method is too slow especially when you have learnt programming for a long time and it can demotivate you. Your feeling can be true and I found that this method becoming more inefficient when I am growing. As a result, this method is intended for new beginner only. As a result, I am currently improving or finding a better way to learn from this method. However, for a completely new subject, I found this method work very well

VII. Final Note:

This is the end of my learning method. It is not perfect but it worked well for me. I hope but I cannot say that my learning method will be useful for you. Everybody is different so the way everybody study should be different based on themselves. However, I hope that you can at least find something useful to improve your way of learning programming.

Moreover, I am very interested in how you are learning programming too. As a result please share with me your method. I hate to admit but I am struggling to improve and find new ways of learning. Because I never feel that my learning method is efficient enough. So feel free to contact me if you want  

Leave a Reply

Your email address will not be published. Required fields are marked *