Learn about Databases, one of the most prevalent technologies underlying internet and computing applications today.Overview
"Introduction to Databases" was one of Stanford's inaugural three massive open online courses in the fall of 2011 and was offered again in early 2013. January 2014 will mark its third offering. The course includes video lectures and demos with in-video quizzes to check understanding, in-depth standalone quizzes, a wide variety of automatically-checked interactive programming exercises, midterm and final exams, a discussion forum, optional additional exercises with solutions, and pointers to readings and resources. Taught by Professor Jennifer Widom, the curriculum draws from Stanford's popular Introduction to Databases course.
Databases are incredibly prevalent -- they underlie technology used by most people every day if not every hour. Databases reside behind a huge fraction of websites; they're a crucial component of telecommunications systems, banking systems, video games, and just about any other software system or electronic device that maintains some amount of persistent information. In addition to persistence, database systems provide a number of other properties that make them exceptionally useful and convenient: reliability, efficiency, scalability, concurrency control, data abstractions, and high-level query languages. Databases are so ubiquitous and important that computer science graduates frequently cite their database class as the one most useful to them in their industry or graduate-school careers.
This course covers database design and the use of database management systems for applications. It includes extensive coverage of the relational model, relational algebra, and SQL. It also covers XML data including DTDs and XML Schema for validation, and the query and transformation languages XPath, XQuery, and XSLT. The course includes database design in UML, and relational design principles based on dependencies and normal forms. Many additional key database topics from the design and application-building perspective are also covered: indexes, views, transactions, authorization, integrity constraints, triggers, on-line analytical processing (OLAP), JSON, and emerging NoSQL systems. Working through the entire course provides comprehensive coverage of the field, but most of the topics are also well-suited for "a la carte" learning.
Jennifer Widom is the Fletcher Jones Professor and Chair of the Computer Science Department at Stanford University. She received her Bachelors degree from the Indiana University School of Music in 1982 and her Computer Science Ph.D. from Cornell University in 1987. She was a Research Staff Member at the IBM Almaden Research Center before joining the Stanford faculty in 1993. Her research interests span many aspects of nontraditional data management. She is an ACM Fellow and a member of the National Academy of Engineering and the American Academy of Arts & Sciences; she received the ACM SIGMOD Edgar F. Codd Innovations Award in 2007 and was a Guggenheim Fellow in 2000; she has served on a variety of program committees, advisory boards, and editorial boards.
The course material is scheduled for just over 9 weeks, followed by a final exam period March 20-22, 2014.
Each week includes 1-2 hours of video material, although some students review videos multiple times, while others opt to crank up the speed. Quizzes and exercises can vary from attempting the minimum number of problems just once (perhaps a couple of hours), to repeating all of the required and optional problems until you have them completely nailed. Because we provide pointers to a great deal of review material, and we've created a large number of optional exercises, the sky's the limit in terms of time commitment.
The course does not assume prior knowledge of any specific topics, however a solid computer science foundation -- a reasonable amount of programming, as well as knowledge of basic computer science theory -- will make the material more accessible. Also bear in mind that picking and choosing which topics to learn is a great approach, and not all topics require the same level of background.
Detailed lecture notes are provided. Having a textbook in addition to the notes is not necessary, but you might want to purchase one for reference, to reinforce the core material, and as a source of additional exercises. Suggested textbooks and readings are listed as part of the materials.
Stanford students watch exactly the same videos and do exactly the same quizzes and exercises. In addition, Stanford students work hand-graded "challenge problems" in certain topics, and they have a multi-part programming project.
No, you will receive an informal Statement of Accomplishment from the instructor.
In the previous two offerings, all students who achieved at least 50% of the possible points received a Statement of Accomplishment. We expect to use a similar metric this year.Share with friends and family!
Classes StartJan 06, 2014
Classes EndMar 22, 2014
Estimated Effort8-12 hours per week
Register to leave a review