The Mechanical MOOC – Behind the Machine


Actually, the mechanical mooc is the tin man

Hi All, Today we’re going to take you on an inside look at the Mechanical MOOC.  We’re going to walk through it’s history, what’s happening now, and where we are headed with it. The MOOC has been an ongoing learning process and we’re made some major strides along the way. For this article, we opted to hide the finer technical aspects, but if you are interested, code snippets and all, follow the ‘To the code’ links throughout.

The idea

The Mechanical MOOC is partly a response to the MOOC craze and partly a clever idea for letting users form groups around topics they are interested in. P2PU Executive Director Philipp Schmidt and Steve Carson at MIT OpenCourseWare were watching new MOOC platforms pop up all over the place, and course content was created for lots of money. They started thinking to themselves, isn’t there a more lightweight and cheaper way to do this?

After all, so much quality open course content was available already, and there were lots of social web services to string them together. And the few missing pieces could be built for little money as open source software. One idea for supporting such communities of learners had been thrown around by John Britton at the 2011 P2PU workshop to allow users to watch TED talks together and discuss them. The whole thing would be little more than a sign-up form and a few mailing lists.

So the Mechanical MOOC was created to do the opposite of the big budget MOOCs. It would tie together the best of the already available free course content and John’s idea for light-weight email groups. And it would do this as cheaply and simply as possible. Poking fun at the other MOOCs while setting an example for how anyone could run their own.

Let’s build it

During the 2012 Berlin Summit, John built the initial prototype for the Mechanical MOOC (MMOOC).  He found he could use Mailgun, and their API to script the creation of mailing lists (To the code) and send out the course emails. He created the sign up process using  SinatraDatamapper and Twitter Bootstrap. All excellent technologies which are great for their simplicity. To the code

To the content



The content for the course was created by Steve Carson and P2PU’s Mad Learning Scientist, Vanessa Genarelli. Steve pulled together resources from MIT Open Course Ware for the body of the course content. Did you know that the ‘Gentle Introduction to Python’ is the same course that incoming Computer Science students to MIT receive? It’s truly great content. We have Steve and the team at MIT OCW to thank for that. Steve and Vanessa then wrote the schedule and content of the emails for the course. Do you like the tone and attitude of the emails? Thank Vanessa for that.

The groups

After Berlin, The MMOOC was handed off to Chris Ewald to develop. Upon receiving it, he wrote a script that would randomly place the learners in groups. We discussed how we want to arrange the more than 3000 learners that wanted to be grouped and decided on creating the groups based on the learners’ timezones. This is to allow for conversations in the group emails – so the learners in Laos won’t email the group when they are all sleeping. The grouping script is without a doubt the most complicated part of the MMOOC. To the code

The research

June Ahn, Human Computer Interaction Researcher at The University of Maryland,  is conducting some fascinating research with the MMOOC data. His team, along with many of us at P2PU, are very interested in learning what makes for the best environment for group and course participation. Lots of interesting questions are being asked and answered, such as:

  • Does a learner’s self reported learning-style affect group participation? – Nope!
  • What’s the minimum size group needed for high participation? – Generally speaking, at least 30 people.
  • How do opt-in vs opt-out groups affect participation? ( behavioral economics anyone? ) – Stay tuned for this!

June is analyzing the data as we speak and we can look forward to some more interesting findings from them soon!

Emails away!


The other side of the emails

We started sending out the emails with a manual script, but this quickly turned into a web based admin interface. It’s super straight-forward. The buttons at the top, indicate which sequence to send the emails to. Unique tags are entered for the email and there’s a subject and a WYSIWYG editor for the body of the email. There’s a option to send a test email out to preview before going live ( always important ). Now, the process is streamlined. Anyone can create and send properly formatted emails to the learners without having to get into the code.  To the code

Tags, logs, and analytics


Thankfully, the MMOOC isn’t a very good Risk player.

As with all online activities, it’s important to run analytics to get feedback and learn what works. We made good informed guesses, but nothing is better than releasing your creation to the wild and learning though experience. We’ve been uniquely tagging every email and in cross sections – it let’s us know how many people open the emails and click the links inside so we can measure engagement down to the an individual email. The reach has been fantastic. There are new pythonistas in more than 80 different countries in the world! And all the data we collect is passed along to June for research.

The future

The MMOOC is marching on. Soon we will be launching a new MOOC course: Data Fundamentals with the OkFoundation’s School of Data. We will spin up a new MMOOC for them and work with them to make their MOOC great. Things are going to be run a little differently this time. We’re learning from all our experience – and everything we learn is being channeled into our MOOC platform which is available to all. The MOOC will continue to become more and more straight-forward and easy to setup. It’ll gain more features. The next one being – an email scheduler – where a course creator can schedule the emails for a whole course ahead time. Major progress.

Get involved

If you are a course creator, you can run your own Mechanical MOOC. Let the community list know what you would like to do, and we’ll get you started.

If you are interested in learning more about how the Mechanical MOOC works, check out the wiki on the github page. As with all code that P2PU creates, it is open source, so feel free to use it and contribute as you like!

Back to Blog home