
Professor: Andrew Siegel
TA/Grader: Chunyan Song
Office Hours: Wed 4-6, Thu 6-8
Office Location: Hinds 030
Email: cysong@cs.uchicago.edu
Course Description:
This is an advanced course designed for students with a good
foundation in Java programming. Basic familiarity with C is also
assumed. The course focuses on designing distributed, multithreaded
applications with the Java platform. It is an application programming
course. Emphasis is placed on applying technology rather than studying
API design and implementation. Topics proceed (roughly) from
"low-level" to high level network programming concepts: socket byte
streams, object serialization, Remote Method Invocation, Java/CORBA
(minimal), Web Services, and (briefly) Enterprise Java Beans. While
any of these topics alone could form the basis for an entire course,
the emphasis is on providing students with an adequate foundation for
pursuing individual topics in greater depth. Along the same lines, a
major focus of the course is to help students determine when to best
apply a given Java technology in a real world, multi-tier application.
Course Format:
Instructor lecture with significant student participation.
Please come prepared.
Grading:
There will be 3 assignments -- together accounting for 75% of the
grade. Periodic in-class quizzes will account for the other 25%.
There is no final exam. Click here
for detailed discussion of homework grading policies.
Getting Help: The TA and professor will announce office hours during the first class. When possible, all technical questions should be discussed over the course listhost: cspp51037@cs.uchicago.edu
Required text:
Recommended Texts:
Required Software
Important Links:
Week 1 Jan 9: Java Socket Programming
Week 2 Jan 16: MLK HOLIDAY, NO CLASS
Week 3 Jan 23: Java RMI
Week 4 Jan 30: RMI example; Intro to JDBC
Week 5 Feb 6: JDBC, Image Processing, Intro to Servlets
Week 6 Feb 13: Servlets, cont + JSP
Week 7 Feb 20: Java and XML
Week 8 Feb 27: XML Parsing, XSL
Week 9 Mar 6: JAXB
Week 10 Mar 13: Development tools