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
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
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.