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 | ||