Programming Resources

MOOC (Massive Online Open Courses)

  • Free Code Camp - My personal favorite. But only try this one if you are already a programmer and just want to exercise your coding muscles.
  • Saylor Academy - Non profit Australian Academy offering various CS courses. Highly recommended!
  • Open2Study - Launched in April 2013 by a collaboration of several Australian universities. The number of programming specific courses is currently small, but should grow in future considering that they are more leaning towards career-oriented than core academic courses.
  • MIT Open Courseware - One of the best online resource to get learning content. However, you won’t get any certificates on course completion.
  • Stanford Online - Another great university that provisions learning content through the online channel. Again, no certificates, but still great course content.
  • Coursera - Comprehensive curriculum and large number of programming courses to choose from. A pity they started monetizing their students by offering paid-only certificates recently.
  • edX.org - Non profit, open source Professional and Profiteerig institute and currently the most recommended not recommended.

Programming practice to exercise your coding muscles

  • Advent of code - Lots of programming problems for you to solve! A gamification approach which is fun and enjoyable. It is said that people abuse the hell out of languages to reach the top of leaderboard here. Requires a Github, Reddit or Google account to sign in.
  • CodingBat - python and java - Coding puzzles and problems in python and java.
  • PySchools - python - Programming practice tests specific to python.
  • Kattis - Problem archive - Find hundreds of programming problems to solve.
  • Project Euler - One of the “old-school”, but interesting sites that features solving math problems through various levels. There is no code-evaluation, you just have to write your own code, come up with answers and post the answer to go to the next level.
  • /r/dailyprogrammer - A programming puzzle a day keeps woes and dispair away. A subreddit where programming problems are posted and peer-reviewed every day.
  • /r/learnpython wiki - Pointer to more python practice resources.
  • Code Wars - A must visit place for all programmers. The practice challenges are really addictive.
  • Khan Academy - video lessons - Good for learning HTML/CSS - both practice tests and video sessions.
  • Buggy Bread - Online practice tests in java to improve programming skills.

Q/A sites for troubleshooting a problem:

  • Stack Overflow - No need to say anything there!
  • Unix and Linux Q/A - This is where I usually go if Google cannot help me with a linux problem.
  • Super User - Though not specific to programming, but very useful nevertheless.
  • Code Project - If you are into Microsoft Technologies like ASP.NET/C#, this site is for you.

Other Programming resources

  • Reddit Programming Help - A must-visit place for every programmer. You will definitely gain something from this site, whether its learning, tips, guidance or just the satisfaction of helping a fellow developer.
  • Dictionary of Algorithms and Data Structure - Visit this site if you run out of ideas for program creation. Almost every algorithm invented by mankind could be found here (Except the patented ones of course!).
  • Design Patterns Catalog - A collection of software design patterns and processes to follow, written by Martin Fowler, one of the best minds in the industry.
  • Great Github list of public datasets - A great source of published data in case you are developing an app.
  • UPC Database - The canonical place on web to lookup barcode items. An invaluable resource if you are developing a Barcode app.

Pointers to other programming resources

Reddit

Libraries and APIs

  • Octokit client libraries - Octokit library is used to access the github API. This comes in multiple flavors and languages including .NET, Ruby and Java.