Learn to Program


While learning to program I surfed the internet a lot and found many resources. I’ll put up a list of resources I found. These are things that I found useful or heard good things about.

For Beginners learning to code

Motivation, advice and how-to

  • If you are trying to get someone to start with programming(including yourself) then you should try out Scratch The Cat from MIT. This is THE best introduction to programming that I have seen so far.
  • Have a look at this video. A really great introduction to programming. Great for motivation.
  • Read this page about how to teach yourself programming

Websites that you can start with

  • Codecademy – Good for beginners. Use with stackoverflow and other resources for solving problems encountered when using it.
  • Stackoverflow and related tech sites are really nice for asking specific questions. Be sure to check the tags’ info pages of the language that you are learning. They contain a lot of information and resources generally. e.g. The info page of Python and C.
  • LearnPythonTheHardWay is nice. Starting to learn with Python is easy. Be sure to take their Command Line Course when they suggest it. It really helps to know how to use it.
  • Ideone can help you if you don’t have a compiler installed. Just paste the code in it, choose the programming language and run it.

Courses to learn programming

  • Here is a link for Harvard’s CS50 course on edx. Really great introduction to computer science and programming. It changed my perspective about programming.
  • For learning algorithms here is MIT’s OCW link. It can help in the long run but should be taken if you know a programming language. This book is the internationally used as the best textbook for introduction to algorithms. Find it and read it with the MIT course.
  • Other related lists

For game programming

  • Unity3D is a game engine with many tutorials, and resources for making 3D (as well as 2D) game programming much easier than pure programming. Here is a very big list of tutorials and a big list of resources.
  • This is a list of game development tutorials. There are full-fledged tutorials for making games.

For practicing programming

For learning Python

For learning C/C++

  • This article is a comprehensive introduction to C
  • cplusplus is a good reference for C/C++ library with easy to follow examples.
  • If you are looking for a book then this is a comprehensive list for all levels of C++
  • I would recommend going through learncpp to get an introduction to C++

For Learning Java

  • For learning about Design Patterns I found this series of lessons on tutorialspoint useful. In cases where their explanation wasn’t enough I found this to be useful. This has a lot of links for examples of design patterns.
  • If you need to search for reference of Java classes then bookmark this for JavaSE API and this for JavaEE API
  • These tutorials are very helpful for learning Java. The trails covering the basics need to be followed in sequence for the best learning.

For learning HTML/CSS/JavaScript

For learning Haskell

Project Ideas

One thought on “Learn to Program

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