Java Programming
Fall 2005

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

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

TA: Mo Alkhafaji
Office: 177
Office Hours: 4:30-6:30 W
Email: Mo.Alkhafaji@bankofamerica.com

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 hours on Wednesday. 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 Edition) by Gary Cornell, Cay S. Horstmann

Recommended Texts


Required Software

Important Links:



All course material (updated throughout course)


Lectures


Week 1 Sept 27: Introduction




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



Week 3 Oct 11: Interfaces and abstract classes


Week 4 Oct 18: More complex Object relationships


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


Week 6 Nov 1: Swing



Week 7 Nov 8: Collections, etc.



Week 8 Nov 15: Cancelled due to Arsonist. Makeup to be scheduled.


Week 9 Nov 22: Introspection, Intro to Threads


Week 10 Nov 29: Testing


Week 10 Dec 6: Makeup class