I watched a few YT videos where software engineers shared how they would have learned to code if they had started again. They recommended the course by Harvard University called CS50x. I decided to pick it up since it is free online.
I am so blown away by the way the lecturer taught the content. It is the way, he challenges you to understand the fundamentals and make you apply the concepts. Coupled with his use of items to illustrate how the computer works, it makes the imagination so much easier. Of course the lab work and problem sets given stretches you further and really enforces the understanding.
As I had done some coding course on python through Udemy, I had always find some lapse in my understanding about why certain syntax is used in a certain way. For example, formatting with print with f for formatting the string. I always find it odd but I take it as a legacy issue that the language inherit certain syntax patterns that had been determined ages ago. However after I was exposed to C programming, a language which has very simple syntax, I begin to appreciate python and also understand where do the formatting of certain codes came from. C programming is definitely taxing since it require so many lines of codes in order for the program to work with its limited syntax. This really forces me to think and break down steps to achieve the outcome.
I proud to say, I had been working hard and had clear all the assignments and lab work required from week 0 to week 4. The perfectionist in me make sure I can clear all the criteria without any problems.
I enjoyed the assignments and had accomplish them on my own. Problem set 1's credit pushes my understanding of how % (modulo symbol) work to the max as it was used to extract number of digits from the string input. I really donot like problem set 3, tideman. It is really difficult and I had to read many blogs just to understand why the code was written as such. In this midst of trying to solve the problem sets, I found Anvea, her detailed solution is god-send. I like to solve whatever I can and check out hers anyway to see if I was on the right track. I troubleshoot my code using hers. She does a very good job breaking down the problem sets and how she arrive at her answers. However, I would suggest that when learning coding, you had to 'struggle' on your own first and try not to just relied on others' answers. This actually hinders your learning and understanding even though you are probably clearing the problem sets faster.
So far I am left with my last problem set for week 4, Recover, which really test the understanding of pointers, file opening and file closing. David Malan, the professor of CS50x, even explained the term of stack overflow and how it occurred. So before this, I only know about stack overflow as a discussion forum where people post and answer coding questions. Even file opening and closing, I never really appreciate why we need to do that on python but here I really get to the fundamentals.
I hope I donot lose steam and will be able to complete the course. 7 more weeks of materials to go! It is mentioned by YT that there is no need to buy the edX course certificate as Harvard will give you a certificate once you completed the course. I am so looking forward to that. To make myself more accountable, I told my close friends about it that once I am done with the course, I will purchase the shirt from the Harvard online store and call myself a Harvard student. (laughing out loud)
If you are also doing this journey, please drop a comment before so that we can keep each other in tab and complete the journey together!