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.
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
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.
Week of | Monday | Tuesday | Wednesday | Thursday | Friday |
1/3 | 3
L0 : Introduction L1 : Specifications 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 |