How I Learned To Program In A Month
I get quite a number of emails from individuals who are intrigued by programming and would love to learn how to code. These people always ask what the best way to learn programming is. This is a difficult question to answer because there is no single way of learning programming. Everyone learns differently.
Some people are best reached by classroom teaching, others through written or video tutorials and still others through one-on-one private tutorials. If you want to learn programming, you have to figure out what ways work for you specifically.
I will give insight on what worked for me and maybe it will work for someone else.
For existing programmers reading this post who will want to say ‘Hey its not possible to learn programming in a month’, I should mention that I didn’t become a great programmer in a month (I’m still on that road) but I did indeed learn to program in a month. Granted, I did nothing else that month except for eat, sleep and learn programming so it takes a good amount of commitment to accomplish it.
I credit my programming knowledge to one book that my dad introduced me to: JAVA FOUNDATIONS: Introduction to Program Design and Data Structures (2nd Edition). It can be purchased on Amazon from as low as $7. I have a digital copy of the book which I am willing to share with anyone. Just drop me an email.
My routine was as follows:
1. Read a portion of chapter.
This seems obvious but too many people have the habit of skipping the reading and going straight to the code. Don’t do this. You must actually read and take notes. I had a book where I wrote down all the important definitions. They will matter later on.
2. Practice book examples in an IDE
Each portion of text comes with examples of code which in the book are referred to as ‘Listings’. The Listing will contain a portion of code and the expected output. I would use the Eclipse IDE (You can use any IDE that suits you) and generate the output for myself.
3. Try my own examples
I would then tweak the book examples and use my own input data to practice each concept.
4. Finish chapter and do practice questions.
At the end of each chapter are a number of practice questions and mini programming projects that are related to the chapter. I would do a few of these (There’s quite a number!) and call it a night.
1. Practice – Programming is more vocational than academic so you have to actually practice in order to sharpen your skills. ZedCoder has some great practice challenges for any level to get you started.
2. Don’t copy and paste – In the real world, you can’t know everything and you will occasionally face new problems that will require answers from StackOverflow or situations where you will need to reuse/refactor existing code. When you’re learning to code, try to avoid this because it only slows down the learning process and you will be on your way to becoming the lazy and inefficient programmer nobody wants to hire. I’ve met ‘programmers’ who can’t actually type out a simple main method because they are so used to just copying and pasting it. Take it a step further and turn off the autocomplete option in your IDE while you’re trying to learn.
4. Be committed – This is obviously true for any new skill or trade that you want to pick up. However, programming is a trade that introduces you to a completely new way of thinking that can be difficult to get a grasp on in the beginning. If you persevere though, it only gets easier from there.
I had been studying my degree in Computer Science for about half a year before all this happened. I was very frustrated with my inability to understand what my lecturers were teaching me. I still remember walking into my first lecture, I was late, and the concept of a ‘class’, ‘method’ and ‘object’ was being discussed. I have never been so confused in my life. I figured I would get the hang of it when I got back to my room later on and studied the lecturers notes and I remember studying them for a few hours and not understanding a thing.
Obviously university does not wait for one to catch up so work kept piling up which left me feeling like I was a thousand steps behind. I saw many tears of frustration because even though I desperately wanted to understand what I was learning, I just wasn’t getting it. Luckily, we had a month-long Christmas break before our first year final exams and that month was what I used to study vigorously. I ended up with a distinction in my first year.
I had no previous coding experience. Yes, my dad had a knack for programming but I never practiced it growing up. Some people get the hang of programming in one go. I was not one of those people. I’m telling this story because I want you to realize that I struggled with programming, and I mean really struggled but I stuck through it and, well, here I am.
Find a learning method that works for you and stick with it. You will get there.