Massive Open Online Courses (MOOC) became popular early this year with offerings from Coursera, Udacity and EdX. These platforms were inspired by the phenomenal success of the three online courses (db-class, ai-class and ml-class) that ran in late 2011. It has never been so easy to get high-quality knowledge – for example, Coursera has renowned experts teaching over 200 courses; moreover the incentive of getting certificates appeals to many of us.
I have taken a couple of courses since the year started and I periodically enroll in new courses. Presently; I am registered in about 50 courses (am I greedy? :) ) – I am not taking all of them simultaneously however I want to have access to the course content when I have time.
It’s impossible to learn everything and I don’t really care much about getting certificates (they are nice to have though); I am more interested in understanding the course and getting the concepts right. The same concept applies to everything I do: now I am not saying excellent grades are bad. I appreciate great grades however I place more importance on thorough understanding and being able to apply concepts.
After completing Professor’s Kearn’s Networked life which I enjoyed; I decided to take Professor Jennifer Widom’s Database course. I had earlier enrolled for the course in late 2011 however I had to drop out because of my coursework at MASDAR. The courses started off well enough but soon became challenging. I thought I was good at databases since I have been writing SQL queries (mostly CRUD and referential integrity etc.) for at least 3 years however I was wrong.
Professor Jennifer Widom does a pretty great job of guiding students through the concepts. The videos are easy to follow and have been meticulously prepared however the assignments are quite challenging and I recommend you do them if you really want to understand the course. I initially wanted to post my answers on my github however I don’t think I’ll be doing that – it doesn’t help anyone: the main aim is to get the knowledge and not just perfect scores.
I have learnt a lot: relational algebra, XML, JSON, SQL, constraints, triggers and a whole slew of other topics. It was also good to learn about database indexes, their types and applications; the succinct exposition provided great insight into the merits and demerits of this great concept.
I don’t want to be a database administrator but I want to learn. Moreover I am always interested in programming languages and paradigms and SQL is a language in its own right. It’s a declarative language and forces you to think in weird ways but it’s always fun to stretch ain’t it? Some people write and solve problems in SQL; talk about gurus….
Alhamdulilah, the skills I picked come in handy for my work using the stackoverflow dataset so you never can say when you’ll need some knowledge. It’s even possible to query XML data using XPath or XQuery or XSLT however the results will be in XML. If you’re interested in doing mental acrobatics; write some SQL code or challenge yourself.
Well I haven’t finished the course – I am midway through but I’ll gladly recommend it to anyone who is interested in DBs who to anyone who just wants to learn. That’s it for this week; insha Allaah I’ll be writing about productivity or Ember or my thesis next week.
Learn, learn even more and never stop learning…