6.171 Spring 2002
(Software Engineering for Internet Applications)
led by
Philip Greenspun,
Hal Abelson,
and
Andrew Grumet
Meetings: TR 1-2:30 in 26-152
Prerequisites: 6.001, 6.170 (or equivalent software development experience)
Calendar:
- Tuesday, February 5: first meeting
- Tuesday, February 19: no class (MIT on a Monday schedule)
- Thursday, March 7: all exercises through (and including) Software
Modularity chapter due
- Tuesday, March 12: Exercises 1-5 in Discussion chapter due
- Thursday, March 14: Exercises 6 and 7 in Discussion chapter due
- Tuesday, March 19: All exercises in WAP chapter due
- Thursday, March 21: All exercises in VoiceXML chapter due; Exercise
8 in Discussion chapter due
- March 25-29: MIT Spring Break
- Tuesday, April 2: mid-term handed out; exercises from Scaling
Gracefully chapter due
- Tuesday, April 9: mid-term due; exercises from Distributed
Computing chapter due; Talk by Marc Smith of Microsoft Research, creator
of netscan.research.microsoft.com.
- Tuesday, April 16: no class (Patriot's day vacation)
- Thursday, April 18: full-text search system up and running; lecture
by Henry Houh on performance
- Tuesday, April 23: Planning Redux exercises due; maybe a
lecture by Aaron Swartz on semantic Web
- April 24-end of semester: project work, assigned individually
- Thursday, May 16: last class
Grading and Required Work
- Class Participation in Design Reviews (25%): A central activity in
6.171 is in-class presentation of designs and critique of those designs.
When you're presenting, points are given for clear presentations of
design decisions and open questions. When you're in the audience,
points are given for constructive criticism.
- Term Project (50%): You and your partner(s) will share a grade for
the quality of the work that you do during the semester in building an
online learning community.
- Mid-term Exam (10%): The mid-term is a one-week take-home exam,
intended to require 2 or 3 hours of work. Your ability to think about
data model, user experience, and overall system engineering will be
tested.
- Final Exam (15%): The final exam will be similar in character to
the mid-term. It will be a 6-hour ex-camera examination. Everyone
works at the same time but not in the same room. In other words, you
sit at home with an Internet connection and email us your answers. The
exam is designed to take 2 or 3 hours to complete.
Note that this is the page for information about this particular
semester's offering of 6.171. For background on the course, please see
http://philip.greenspun.com/teaching/one-term-web.
One of the good things about 6.171 is that students are free to use
tools of their choosing in completing the coursework. The upside of
this is that if you've had a summer job in which you used Postgres and
PHP (for example), you won't be distracted during the semester by
having to learn new syntax. The downside is that we, the teaching
staff, can't help you very much with setup and administration of
tools. Each student is expected to set up and maintain his or her
environment, on his or her own computer, ideally a couple of weeks
before the start of the semester.
What if you don't own a PC? Does that mean you can't take 6.171? No.
We can lend you a computer for the semester, just as you were lent a
lab kit when you took 6.111 or 6.004. Unless you're going to maintain
the box remotely, you'll need to find a monitor for the machine.
If you have not done any Web development already and therefore aren't
familiar with any of the standard tools, we can suggest some ways to
configure your development server based on our past experience. The
first chapter of the course text,
http://philip.greenspun.com/internet-application-workbook/, discusses
tool options. If you decide to follow our advice and install
Microsoft .NET, you can get CD-ROMs and some help from David Mitchell,
Microsoft's on-campus representative: davidmit@microsoft.com. If you
decide to follow our alternative advice and install Oracle and
AOLserver on Linux, you can download the software from www.oracle.com
and www.aolserver.com. If you're stuck on the Oracle install, you can
get help from technet.oracle.com. If you're stuck plugging Oracle and
AOLserver together, good sources of advice are the forums at
http://www.openacs.org/bboard/ and http://www.arsdigita.com/bboard/.
In choosing tools, please note that 6.171 requires the use of an
ACID-compliant relational database management system. You'll learn
the definition of "ACID" during the semester. But for now suffice it
to say that MySQL is out; Microsoft SQL Server, Postgres, and Oracle
are in.
More: see the syllabus towards the bottom of http://philip.greenspun.com/teaching/one-term-web
philg@mit.edu