MIT IAP 2011: Relational Database Management System and Internet application programming

taught primarily by Philip Greenspun

Site Home : Teaching : One Course

After taking this course, you will You do not have to be an Electrical Engineering and Computer Science major to take this class. Some programming experience is required, but no database or Web development experience is assumed.

Requirements: a laptop computer with at least 10 GB of free disk space that you can bring to class every day (if not a current Athena account holder, you'll use guest access to the MIT network and we'll give you a virtual machine to run that has all of the required software already loaded)

It would be greatly appreciated if you'd register by emailing


The course is going to be a hands-on project class where you learn by doing and look up textbook and reference information as required to solve problems. No printed materials need be purchased to take this class and no reading need be done in advance. That said, here is a partial list of the materials that we will be using in class and you might wish to get a head start by reading some of the introductory chapters:


Philip Greenspun has been developing RDBMS-backed Internet applications since 1994. He started, an online community with more than 5 million monthly visitors, in 1993 while a graduate student in EECS here at MIT. He is a co-author of Software Engineering for Internet Applications and has been a TA or lecturer for various EECS classes at MIT, including 6.001, 6.002, 6.003, 6.041, and 6.171. Greenspun has developed roughly 200 database-backed Web applications.

Michael Stonebraker, one of the developers of the fundamentals shared by all modern RDBMS implementations, will give a capstone lecture following the class. Although Professor Stonebraker did most of his pioneering work on Ingres and Postgres at the University of California Berkeley, MIT has been fortunate to host Professor Stonebraker since 2001. Stonebraker is an unparalleled source for answering questions on "how do these things work under the hood" and for the past 10 years has been trying to solve the challenge of "what can we do about the fact that these RDBMSes are so darned slow?" and "how do we store and retrieve truly large databases?".

Andrew Grumet, who has 11 years of experience developing RDBMS-backed Internet applications. He received a PhD in EECS from MIT in 1999. Grumet is currently VP Product and Engineering at Mevio.

John Morgan, who has been developing RDBMS-backed web applications for 5 years. He's currently working in the computer security field. Morgan graduated from Olin College in 2009 with a degree in Electrical & Computer Engineering.

Shimon Rura, who has 7 years of experience developing RDBMS applications and, due to his consulting background, has a broad range of experience with different toolkits. Rura graduated with a degree in computer science from Williams College in 2003.