Now that the first run of the courses is over and we are officially in intersession over here in the 10gen education department (new courses startup on January 21), I have the time to talk about how we created the classes.
This will be the first in series of blog posts that talk about production methods. I hope that others will benefit and create their own classes. The classes were well received and the technique is very scalable. Online education will change the world.
The classes are built on the edX platform. 10gen runs an instance of the edX software on our own servers. There were two classes, M101, MongoDB for Developers, and M102, MongoDB for DBAs. I taught M101. Dwight Merriman taught M102.
We entered into a collaboration with edX to use the edX software. As part of that agreement, we contribute back any improvements we make to the software. I thank the good folks at edX, including Anant Agarwal and Rob Rubin for working with us.
Our classes were seven weeks long and designed to mimic college courses. Each week we delivered about two hours of lecture material along with quizzes and homework.
Although we are using the edX platform, our class flow is most similar to that of Udacity, a company whose techniques I have admired from the beginning. I took the first AI course and machine learning classes when they were offered at Stanford and then enrolled my daughter in Dave Evan’s CS101 class at Udacity when it launched. I also went through most of Steve Huffman’s CS253 course (web programming).
What I strived for was short lecture segments between 2-5 minutes long, each one designed to achieve a goal that was posed as “at the end of this segment, students should know X.” To test whether we had achieved our learning goal we placed a short quiz after the segment. I credit my wife Bari Erlichson for explaining the basics of curriculum planning to me.
I like the Udacity technique of having the instructor introduce the quiz on camera and go over the answer, so we used a variation of that.
The lectures segments were all recorded using a Wacom tablet and an overhead camera to also record hand movements. I will discuss the technique we used to record the video segments in a separate post.
We used a fairly simple quizzing engine for the initial run of the courses. We could handle only multiple choice questions, check-all-that-apply and fill-in-the-blank questions.
Homework was due weekly. Homework answers were validated using our quizzing engine. When the students needed to work on programming assignments on their local computer, we gave them validation scripts that would check their work.
The final exam was also administered through the quizzing engine but did require students to also write programs locally on their computer.
M101 adhered more strictly to the short-video-segment technique. M102, taught by Dwight Merriman, also included some longer segments.
In terms of staff, we had one full time engineer, one part-time engineer (full-time engineer working part time on 10gen education), one video editor and the partial help of the person who runs our in-person training. And of course Dwight and I worked on the courses.
All videos were hosted on YouTube and had captions that were transcribed in English by 3playmedia. The video player was embedded into the edX stack.
Students primarily interacted with each other in the forums, which were built into edX. The forum software was probably the least useable part of the system. I wish it were much more like Stack Exchange.
Overall, I would estimate that the course took me at least 20-30 hours per week. However, I was learning much of the material for the first time. An experienced instructor who has taught a course offline before would take less time.
The experience of creating the classes was pretty intense. Dwight and I both logged long hours and late nights recording material, designing quizzes and writing programming assignments. The engineers worked crazy hours to perform the customizations I asked for and our video editor saw the sun rise at the office multiple times.
We strived to deliver new material on Mondays. I would like to say that the whole course was developed and in the can on the first day, but the reality is that we often were working right up to the deadline we set for ourselves each week.
Hurricane Sandy hit in the middle when we were already slipping and the net result was that we slipped the courses a whole week in the middle. They ran eight calendar weeks.
I will be blogging for the next few days on a bunch of topics related to the course..