The schedule is tentative and is subject to change as the semester progresses.

Week Month/Date/Day Topic & Lecture Deadline (if any) Reading
1 Jan/20/Tue Introduction
Force-Add Deadline
Jan/22/Thu Internet History and Trends
Class Roadmap
Jan/27/Tue Client-server architectures
Internet Protocols
Jan 26: Class Add Deadline HTTP Tutorial

JNP: Chapters 2 and 3.

Jan/29/Thu HTTP   HTTP Power Point slides

3 Feb/3/Tue Java sockets   Sockets Power Point slides
Feb/5/Thu Dynamic Web content
Java Servlets
Prog. Teams Formed Servlet Examples with Code
Java™ Network Programming and Distributed Computing
By David Reilly, Michael Reilly Chapter 10

Just Java™ 2, Fifth Edition
By Peter van der Linden Chapter 26
4 Feb/10/Tue Concurrency Prog. Teams Finalized Andrew Birrell, An introduction to programming with threads, Research Report 35, Compaq Systems Research Center, Palo Alto, CA, January 1989.

Andrew Birrell, An Introduction to Programming with C# Threads, May 2005.

Jennifer deJong, The Race Is On to Debug Dual-Core Deadlocks, Software Development Times.

Feb/12/Thu Concurrency Contd.
Server Design issues
  • 1st Programming Project Assigned
Concurrency Tutorial From Sun
Concurrency in JDK 5.0 (Brian Goetz)
5 Feb/17/Tue Server Design Alternatives
  Web Server Architectures
Apache JMeter
Feb/19/Thu Proxying and Caching Ari Luotonen and Kevin Altis, "World-Wide Web Proxies."

Ramon Caceres, Fred Douglis, Anja Feldmann, Gideon Glass, Michael Rabinovich, "Web Proxy Caching: The Devil is in the Details."
6 Feb/24/Tue Proxying and Caching Contd.
Rich Internet Applications

Feb/26/Thu RPC
  • 1st programming project due

7 March/3/Tue Scalable Internet Services
Midterm review
  • March 2 -- Class Drop Deadline
Andrew Birrell and Bruce J. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2(1):39-59, February 1984.

March/5/Thu Midterm  
9 March/17/Tue Midterm discussion
Local vs. distributed computing models.
  Jim Waldo et al, A Note on Distributed Computing, TR-94-29, Sun Microsystems Laboratorie, November 1994
March/19/Thu Distributed Objects
Java RMI
  • Research Project Proposal Due
Ann Wollrath, Roger Riggs, and Jim Waldo, A Distributed Object Model for the Java System,  Sun Microsystems, Inc.
10 March/24/Tue Java RMI contd.
  • 2nd Programming Project Assigned
March/26/Thu Topics in Dist. Objects   Eli Tilevich and Yannis Smaragdakis, "NRMI: Natural and Efficient Middleware."
11 March/31/Tue Service Oriented Architecture
Web services
Cloud Computing
April/2/Thu XML and XML processing   XML: The Center of Attention Up and Down the Stack by Greg Goth
12 April/7/Tue Security
  • 2nd Programming Project Due
April/9/Thu Research topic in Web services (Yang)    
13 April/14/Tue
  • RP1: Myoungkyu Song
  • RP2: Hamid Al-Hamadi
  • RP3: Arif Khokar
  • 3rd Programming Project Assigned
14 April/21/Tue
  • RP4: Ashley Robinson
  • RP5: CORBA Adam Stevens
  • RP6: RESTful Web services Matthew Gill
  • RP7: Ruby on Rails Brandan Reed
  • RP8: PHP Emily Bollinger
  • RP9: Tailored Ads Sergio Bernales
15 April/28/Tue
  • RP10: CSS Kyle Lilly
  • RP11: Standardization Cory Davis
  • RP12: BitTorrent Jason Dunn
  • 3rd programming project due
  • RP13: Security Attacks and Defenses Morgan Harris
  • RP14: Secure Shell (SSH) Ken Kania
  • RP15: Quake Live Kevin Robinson
16 May/5/Tue Conclusions