The sole purpose of this article is to guide the new lot of computer programmers on how to be on the right path while learning to code and expediting the coding skill, this chief purpose could not only be fulfilled by just delivering some much needed tips and tricks to a newbie, but making a fresh learner psychologically prepared for the endeavors he has to go through while learning how to code and how to solve problems. The right psychological build up for a student in his fresh learning days is a crucial thing for a students progress and that should be catered roundly alongside building up the right framework for yourself while practicing the core topics.
Every Beginner’s Trail:
Let’s just agree that every newbie in our community has scores of legit uncertainties in his mind and we all have had spent hours and hours to solve compile and run time errors; from learning on how to pass an array by reference till how to find a longest common sub-sequence in a string using recursion, had made us all question about our skills and at least once made us vow to a belief that either the errors are a big fan of him or the universe has some personal enmity with him. When I first started to code I felt a bit hazy due to the fact that I wasn’t being able to produce the correct working code for hours every time and that made me believe that it was just my shortcomings due to which I had to hammer every question for a long time. But as the time passed and I got the correct exposure to the coding community I came to know that every single person who gets started to code have to render many hours to the righteous but frustrating cause of debugging.
Following are the tips you definitely need to go through in order to get yourself equipped with the correct motivation and the mindset.
Be receptive towards more knowledge:
After completing a chapter about a particular topic their always is a feeling of slight satisfaction and contentment but as you proceed with time you will find out that the chapter you disclosed and completed about a particular topic back then contained only 40–50 percent of the knowledge and their is a still lot of left in that topic, so a beginner has many reasons to be curious in his early days and curiosity can make wonders for you in this field if you are able to give your time away finding the answers of “why this?” and “why not that?”.
“The important thing is not to stop questioning. Curiosity has its own reason for existence..” Albert Einstein
After completing the topic of suppose basic I/O and functional programming you should be not only be able to know “how to do that?” but should also have a vague concept of “what is happening in the back-end of the code which allowed me that?”. Because at first completing these chapters it seems that both of the concepts are completely irrelevant to each other, but the fact is that the basic I/O statements in the C++ are an example of “method chaining”. So lets just not close the doors of learning for the previous topic while moving to the next one, because the topics are not stand alone and are a lot dependent on one another.
Practice makes a coder perfect:
Ever heard of the misconception that, “If you are not good at mathematics then you can not be good at writing code” ?. Yes this statement is wrong but there are still many aspects that are hidden between the lines of this wrong statement that may sound correct. First of all, every one of us has heard our mathematics teacher telling us in high school that “If you don’t practice questions daily, then you won’t be able to get an ‘A’ in mathematics”. So this is one of the things that also lives with the paradigms of coding, that If you don’t practice daily your mind would not get trained for the problem solving up to the level that you have to be in this field. Secondly mathematics is less creativity and more of a logic, and let me tell you guys that their is no such thing without a definite logic in programming and from the start one should be able to crack the correct logic behind a problem; So If one is good in logic building and problem solving in mathematics then their are fair chances for him to excel in programming computers. Thus if you make out time for programming practice daily then your ‘Coding ship’ will smoothly sail towards success.
Competitive Programming:
If you have ever completed your weekly or monthly coding assignment on your own, then you don’t need to tell me because I know how much delightful that feeling of success really is. But I can say that most of the times your programming language course’s assignments would not be enough for you to expedite your coding skills. For that a programmer should make himself get involve in competitive programming and solving problems on the lot of famous coding platforms out there on the internet. The best thing about solving problems online is that it would rapidly boost your confidence step by step and creates a sense of accomplishment for you that you need for your psychological build up in this field. Assuming there will be some of those who do not know about the famous competitive programming platforms, So here is the website hackerrank that I have found the best for me and for every beginner out there. There are more good coding websites like codechef, leetcode etc. but I don’t want to overwhelm you guys with lot’s of platforms so just stick to one you like the most. Personally I will recommend hacker rank because it has been the most motivating coding platform I have spent my time on, so far. But the choice is entirely yours to make to go ahead on any of these platforms and develop the right set of habits for your coding skill set and practice computer programming languages and algorithms.
“I’m not a great programmer; I’m just a good programmer with great habits.”-Kent beck
Conclusion:
Every one has a start and everyone has the inbuilt capacity for achieving anything but two are the foremost requirements for a successful journey one is ‘passion’ and second one is ‘mentor ship’, passion makes you find a mentor and a mentor makes sure that you are headed to the right path and your ship cruises towards the right direction. Happy Coding!