There will be five problem sets and one larger team project. Each problem set involves both written questions and programming problems.
Problem Set 1: Art of JFugue — introduction to Java, using APIs
Out: Tuesday, 25 August, Due: Tuesday, 31 August (3:30pm)
Problem Set 2 — procedural abstraction, using abstract datatypes
Out: Tuesday, 31 August, Due: Thursday, 9 September (3:30pm)
Problem Set 3 — designing datatypes
Out: Thursday, 9 September, Due: Tuesday, 21 September (3:30pm)
Problem Set 4 — subtyping, inheritance
Due: Monday, 11 October (4:59pm)
Problem Set 5 — concurrency, networking
Due: Tuesday, 26 October (3:30pm)
Project
Various deliverables and presentations, final presentations on Tuesday, 7 December (3:30pm)