CSE 455:  Internet and Web Systems

Spring 2004

 

Location: Towne 321 , Monday/Wednesday 4:30PM – 6:00PM

Instructor

Zachary Ives, zives@cis.upenn.edu, (215) 746-2789

Location:  576 Levine Hall N (a.k.a. GRW building)

Office hours: Tuesdays, 4:30PM unless otherwise announced

Teaching Assistant

Aneesh Kapur, aneeshk@seas.upenn.edu

Office hours: 10-11AM, Mondays, Levine/GRW 459

Course Objectives

This course focuses on the issues encountered in building Internet and web systems: scalability, interoperability (of data and code), atomicity and consistency models, replication, and location of resources, services, and data.


We will examine how XML standards enable information exchange; how web services support cross-platform interoperability (and what their limitations are); how to do proxy caching, replication and Akamai-like content distribution; and how application servers provide transaction support in distributed environments. We will study techniques for locating machines, resources, and data (including directory systems, information retrieval indexing and ranking, web search, and publish/subscribe systems); we'll discuss collaborative filtering and mining the Web for patterns; we'll investigate how different architectures support scalability (and the issues they face). We'll also examine the ideas that have been proposed for tomorrow's Web, including the "Semantic Web," and see some of the challenges, research directions, and potential pitfalls.


An important goal of the course is not simply to discuss issues and solutions, but to provide hands-on experience with a substantial implementation project. This semester's project will be a peer-to-peer information-sharing and querying system based on a web services architecture.

Recent Web Site Updates

3/14: Added details on project, midterm, and midterm answers

Textbooks

This course covers a number of different topics, so we will use a variety of materials:

Prerequisites

CSE 380 (Operating Systems) or equivalent; CSE 330 (Database Management Systems) or equivalent; knowledge of Java programming. This course will require a significant amount of programming and will require the ability to work with your classmates in teams.

Format

The format will be two one-and-a-half-hour lectures a week, plus assigned readings from the course reader.  There will be regular homework assignments and a substantial implementation project, plus a midterm and a final exam. 

Grading

Three homework assignments, midterm, and final exam.  Breakdown: homework 21%, midterm 14%, final 20%, project 40%, participation/intangibles 5%.

Other Resources

Significant Dates

 

Back to top

 

Last revised: January 9, 2004