If you want to find a Computer Science, or perhaps a non-CS, course to join during October there's a huge range of new, updated and ongoing ones to choose from. How do you make a choice?
Eighteen months ago I felt I Programmer readers were spoiled for choice with A Dozen Free Online Computer Science Courses. Now the selection of courses that could be included a single month's round up has grown prohibitively large so that rather than try to be exhaustive , this month's roundup will instead try to characterize the range of options on offer.
Although the idea of the MOOC (Massive Online Open Course) had already existed for some time, it was Sebastian Thrun and Peter Norvig's desire to break records with their Introduction to AI Class in Fall 2011 that provided the impetus for the current plethora of computer science related courses that are now available online and for free.
If you are looking to join a MOOC this Fall not only do you need to select a topic and the level at which you want to study you are also faced with other choices. Perhaps the most important question is, can you meet the demands of a course with a tight schedule or do you prefer a self-paced course.
In general, even the most scheduled of MOOCs has the flexibility to fit in alongside the student's existing work, college and family commitments, Video lectures are usually split into short segments so that keeping up with the teaching isn't too difficult. It is the demands of the weekly assignments that you need to take into account. Are there programming assignments that require a bigger input of time or peer assessments whichdon't give any leeway for falling behind?
A self-paced online course sounds ideal if you can't be sure of finding the requisite number of hours each week but they lack some of the community elements that motivate students to become fully involved. Discussion forums tend to be less vibrant when students aren't reaching the same point at the same time.
The major MOOC providers are beginning to have distinctive characteristics. Udacity, which offers all its courses as self-paced modules, has an emphasis on employment and offers courses with industry partners. To a certain extent it offers an alternative to university education, particularly with regard to computer science where it is building up sufficient courses are beginner, intermediate and advanced level to provide the equivalent of an undergraduate degree and starting next year it is going to offer an MSc in Computer Science consisting of multiple modules - see Online MSc In Computer Science Update for more details.
If you are looking for an online undergraduate Computer Science curriculum, edX recently announced its XSeries of course sequence certificates and the first to be launched is Foundations of Computer Science, a sequence of the following seven courses from MIT's Department of Electrical Engineering and Computer Science:
- 6X.1 Introduction to Computer Science and Programming in Python (Fall 2013)
- 6X.2 Introduction to Computational Thinking and Data Science (Spring 2014)
- 6X.3 Software Construction in Java 1 (Fall 2014)
- 6X.4 Software Construction in Java 2 (Spring 2015)
- 6X.5 Computation Structures: Digital Circuits (Fall 2014)
- 6X.6 Computation Structures: Programmable Architectures (Spring 2015)
- 6X.7 Computation Structures: Computer Systems Organization (Fall 2015)
According to MIT Senior Lecturer Chris Terman, part of its instructional team this is seen as a flexible way to get computer science education:
"We are no longer constrained to structure course material in 14-week units to fit the academic semester. We can split the material into more approachable modules, each focused on key concepts of computer science and computational thinking, and assemble those modules into new programs intended for a larger audience."
CX.1 starts on October 16 and is based on the first half of 6.00x: Introduction to Computer Science and Programming, a course that has already run more than once and which I recommended earlier this year as:
a good way for beginners to learn Python if you can devote the required number of hours
While the weekly commitment remains estimated at 12 hours per week, splitting it into 8-week modules should make it more sustainable.
From 2014, XSeries courses will have the option of a Verified Certificate of Achievement - a paid-for certificate for which students will need a webcam, a photo ID and a debit or credit card. For this presentation the option are to try for an Honor Code certificate by completing assignments and tests or simply auditing the course with access to all its materials but no commitment to competing it. Both these options are, and will remain, free.
Verified Registration, costing a minimum of $50, is currently being trialled with three courses on of which is another familiar one, Software as a Service, a course that teaches the fundamentals for engineering long-lasting software using highly-productive Agile techniques to develop Software as a Service (SaaS) using Ruby on Rails.
If you don't want a whole curriculum there are plenty of options for getting a taster of a topic. For example, the edX course Foundations of Computer Graphics starts again on October 7, but as pointed out in Computer Science MOOCs for March this is a course for those with "solid" programming experience.
Coursera has the most extensive list of "taster" courses with computer science options at different levels and in different languages - Chinese, French and German as well as English for ones starting this month. It has a well constructed search option on its Courses page - which is vital given that in Computer Science alone it has 83 Global Partners. Two that caught my attention this month are Video Games and Learning that promises to discuss research on the kinds of thinking and learning that goes into video games and gaming culture, benefits and drawbacks of digital gameplay, tensions between youth culture and traditional education, and new developments intended to bridge that growing divide; and Introduction to Programming for Musicians and Digital Artists using the multimedia language ChucK and claiming to suit novices wishing to learn to program interactive arts systems.
One of the great things about MOOCs from a programmer's point of view is they can provide a risk-free opportunity to find out about other disciplines and topics even ones that might seem frivolous. Members of the I Programmer team have signed up to SPU27x Science & Cooking: From Haute Cuisine to Soft Matter Science on the edX platform; Exploring Quantum Physics from Coursera; and Chemistry - Building Blocks of the World on Open2Study.
Will they manage to do them all?
Perhaps not but as all of them are free and will be presented again at a later date there is nothing to lose in the attempt and possibly loads to gain.
Currently I'm in the final week of one of the most fascinating online courses I've done so far - Open2Study's Becoming Human - an anthropology course that looks at how we evolved from primates taught by Greg Downet, an expert in neuroanthropology. Requiring only around two hours per week over four weeks, this course is an eye-opener and is highly recommended whatever your background. Open2Study comes from "down under" and its platform has found a new way to combine the display of the presenter and "blackboard" information. If you want to try out this platform with a more relevant topic, Concepts of Game Development, included in last month's roundup restarts on October 14,
Open 2 Study
Udacity Forms Open Education Alliance
Back To MOOC - September's Computer Science Courses
Computer Science MOOC Round Up August
Online Computer Science and July MOOCs
June Computing MOOCs and Open Courses
May Computing MOOCs and Open Courses
April's Crop of Computer MOOCs
A Dozen Free Online Computer Science Courses
On Statistics and Open Education: A Brief Chat with Sebastian Thrun
Stanford AI Class - Mid Term Report