This calendar is subject to change throughout the quarter and can only be used as a guideline. As always, if you're unsure of anything, check with the course staff.

General Information

Lectures: MWF 11:30-12:20 in EEB 037

Section: Th 8:30-9:20 or Th 9:30-10:20, both in MGH 044

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 material in all handouts, whether or not they appear on this schedule. You may find unassigned sections from the books useful, but they are not required.

Calendar

Week of Monday Tuesday Wednesday Thursday Friday
1/3 3 L0 : Introduction
L1 : Specifications
Read: C1, C3; EJ 3.12, 4.13-4.14, 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.56; PP 1.1-1.2, 1.5, 3.14-3.16
4
PS 0 (out)
PS 1 (out)
Run student-setup before 8am
5 L2 : Testing
Read: C4; PP 6.34, 8.43
PS 0 (due at 8pm)
6 S1 : Specifications and testing
PS 1 Problem 0 (due at 8am)
7 L3 : Procedural specifications
Read: PP 4.21
1/10 10 L4 : Abstract data types
Read: PP 2.7-2.9.
11 12 L5 : Abstraction functions and representation invariants
Read: C5
PS 2 (out)
PS 1 (due at 8pm)
13 S2 : JUnit and Debugging
14 L6 : Subclasses and subtypes
Read: EJ 4.16-4.20, 8.48, 8.52
1/17 17 MLK Day
No classes
18 19 L7 : Preventing null pointer errors
Read: J annotations, Checker Framework manual chapter 3
20 S3 : Subclasses and subtypes
Read: J classes
PS 3 (out)
24 L8 : Generics and polymorphism
Read: J generics, EJ ch 5
PS 2 (due at 8pm)
1/24 21 L9 : Design patterns (1)

25 24 L10 : Identity, equality, and copying
Read: EJ 3.8-3.9,3.11-3.12, 4.15
Read: PP 3.18, 6.31
27 S4 : Equality, hashing, generics
Exam review at 7:30pm in room CSE 403
Come with questions
28 L : Catch up and review
PS 4 (out)
PS 3 (due at 8pm)
1/31 31
Midterm exam
Closed-book.
1 2 L11 : Debugging
3 S5 : Testing and debugging
4 L12 : Exceptions
Read: J exceptions, EJ ch 9, PP 4.22-4.24

2/7 7 L13 : Reasoning about ADTs
PS 5 (out)
PS 1 (re-due at 8pm)
8
PS 4 (due at 8pm)
9 L14 : Reasoning about code
10 S6 : Reasoning with induction
PS 2 (re-due at 8pm)
11 L15 : Design patterns (2)
Read: PP 6.33
2/14 14 L16 : Module dependences and decoupling
Read: PP 5.26, 5.29
PS 3 (re-due at 8pm)
15
PS 6 (out)
PS 5 (due at 8pm)
16 L17 : Design patterns (3)
17 S7 : Performance, MDDs, and design patterns
18 L18 : System integration and software process
2/21 21 President's Day
No classes
22
PS 4 (re-due at 8pm)
23 L19 : Usability
24 S8 : Swing
PS 7 (out)
PS 6 (due at 8pm)
25 L19 (cont.) : Usability
2/28 28 1 2 L20 : Automated program verification
3 S8 : Performance debugging
PS 8 (out)
PS 7 (due at 8pm)
4
3/7 7 8 9
PS 8 (due at 8pm)
10 11 L21 : Wrapup
3/14 14
PS 6 (re-due at 8pm)
Exam review
7:30-9:30pm
EE 025.
15 16
Final exam
2:30-4:20pm
Cumulative.
Closed-book.
17 18