Introduction to Databases(class2go.stanford.edu) |
Introduction to Databases(class2go.stanford.edu) |
CS 101 - https://www.coursera.org/course/cs101 Compilers - https://www.coursera.org/course/compilers
I will check again later tonight and see if there are more I will add them to the list at http://www.class-central.com/courses/selfpaced
The practical aspect of the course was heavily focused on SQL (Queries). Lots of interactive exercises that relied upon SQLLite which uses ANSI Standard SQL. This helped with focusing on constructing queries that did not use vendor specific features. There was a decent amount of XML related processing and querying. NoSQL was only mentioned in passing - and was essentially an afterthought in the 2011 course.
The format of the course was closer to traditional college format (with relatively long lectures). I generally don't care for this in online classes. Due to time constraints, I skipped lectures in areas with which I was familiar and went straight to the exercises/quizzes. I thought the quizzes were really excellent, and the problems presented (and online validation/checking of problems) was really great.
As one with a fairly extensive background in databases (Oracle DBA Cert, years of experience with Oracle, Informix, DB2) I really found the course helpful and well worth the time. It does not provide much practice in Data Modeling or NoSQL. All in all one of the best technical educational experiences I have had in any format.
The course is probably way more theoretical than you'd expect. It goes a lot into relational algebra, schema design, and UML.
The online SQL quizzes are pretty cool little puzzles but the only truly exciting part of the class was creating a website using a large database as the final project, which I can't imagine will be offered in the online version.
If you don't know anything about databases or are trying to learn SQL, it could definitely be worthwhile.
The year I took it, they couldn't get the Oracle licenses sorted out in time so they forewent the entire final project. They ended up just talking about XPath and Data Warehousing instead (both of which seemed way too enterprise-y to me at the time to commit either to long-term memory). The schema design stuff I found helpful, if only to drill into my mind the importance of data normalization.
Do you believe it'll offer this?
As far as I'm concerned, this is one of the best OCW courses available. Very challenging at the beginning. Though I think there are areas that could be improved upon, it will take you from zero to proficient. Although I've never used views in real life, I have used triggers; I know how to normalize okay (I guess?), and can figure out the logic to run fairly complex queries over raw data.
What you won't learn about is creating optimized and fast queries, though this is something you'll get with experience, trial and error, and research. The NoSQL section is wanting, but the goal of the course is to teach you relational theory and general SQL concepts, which it does a very good job at.
Of course, if you want to be a PostgreSQL or Oracle master, you'll probably have to buy the requisite books or comb the online docs. If you want to learn how to integrate the DBs into your programming language or platform, that is a self-study item as well.
The sections on relational algebra and relational models are really good. The course covers the basics of db - sql, constraints, views, triggers and authorization very well. I particularly liked the coverage on transactions, an area that most web programmers will benefit from.
With respect to xml, I found the level of detail to be quite good again but I don't really use much of xquery or xslt these days.
While the course does cover Olap and nosql, it is quite light compared to the relational and xml units of the course.
I see that they have added a new section on json in the new version of the course. Some of the questions in the homework and exams are slightly tricky but nothing too hard.
I didn't really get to see the office hours videos, so can't comment on that. Overall, I think it is an excellent introductory db course. Just make sure you don't fall back on the schedule as some of the material can be quite heavy.
Some of the exercises confounded even the database experts who were taking the course for various reasons.
The forums were immensely helpful too.
The course did not dwell into database internals, though I did get a feel for what must be going on inside.
I've written more about my experience of it here: http://henrikwarne.com/2011/12/18/introduction-to-databases-...