If you've always had a desire to build your own apps or create your own websites, then you can begin your coding education with nothing more than a browser, an internet connection, and some spare time. Here we've picked out six of the best resources currently available online.
Coding image from Shutterstock
Udacity is one of the best-known MOOCs (or Massive Online Open Courses) available on the Web, and the content it contains can tutor you on everything from Android apps to social network analysis. Short videos of a few minutes in length are punctuated by quizzes and exercises, and once you've signed up for a particular course it can last from a few weeks to a few months (check the information page for each individual course). You can think of Udacity as attending college over the Web, just without the fancy diploma at the end.
Much of the material on the site (described as "courseware") is available free of charge, but you do have the option to pay if you want to get one-on-one tuition or take on the interactive projects that come with the course. Some courses are funded by corporate sponsors; Google has built the Android app development one, for example. The Udacity model won't suit everyone but it offers a broad range of useful content that you can fit around your existing lifestyle, particularly when you take the mobile apps (for Android and iOS) into consideration.
At the heart of the Codecademy site is the interactive portal that enables you to take lessons and exercises right within your browser, with feedback and instruction appearing alongside in an instant as you type. As you're doing rather than simply reading or watching, you can pick up the basics very quickly, and because Codecademy is free it's a great way of working out whether this coding lark is for you or not before you go deeper somewhere else.
Treehouse is like a paid-for, more complex upgrade to Codecademy and would be the natural next step if you pass the Codecademy courses with flying colours. There are two subscription models — a basic US$25/month one and a pro US$49/month upgrade — but if you want to test the waters for free then there's a 14-day trial available that you can sign up for without any obligation. As you would expect for US$25 and above each month, the materials and content provided by Treehouse is consistently top notch.
#4 Code School
"Learn by doing" is the mantra of Code School, though it's an approach adopted by many of the resources we've mentioned on this list. This isn't for beginners, though: you're going to need some level of coding know-how to make sense of the material that Code School places in front of you. You could consider moving on to Code School after Udacity, Codecademy or even Treehouse, for example, though it depends on your existing level of knowledge and the type of code you're working with.
You might not be able to launch a career as a freelance Web designer on the back of Dash alone, but it's free to use and friendly for beginners, and by the time you come out the other end you'll certainly have a solid foundation in browser coding skills. The step-by-step guidance and rigid structure of the course may feel a bit limiting at times, but if you want to be guided very carefully through the fundamentals of the Web then it's perfect.
Code Avengers makes what can be a daunting and inaccessible topic very easy to get into. The way that repetition and reinforcement is used over each of the 12-hour courses means that you come away with some good programming habits as well as a good grounding in the ins and outs of Web development. The interface is clear and clean as well, and there's a good mix of coding challenges, step-by-step instructions and practical projects to help you make progress with your Web development skills.
If you've had any personal experiences with one of the resources we've mentioned—or you think there's another site that deserves some attention — then let us know in the discussion below. In the meantime, happy coding!
This post originally appeared on Lifehacker UK, which is gobbling up the news in a different timezone.