Schedule

This schedule accurately approximates what we have completed, and it provides current, tentative plans for future classes.

1.Jan 13 Ada control
2.Jan 15 Ada types
3.Jan 17 Ada subroutines, parameters
4.Jan 21 Syntax, grammar, and ambiguityAssn 0 due
5.Jan 23 CompilationQuiz 0
6.Jan 27 Correctness of straight-line programs
7.Jan 29 Invariants and iterative correctness
8.Jan 31 Correctness practiceProj 0 due
9.Feb 4 Binding timeAssn 1 due
10.Feb 6 GenericsQuiz 1
11.Feb 10 Smalltalk I
Liu Ch 1, Sec 3.1 and 3.2
12.Feb 12 Smalltalk II
Liu Ch 2, Sec 3.5 to 3.10, BankAccount tutorial
13.Feb 14 Smalltalk practiceProj 1 due
Assn 2
14.Feb 18 UML; PatternsAssn 2 due
About UML (we're doing class diagrams only), Liu Sec 18.1, 18.9, 18.13, 18.14.
15.Feb 20 Patterns, cont'd; frameworksQuiz 2
Liu Sec 18.3, 18.5, 18.10, Frameworks (also introduction to Liu Ch 19)
16.Feb 24 Garbage collection
Liu Sec 16.3, 16.4, 16.5
17.Feb 26 Multiple inheritance
Liu Sec 9.2, 9.3, 9.6, 9.7, posted notes
18.Feb 28 Metaclasses / ReflectionProj 2 due
Liu Ch 20, CheckedArray.java
SPRING BREAK
19.Mar 11 OOPL compilation
Liu Sec 16.2, Compiling object-oriented languages (PDF)
20.Mar 13 MIDTERM
21.Mar 17 Haskell introduction (Ch 2, Sec 3.1, 3.2)
Hudak Ch 2, Sec 3.1, 3.2, Code
22.Mar 19 Haskell patterns (Ch 4, not 4.4)
Hudak Sec 3.5, Ch 4, not 4.4, Code
23.Mar 21 Lazy v eager evaluationProj 3 due
Hudak Sec 3.3, 3.4, 3.5, Notes
24.Mar 25 Lambda calculusAssn 4 due
Notes
25.Mar 27 Lambda calculus and recursionQuiz 3
Notes
26.Mar 31 Lambda calculus and numerals
article, Assn 5
27.Apr 2 Haskell types and classes
Hudak Ch 5, Code
28.Apr 4 Haskell structures and showingProj 4 due
Hudak Sec 6.2, 8.3
29.Apr 8 Printing and parsingAssn 5 due
Hudak Sec 8.3
30.Apr 10 Persistent treesQuiz 4
TBA
31.Apr 14 Persistent queues
TBA
32.Apr 16 Random-access lists
Notes
EASTER BREAK
33.Apr 23 Monads
Winstanley Sec 1-4, Hudak Ch 9, Code
34.Apr 25 I/OProj 5 due
Winstanley Sec 5-6, Hudak Ch 7, Code
35.Apr 29 Functional language optimization
Notes
36.May 1 Survey of languagesAssn 6 due
Notes
Thu, May 8 FINAL, 11a