5 Resources to Learn Programming

In last few years I have seen an interesting paradox first hand. While there are so many companies looking for good technical talent, there are also thousands of engineering graduates looking for technical jobs. And what explains this paradox is the skill mis-match between what companies need and what these grads own. Unfortunately, most of the engineering colleges are failing to impart these skills required in Industry. Take for instance, programming skills – I have met many computer science grads in last one year who do not know programming. I am not an expert in programming, but being a geek, I have been able to aggregate some resources that might be of some help.

1. Udacity – Udacity is an interesting startup offering free courses from the greatest teachers. One of the current course running is CS101: Building a search engine and Udacity claims to teach enough programming in seven weeks that you will be able to build a web search engine like Google. The best thing is that this course does not need any prior programming experience. The programming language used is Python. Although the course started on 20th Feb, you can still join it or join in next session.

2. CodeAcademy – Yet another startup, but the approach is different from Udacity. Instead of using videos, Codeacademy provides an interactive web application to learn programming. The app goes in step by step manner through each lesson and exercise. As of now, Javascript courses are available and this is a good start. The web app also keeps track of your progress. In addition, there is very engaging QnA platform in case you get stuck. The UI is clean and now since they have made it as a platform [means other can also create lessons], I think many more courses will be available very soon.

3. Khan Academy – Salman Khan has been in the limelight for some time (I had written about him earlier here). Surrounded by lot of hype there is some substance in his style of teaching. The best thing about this videos is the simple and casual language used. However, these videos are not enough if you want to pursue programming seriously but can be a good starting point. Heres the link – http://www.khanacademy.org/#computer-science

4. Project Euler – Project Euler is a series of problems in mathematics and programming. A good collection of problems to solve and the problems range in difficulty level. An example problem here –

Find the greatest product of five consecutive digits in the 1000-digit number

There are 366 problems I can see (without logging in) – enough number to keep you busy for a while.

Image representing Stack Overflow as depicted ...
Image via CrunchBase

5. Stackoverflow – If you are a geek, it is almost certain that you would have stumbled on Stackoverflow. With more than 2.8 million questions, and growing, this has become one of the biggest library of programming questions. There is very high probability that you will find the answer to the exact problem you are looking for and in case you don’t find, you can always ask.

So we have five different ways of learning programming. Khan Academy and Udacity are based on Video learning, Udacity is more structured and comprehensive. While Code Academy and Project Euler are based on problem solving. Codeacademy walks you through step by step , perhaps good for beginners and Project Euler throws a good problem and its all on you how to solve it. Stackoverflow is more like reference where you go when you get stuck with something. All said and done, as some of the programmers say, the best way to learn programming is by doing it.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s