I recently said to a friend that I felt I needed to learn more about databases. That’s kind of an odd thing maybe, since I don’t really have much direct involvement with databases, but I like to learn. He suggested I take an free online course from Stanford and sent me the link to Stanford’s Introduction to Databases. The course opened up for me a whole new concept, OpenCourseWare. Oh I’d heard of it before in the context of Wikiversity and MIT’s recordings of their live courses, but this was different, an instructor led course with homework and quizes and exams and deadlines. 53,000 people were signed up by the first week of class, around 16,000 took the first quiz on schedule.
The course is awesome. The first week we got an overview of relational databases and then dove into XML, DTD’s, XML Schema and JSON (which, BTW, are not relational databases), then we went heavy into Relational Algebra, which reminded me why I liked set theory in elementary school so much and made me wonder why set theory wasn’t really even talked about in high school (something I’ve wondered many times, actually, sets rock). Next we slid into SQL, which is specialized programming language used for managing data in Relational Database Management Systems (RDBMSs) and originally based on relational algebra. I had a bit of trouble with some of the SQL modifications and I haven’t done much of the challenge level exercises yet but I am having a lot of fun. Lastly we covered Relational Design Theory, including multi-valued dependencies. This past weekend we had the midterm exam and I did well.
I have thought for years that we need more distributed models of education and this is a step in the right direction, several steps really because, among other things, it’s free! Many of the students were not in the US and were not native English speakers. Yet they were able to participate. We collaborated through a combination of piazza and IRC (both had their places but I much preferred the latter). This is moving us towards a true democratization of ideas. And it seems that the teachers find it rewarding to, even more so than their normal teaching in some respects. Professor Widom, the chair of CS at Stanford, heads this course and she blogged a year ago that this was “one of the most rewarding things I’ve done in my life.” 1
Some of the courses are eligible for credit – at other institutions. Others are a reasonable prep for credit by exam at a university or for a CLEP or DANTES testing. Of course, the course may not mirror the exam and that could be a problem. What we need now is to establish an institution that distributes education this way entirely and finds some meaningful way to authenticate student identities and validate their scores, thereby obviating the need for a separate examination. We could even group source the faculty.
At the same time, we need professional organizations to recognize this form of training for continuing professional education, such as is required in law, medicine, accounting, etc. Such continuing education is often costly, especially for those not actively practicing. These programs should count for continuing professional education wherever other college course do (and even without accreditation they would likely already qualify in many jurisdictions, albeit with lengthy paperwork requirements).
Most importantly though, these have immediate value for personal/professional development. You can learn about almost anything, asynchronously (i.e. without fixed class times) and free, in a semi-structured environment designed to not require expensive texts. And, there is so much relevant knowledge to learn.
I’m compiling a list of OpenCourseWare materials on my wiki.
Notes:
- Widom, Jennifer, ACM Sigmod Blog, “From 100 Students to 100,000”, http://wp.sigmod.org/?p=165 ↩