Java Programming
Fall 2007

Course number: CSPP51036
Location: Reyerson 277
Time: Mon 5:30-8:30

Professor: Andrew Siegel
Office: Ry175-B
Email:asiegel@cs.uchicago.edu
Office Hours: 3:30-5:30 Tue

TA:
Office:
Office Hours:
Email: Course description: This is a fast-paced first course in Java for students with some prior programming experience, though not necessarily in an object-oriented language. A strong emphasis will be placed on understanding basic fundamentals of OO design -- inheritance, polymorphism, composition, etc, and more generally on applying sound principles of modern software engineering to real-world problems. In the latter half of the course more advanced OO design patterns will be studied in the context of certain Java libraries (e.g. Swing). However, the main focus will be on using the "core language" to write good software rather than a detailed study of particular high-level libraries.

Course Format: Instructor lecture with significant student participation. Please come prepared.


Getting Help: The TA will have a group review session followed by more informal office hoursy. He will also be available by appointment. The Instructor will be available both by appointment and at regular office hours, before class each Tuesday. The course listhost is the best place to get help quickly. We will monitor it as frequently as possible and often be able to answer immediately. Students are encouraged to help their peers on the listhost by contributing when it is convenient. Please register at cspp51036@cs.uchicago.edu

Required text Core Java 2, Volume I: Fundamentals (7th or 8th Edition) by Gary Cornell, Cay S. Horstmann

Recommended Texts


Required Software

Important Links:



All course material (updated throughout course)


Lectures


Week 1 Sept 24: Introduction




Week 2 Oct 1: Object Basics (Prof. Shacklette, guest Lecturer)



Week 3 Oct 8: Interfaces and abstract classes


Week 4 Oct 15: More complex Object relationships


Week 5 Oct 22: io, exceptions, other language features


Week 6 Oct 29: Swing



Week 7 Nov 5: Collections, etc.



Week 8 Nov 12:


Week 9 Nov 19: Introspection, Intro to Threads


Week 10 Nov 26: Testing


Week 10 Dec 6: Makeup class