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
- Dates: Monday, January 26-Wednesday, January 28, 2015, 10 am to 5
pm (plus office hours 5-7 pm) with breaks for lunch and coffee
- MIT course number: 6.S186 (6 units of credit)
- Cost: $free
- Enrollment: please register by emailing firstname.lastname@example.org
- Prerequisites: have written and debugged at least one computer program
- Room: 32-124
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.
- know why the relational database management system (RDBMS) is the
foundation for most multi-user Internet applications and for most business information systems
- know how to write programs in SQL, the standard declarative
language supported by nearly all RDBMS products
- understand a bit about the internals of the RDBMS and how popular
systems, such as Oracle, manage the challenge of processing updates
from hundreds of simultaneous concurrent users
- know the differences in capabilities between free RDBMSes, such as
MySQL and PostgreSQL, and enterprise RDBMSes
- know about at least one way to connect an RDBMS to a Web server
- know how to build a multi-user application for Android smartphones
- the limitations of the traditional RDBMS and some new/experimental approaches to escaping from those limitations
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 email@example.com.
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
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
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 photo.net, 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.
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
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 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.
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.