This calendar is subject to change throughout the quarter and can only be used as a guideline. If anything is not clear, please contact the course staff.

General Information

Lectures: MWF 10:30-11:20 in EEB 045

Section: Th 8:30AM or Th 9:30AM in MGH 254

Legend

     Lecture      Section
  Exam
  Assignment   Deadline
  Reading

Readings: C = Conceptual Info, J = your Java text, EJ = Effective Java, PP = Pragmatic Programmer.
Do the reading before the date on which it is listed.
You are responsible for all handouts, whether or not they appear on this schedule. You are not responsible for book sections that do not appear on the schedule (but you may find them very useful anyway!).

Calendar

Week of Monday Tuesday Wednesday Thursday Friday
3/29 29 L0 : Introduction
L1 : Specifications
Read: C1, C3; EJ 4.13-4.15, 4.22, ch 7, PP 3.17, 7.39.
Review: EJ 2.1-2.2, 2.4, 3.10, 8.45-8.46, 8.50, 8.52, 8.56, PP 1.1-1.2, 1.5, 3.14-3.16
PS 0 (out)
Sign up online before 8pm
30
PS 1 (out)
31 L2 : Testing
Read: C4; PP 6.34, 8.43
PS 0 (due at 9am)
1 S1 : Specifications and testing
PS 1 Problem 0 (due at 8:30am)
2 L3 : Procedural specifications
Read: PP 4.21
4/5 5 L4 : Abstract data types
Read: PP 2.7-2.9.
6
PS 1 (due at 8pm)
PS 2 (out)
7 L5 : Abstraction functions and representation invariants
Read: C5; ...
8 S2 : JUnit and Debugging
9 L6 : Subclasses and subtypes
Read: EJ 4.16-4.20
4/12 12 L7 : Identity, equality, and copying
Read: EJ 3.8-3.9,3.11-3.12
13
PS 2 (due at 8pm)
PS 3 (out)
14 L8 : Design patterns (1)
Read: EJ ch 5
15 S3 : Equality, hashing, generics
16 L9 : Exceptions
Read: EJ ch 9, PP 4.22-4.24

4/19 19 L10 : Debugging (and more testing)
Read: PP 3.18, 6.31.
20
PS 3 (due at 8pm)
PS 4 (out)
21 L11 : Catch up and review
Exam review at 7:30pm in room CSE 403
Come with questions
22 S4 : Testing and debugging
23
Midterm exam
Covers through 4/20/2010. Closed-book.
4/26 26 Lecture canceled
PS 1 (re-due at 8pm)
27
PS 5 (out)
28 L12 : Reasoning about ADTs
PS 4 (due at 8pm)
PS 2 (re-due at 8pm)
29 S5 : Reasoning with induction
30 L13 : Reasoning about code

5/3 3 L14 : Module dependences and decoupling
Read: PP 5.26, 5.29
4
PS 5 (due at 8pm)
PS 6 (out)
5 L15 : Design patterns (2)
Read: PP 6.33.
PS 3 (re-due at 8pm)
6 S6 : Performance, MDDs, and design patterns
7 L16 : Usability
5/10 10 L17 : System integration and software process
Read: C6
PS 4 (re-due at 8pm)
11 12 Catch up
6 S7 : Swing
14
PS 6 (due at 5pm)
PS 7 (out)
5/17 17 18 19 20 21 L18 : Type qualifiers
5/24 24 L19 : Advanced type systems
Read: J annotations
PS 7 (due at 8pm)
PS 8 (out)
25 26 L20 : Postmortem & feedback (optional)
27 28
5/31 31 Memorial Day
No classes
1
PS 8 (due at 8pm)
2 L21 : Exam review (optional)
Come with questions
3 Possible exam review (optional)
Come with questions
4 L22 : Wrapup
PS 4 (re-re-due at 5pm)
PS 6 (re-due at 5pm)
6/7 7
Final exam and awards
8:30-10:20am
Cumulative.
Closed-book.
8 9 10 11