For all assignments, we have a dedicated cluster of machines, named mod1 through mod20, for this course. These machines are set up with less port blocking than a typical SEAS machine: it is up to you to use them responsibly.
Development will be in Java 5, aka JDK 1.5. (We believe Java 6 will work equivalently, but will not test on it, so use at your own risk.)
We recommend the use of subversion, a version control system, for maintaining your project code. Email svn@cis for a subversion repository. You can learn about subversion here.
As a development environment, we recommend Eclipse 3.1 or later (available on the mod cluster). You can get an Eclipse plug-in for subversion here.
Assignment 1: Web servers and servlets. Learning large APIs. You will need the Java JDK 1.5 for this.
You will also want the servlet helper classes, the servlet API jar, and the simple command line servlet runner.
Note that if you use Eclipse, you may ultimately need to set the classpath using the Eclipse GUI (this is via Window|Preferences, Java, Build Path, User Libraries in Eclipse 3.x).
Some useful URLs:
Assignment 2: web crawling, XPath, XQuery.
You will also need to use the following:
Assignment 3: Web services, distributed hash tables, mapping structured data.
You will want the following:
Final team project: P2P web crawler and search engine.