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 ambiguity | Assn 0 due |
5. | Jan 23 | Compilation | Quiz 0 |
6. | Jan 27 | Correctness of straight-line programs | |
7. | Jan 29 | Invariants and iterative correctness | |
8. | Jan 31 | Correctness practice | Proj 0 due |
9. | Feb 4 | Binding time | Assn 1 due |
10. | Feb 6 | Generics | Quiz 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 practice | Proj 1 due |
Assn 2 | |||
14. | Feb 18 | UML; Patterns | Assn 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; frameworks | Quiz 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 / Reflection | Proj 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 evaluation | Proj 3 due |
Hudak Sec 3.3, 3.4, 3.5, Notes | |||
24. | Mar 25 | Lambda calculus | Assn 4 due |
Notes | |||
25. | Mar 27 | Lambda calculus and recursion | Quiz 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 showing | Proj 4 due |
Hudak Sec 6.2, 8.3 | |||
29. | Apr 8 | Printing and parsing | Assn 5 due |
Hudak Sec 8.3 | |||
30. | Apr 10 | Persistent trees | Quiz 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/O | Proj 5 due |
Winstanley Sec 5-6, Hudak Ch 7, Code | |||
35. | Apr 29 | Functional language optimization | |
Notes | |||
36. | May 1 | Survey of languages | Assn 6 due |
Notes | |||
Thu, May 8 | FINAL, 11a |