This post has been migrated and imported into different systems over the years, I have not had a chance to format this post manually so it may be hard to read but I have left it here as a reference.

When I have some free time I love to practice my skills and work on getting better. The following list is a few of my favorite places to go to when I want to learn online for free.

Programming - Codecademy

Codecademy is completely free to use and perfect if you want to begin programming or just refresh your skills. Codecademy will start you off with examples of code which you can edit and play with if you would like. It will then let you work through these small examples by making small changes to the existing code. Eventually it will start asking you to write some code from scratch but it is always there to help if you need help. All the code is shown on the left and a live preview is shown on the right hand side when working in Codecademy.

[caption id=”attachment_5753” align=”aligncenter” width=”618”](image removed) Learning with Codecademy[/caption]

With Codecademy you can learn HTML & CSS, Javascript, jQuery, Python, Ruby, PHP and many more programming languages which will be added in the future!

Math, Science and More! - Khan Academy

Khan Academy is simple to use and I really do feel like it is testing my skills when using it. I decided to start with Algebra 1 as a review and then work my way up into the more difficult math subjects. The way it works is that it will ask you a question and either have you fill in the blank or pick a multiple choice answer in order to proceed.

[caption id=”attachment_5754” align=”aligncenter” width=”618”](image removed) Khan Academy Questions[/caption]

If you don’t know how to solve an equation you can find Youtube videos made by instructors which demonstrate how to work through and solve a similar problem. There was one problem which I felt that I answered right but I got wrong due to formatting but I believe you learn how your answers should be written through trial and error and I found it very easy to get through. Just like Codecademy, Khan Academy is completely free to use and I even checked on some of their cryptography courses. You also unlock various badges, points and avatars which is pretty fun, it makes you feel like you are really getting somewhere, like it is rewarding, as you progress through the lessons. There are also discussion forums on the various subjects in case you get stuck on a tricky cryptography question.

Languages - Duolingo

I spent 3 years taking a german language class in high school but unfortunately it was not a very engaging class and most students seemed to use the time to work on assignments from other classes. Due to this I did not learn a lot but recently Duolingo has come to the rescue and allowed me to practice my language skills again at no cost at all. The interface feels very similar to the way other software like Rosetta Stone works, where you are presented with pictures and asked to match the words.

[caption id=”attachment_5755” align=”aligncenter” width=”618”](image removed) Duolingo Questions[/caption]

As you progress you will get harder and harder questions and learn more and more words. You are also free to go back to any of the previous lessons if you need a review. You also get badges and rewards depending on how far you get and how quickly you get through it which makes this a potentially fun social activity to share and compete amongst friends.