Recently I completed the Software as a Service course on edX (CS169.1x) and felt it might be worth sharing some thoughts about the experience, and why I think edX and others like it are game-changing.
First of all, I think it's worth briefly outlining what edX actually is: an enterprise set up to provide free online courses very much along the same lines as Coursera. In their own words:
EdX is a not-for-profit enterprise of its founding partners Harvard University and the Massachusetts Institute of Technology that features learning designed specifically for interactive study via the web.
EdX offers a relatively small (but growing) range of courses, from solid state chemistry to computer graphics and artificial intelligence. These courses are provided by a number of world class universities including Berkeley and MIT.
The course material is provided as a series of video based lectures interspersed with a number of questions to help reinforce the material in the videos. In addition to this material, there are a number of quizzes and homework assignments to be completed, each of which are then assessed electronically based upon the criteria in each piece.
Each of these quizzes and homework pieces count towards your final grade, which (in the case of CS169.1x and the majority of others) when above a given point result in the ability to download a certificate of achievement.
Having completed the course (and subsequently signed up to the second half, CS169.2x) I have to say I have found the experience worthwhile and enjoyable. For the most part, the material is well structured, approachable and taken at an appropriate pace. It really does illustrate that with the abilities the web provides, mass distance learning is an effective way of learning and reinforcing your skill set.
The Software as a Service course I studied was designed to help outline the tools and techniques used for developing software intended to be deployed in the cloud. This included a focus on agile techniques, TDD and BDD and various other techniques. The stack the instructors have chosen is Ruby on Rails, as they believe it offers a good set of tools which help to get across their points without getting in the way or being overly complex.
As a developer myself, in some ways it was covering a lot of ground I already have experience with. However it is certainly true that you never know everything and should never stop learning and I can definitely say that I got a lot out of it and gained more experience with the Ruby-based toolset, particularly Cucumber which I'd never touched before. Having an experience to use the tools in a vaguely life-like manner was great, although of course that could also be achieved by choosing an appropriate open source project to contribute to.
How it changes things
When it comes down to it, there's nothing here really which couldn't have been done for some time. However the fact is, it hadn't been. Initiatives like this are relatively new but should be welcomed with open arms; who wouldn't like the opportunity to enrich and add to their skill sets for free?
What I very much like is that you have the ability to learn from instructors who know their stuff and have been teaching professionally at a high level for some time, and you also get to interact and collaborate with others across the globe. It's very difficult to say that such a combination has ever come together before with such broad and easy access and low cost.
I urge you to take a look and see if there's anything that interests you, and give it a go.
I had signed up for the second half of the course, CS169.2x, but sadly I haven't had the time lately to give it nearly as much attention as it deserves. I'll most likely put it to one side for now and give it another shot the next time it is offered, which I hope isn't in the too-distant future.