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

taught by Philip Greenspun and friends

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 an Intel/AMD (x86) processor, as much RAM as possible, and 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)

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:

Setting up your Laptop

So that the first hour doesn't turn into a nightmare of system administration, please read the Virtual Machine Instructions document for information on downloading and configuring the course materials on your laptop. Note that running the virtual machine requires a regular laptop running a major operating system (e.g., Windows, Mac OSX, Linux) and netbooks, Chromebooks, etc. may not have the power or the processor architecture to properly run the virtual machine. In addition to the virtual machine you will need to install the Java Development Kit and Android Studio in order to participate in the Android development exercises (will not be necessary on day 1). We will have some USB flash drives in the classroom, so if you are having trouble downloading or getting your laptop to work, please try to arrive at 9:30 or so on the first day.


grizzled old veterans of previous classes
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 short lecture. 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 15 years of experience developing RDBMS-backed Internet applications. He received a PhD in EECS from MIT in 1999. Grumet is currently at Google.

John Morgan, who has been developing RDBMS-backed web applications for about 10 years. Morgan's background is in the computer security field. He graduated from Olin College in 2009 with a B.S. in Electrical & Computer Engineering and subsequently from WPI with an M.S. in Systems Engineering.

Avni Khatri is a Program Manager in the Lab of Computer Science at Massachusetts General Hospital. She is also President of Kids on Computers, a 501(c)3 non-profit organization that sets up computer labs in areas where kids have no other access to technology. In her spare time she reads New Yorker and plays guitar.

David Buser David Buser is an erstwhile computer book author and teacher. These days he manages a team of offshore developers for a Fortune 500 company. In his spare time, he flies small airplanes and plays Terraria with his family. He lives near Pittsburgh, PA.

Paddy Mullen has spent 8 years working at web startups. He currently works at a hedge fund in Greenwich.

new and exciting for 2015

Stuart Brown has been involved in developing RDBMS backed web applications since 1995, mostly with Oracle and Java. He worked for small companies and consultancies where he was often principally responsible for a variety of database tasks, including installation, performance tuning, administration, api programming, and data modeling, and learned a bit about how databases work along the way. Currently he is a senior programmer-analyst at IS&T at MIT, where he has worked on a variety of database backed web applications and continues to push the envelope of the systems architectures and technologies used there. In another life, he received a PH.D. in Molecular Biology.