Stanford: Introduction to Databases

Stanford: Introduction to Databases

Overall Course Rating:  10/10

Completion Date: April 1, 2013
Platform: Stanford Class2Go


—— Lectures ——
Jennifer Widom is a phenomenal MOOC teacher. She is able to condense a very complex subject matter into succinct videos including detailed examples. If you have never worked with databases or tables before, then it may be a bit difficult to pick up initially, but Widom does a great job of onboarding laypeople. She clearly has video lecturing experience from teaching the SCPD course online.

In addition, her lectures also cover a broad array of topics with good depth. Some topics I found particularly useful include XML, JSON, and differences between various open source SQL databases. Some of the topics are bit more abstract, such as the Unified Modeling Language, and not absolutely essential (thought extremely beneficial), but Widom does a good job of demonstrating their importance in each video.

You can also see that the online class mirrors the actual Stanford class exactly in terms of content. The most significant difference is that Stanford student’s get a big term project.

—— Assignments and Exams ——
All assignments were fair and excellent practice. Some exercises were quite challenging, and I had to exert quite a bit of brain power to get the right answer, but you know you’re learning when you run into such mental blocks. After doing Widom’s exercises, you will confidently be able to tell others that you can handle XML and SQL queries.

Because this class has been offered a number of times already, there were almost no mistakes (except edits you’ll see in her lecture videos). But it is very refreshing to see a technical course with nearly no mistakes, AND all of the questions are worded clearly without ambiguity. Ambiguous questions are a problem I’ve encountered in other online courses.

—— Additional Intangibles ——
Widom has been teaching this course as a MOOC since Fall 2011, and it is evident throughout the entire course, from lectures to materials to organization. First offered on a pre-Coursera platform, then ported to Stanford Class2Go, now it will be available on January 7, 2014 through Stanford Online which runs on the open source edX platform.

I also like that the Statement of Accomplishment gave me a breakdown of exactly how I performed in each aspect of the course:

  • Quizzes: 71.0 out of a maximum of 71.0
  • Exercises: 54.0 out of a maximum of 54.0
  • Exams: 27.0 out of a maximum of 38.0
  • Challenge Level Exercises: 46.0 out of a maximum of 46.0
  • Scaled Total (exercises doubled, exams tripled): 260.0 out of a maximum of 293.0

I like that all of the materials were well organized and easy to download in bulk, including examples covered in the lectures. This made it easy to go back and reference Widom’s code after the lecture. I would recommend some kind of code editor just to make your own submissions easier to proofread. My personal favorites are Sublime Text and Notepad++ (sorry Mac users).

—— Conclusion ——
To date, this has been my favorite and most rewarding MOOC. I would honestly recommend it to everyone. I would argue that it is essential for anyone in a Computer Science or Engineering program, regardless of whether you want to specialize in databases or not.

This student survey from the 2011 course offering further reinforces my point. You can also read Widom’s personal thoughts from the inaugural class; you’ll see that she was one of the earliest adopters of “free-to-the-world” courses.

—— Personal Recommendations ——

  • The course should be required by all CS programs
  • Learn to run SQL queries and XML queries
  • If you aren’t interested in databases, you should take it just to learn a new way of thinking about organized information