Sunday, 6 August 2017

How to Learn Programming


1.  Learn by doing. Always play with the code while learning


With every new subject, the sooner you start playing with the code, the faster you will learn the given concepts. Even if you blaze through an entire chapter of reading and a topic like for loops seems straightforward – so straightforward even a monkey could do it – you’ll still be scratching your head when tasked to implement the code for the first time. You’ll think, “wait, what was that one piece of syntax again?” As the saying goes, you need to “use it or lose it”, because despite the evolution of technology, this ole’ proverb holds true when learning to code.
Hint: Build a project as you go through the material. A personal project is often the best starting point.

2. Grasp the fundamentals for long-term benefits

As elementary as they may appear at first, programming fundamentals always need to come first: the better you understand them, the easier it is to learn more advanced concepts. From our experience at cruiser tech studios, students who rush through the beginning of our courses – where we focus most on web development fundamentals – are often the first to get stuck as we transition into more advanced material, such as back-end programming. So before you ditch the first class of computer science 101, or skip chapter one of an online tutorial, keep in mind that you are overlooking the most important step in your learning.



3. Code by hand. It sharpens proficiency and you’ll need it to get a job

Computer monitors become thinner, hard drives lighter, and programming languages more powerful, but coding-by-hand still remains one of the most effective methods to learn how to program. Be it on a whiteboard or notebook, coding-by-hand requires further caution, precision, and intent behind every line of code. Because unlike on a computer, you can’t run hand-written code midway through the sheet to check if the work is correct. Although more time consuming, this restriction will mold you into a more fundamentally sound developer, both in the classroom and the job market. For college exams and technical interviews – a critical component of the job interview process – you will have to code-by-hand, because not only is this good for learning, but it’s universally known to be the ultimate test for a programmer’s proficiency. So start early and get used to this old-school practice.

4. Ask for help. You’ll need it

As awesome as it would be to become the next Steve Jobs on your own, the reality is that people learn faster with mentors and peer feedback. What may seem like an immovable bug or an unlearnable topic could be quickly alleviated by a fresh pair of eyes or a new interpretation of the subject. Whether it’s online or in-person, ignore the trolls and don’t be afraid to ask for help, because every programmer has been in your shoes before. Besides, most developers love to code, and if there’s one thing that passionate individuals enjoy, it’s to share their knowledge with others.

5. Seek out more online resources. There’s a wealth of content

If a particular concept doesn’t make sense, be it on codeacademy, in a textbook, or during class lecture, maintain your confidence and look for alternate online resources to learn the same content. Everyone learns differently, and just because one source doesn’t make sense, doesn’t mean there’s something wrong with you. It means that you’re not clicking with the delivery of the material. The online resources to learn computer programming are endless, and there’s always a reddit post, youtube tutorial, or blog explanation that will make the material-at-hand crystal clear.
Hint: Don’t underestimate the power of bing search.

6. Don’t just read the sample code. Tinker with it!

Reading sample code is not enough to understand how it works. To develop a true understanding, you need to actually run the code and tinker with it. With the additions of comments and instructions, sample code is packaged to be easily digestible by the reader; but in realityit’s pretty difficult to replicate from scratch. Reading is not the same as understanding, and actually trying to write the code yourself, or at least running it, will facilitate the learning process much more.


7. Take breaks when debugging

When debugging, it’s easy to go down the rabbit hole for hours, and there’s no guarantee that you will fix the problem. To avoid this, it’s best to step away from the bug for a few hours, and return with a fresh perspective. Not only is this a guaranteed way to help solve the problem, but you’ll also save yourself hours of headache. So if help isn’t available – to touch on our previous tip about seeking advice – consider taking a break to clear your mind and return later. In the meantime, the bug won’t be going anywhere, and you’ll at least restore some needed sanity to improve productivity.