GATE Material Search

Monday, March 13, 2017

Programing Phobia

These days I see a trend of Programming Phobia emerging in the students of Computer Science. A lot of people ask me "I am interested in Computer Science but don't want to do programming. Should I go for research in Theoretical Computer Science". This post is dedicated to everyone having such fears. 


Programming is easy

Before I tell you anything else, understand that programming is not as hard as you are making it out to be. In fact, if you ask me, it is one of the easiest things in Computer Science. I believe, an average IQ is more than sufficient for learning programming.

Also, please do not be under the delusion that you can avoid programming by going into research. First of all, research in CS extremely more difficult than programming. Second, even in research, you need to do things like Proof of Concept, Prototyping and Data Analysis. These will require a lot of programming.

Programming is a Sport

I have always considered programming similar to a sport, say Badminton. It is very easy to learn the basic rules of Badminton. It should not take more than a day to know everything there is to know. But does that make you an expert Badminton player? Can you just compete in the Olympics once you know all the rules?

Programming is exactly similar. Learning a language like C, its syntax, compilation options, is like learning the rules of  Badminton. To actually be able to do it well, you need lots and lots of practice. Most students I have seen, never write a single line of code on their own. They just read Yashwant Kanitkar's 'Let Us C' at most and think they 'know' programming. In reality, they have just learned the rules of the sport, and without any practice, this is of no real use. 


So how to learn programming?

Ok, you would say, I agree that we need more practice. But the question is where do we begin and how we go about it. Here are the steps one can follow:

  1. Clear the basics: I strongly recommend starting with C programming by Dennis Ritchie. But don't just 'read' it, try and execute the programs given in the book. Most importantly, try the programs given in the exercise. Another piece of advise would be to use Linux platform instead of Windows. 
  2. Form a group: Programming is lot more fun when done with your friends. This way you can correct each others mistakes, share the learnings and keep each other motivated. A professor of mine at IIT once said that good code is written in night than in day. Sit with your friends all night coding some project, listening to music and eating snacks, then see how much fun it is.
  3. Take up projects: Take up a small project and work on it. The first 'large' project I build was a Tic-Tac-Toe, where two players can play against one another or a player can play against Computer. There are a lot of simple projects on can take like building a Text Editor, Chat Clients, building simple board games etc.
  4. Competitive Programming: If programming is a sport, whats the fun without some competition. You can compete against other programmers in coding matches on sites like Topcoder and CodeChef. This is a great way of learning. There are annual coding competitions held by Google (Google Code Jam) and Facebook (Hacker Cup), which are open to all. If you can reach till this level, and even do reasonably well in these coding competitions, you stand a good chance of getting a job at a product company.

Conclusion

If after all these measures, you still do not find programming interesting enough, I would suggest you learn it any way, just like we learn Calculus in school/college. 





Like my facebook page below to keep in touch with me. I will keep posting any links/resources relevant to M. Tech. You can also ask questions you might have on the Facebook page, and I will try to answer.

No comments:

Post a Comment