Making education run like open source
- 30 minute talk
What does it mean for a university course to run like open source? Not just to be open to students, but open to contribution?
Too often, "open source" for education just means that the teachers put a CC licence on their materials, and use some open source infrastructure. But the course itself is produced behind closed doors, single-voiced as the entire content comes from the instructor running the course, and very little collaboration takes place. The revolution of collaboration that open source brought to software -- of competing companies contributing to common projects -- has not yet happened in education.
I'd like to talk about our efforts to make education truly open -- not just open to students, but open to contribution.
[Note: the focus is on the first of these. The last two are short descriptions of a couple of implications that we're also working on.]
Last year we put 140 students on a single project. And it worked. This year, we're taking the course out to the world, and we'd like you to help.
On campus, the course runs like a large software development project. Students work in feature teams, contributing to a common project, using GitHub, continuous integration, etc (last year, we built a games arcade a bit like Steam). For software engineering, this works well, as it is when someone outside your small group starts working with your code that you discover the value of good tests and API design.
We're turning this into a collaborative project-led MOOC, developed in the open, and run in the open. Not only is are the student projects open, but the content too runs from GitHub (open to pull requests, and community involvement, as well as forking). Industry, open source, and the community also have an interest in students learning this material. And if we're going to teach the collaborative nature of programming, surely we should do it collaboratively.
We have three universities involved, and are talking to local industry efforts. But we'd also like to work with you. We want this to be a course where the community (universities + industry + open source) teaches students to program together, together.
Usually in a course, the content comes from the teaching staff. But in the our course on-campus, our students were guiding the project and might need materials that we might not predict. How could we make the course open to contributions from its participants while it was running?
We wrote some open source interactive teaching tech that works more like a social stream -- so that student's posts and lecturers' content has equal treatment. This means that the community interaction is on the teaching materials, not through a separate door marked "forum". This is something that a few forward-looking MOOC providers are starting to catch up with, particularly openLearning (although they are not open source).
Supercollaborative starts in the open -- it's being developed on GitHub Pages. But most courses don't. If we wanted all the rest of the world's courses to be open, and modifiable, how could we do it? Tweaked is my effort to make open collaboration on courses happen simply by making it easier.