Lecture | Date | Topic | Reading
|
|
1. | Sept. 3 | Intro & Grace
| M 1 |
|
2. | Sept. 5 | Grace
| M 4.2 |
|
3. | Sept. 8 | Computability & Lisp (read)
| M 2, 3 |
|
4. | Sept. 10 | Compilers & Lambda Calculus
| M 4.1-4.2, Lambda Calculus Cheat Sheet |
|
5. | Sept. 12 | More lambda calculus
| M 4.4 |
|
6. | Sept. 15 | Lambda Calculus & Functional Languages
| Revised Chapter
5 |
|
7. | Sept. 17 | Haskell
| |
|
8. | Sept. 19 | Haskell & Monads
| Tackling the Awkward Squad, pp. 1-16 |
|
9. | Sept. 22 | Haskell Monads & Functional Languages Evaluation
| |
|
10. | Sept. 24 | Monads, Lexing & Parsing
| Parsing notes |
|
11. | Sept. 26 | Parsing
| |
|
12. | Sept. 29 | More Parsing & Types
| Revised Chapter 6.1-6.2 |
|
13. | Oct. 1 | Type Checking
| Revised Chapter 6.3 |
|
14. | Oct. 3 | Type Inference & Polymorphism
| Revised Chapter 6.4-6.6 |
|
15. | Oct. 6 | Type Classes
| Revised Chapter
7 |
|
16. | Oct. 8 | Scope & Operational Semantics
| M 4.3 |
|
17. | Oct. 10 | Operational Semantics
| M 4.3 |
|
18. | Oct. 13 | Semantics of PCF
| Type Safety
Handout |
|
19. | Oct. 15 | Program units
| M 7.1-7.2 |
|
20. | Oct. 17 | run-time
storage management
| Notes on Runtime
stack |
|
| Oct. 20-21 | Fall Break
| |
|
21 | Oct. 22 | RunTimeStack & Closures
| M7.3-7.5 |
|
22. | Oct. 24 | Heap
| |
|
23. | Oct. 27 | Intro to Scala
| Scala
talk,
Associated Scala
slides |
|
24. | Oct. 29 | Control Constructs
| M 8 except 8.3 |
|
25. | Oct. 31 | Iterators & Exceptions
| M 8.3 |
|
26. | Nov. 3 | Data Abstraction & Modules
| M 9 |
|
27. | Nov. 5 | More Modules
| |
|
28. | Nov. 7 | Subtypes
| Subtypes chapter |
|
29. | Nov. 10 | OOLs: Simula, Smalltalk
| M 10, 11, 12, Why Objects are inevitable |
|
30. | Nov. 12 | Class-based OOLs: Simula, Smalltalk
| M 12, 13 |
|
31. | Nov. 14 | C++ & Implementations
| M 13 |
|
32. | Nov. 17 | Java 5 (& beyond) generics, wildcards, & closures
| |
|
33. | Nov. 19 | Java, Eiffel, & Typing Issues
| |
|
34. | Nov. 21 | Java 5, Eiffel,
| |
|
35. | Nov. 24 | Traits/Concurrency
| Scala
Actors,
M 14.2 |
|
36. | Nov 26 | Scala Actors
| Scala
Actors,M 14.2 |
|
| Nov. 28-29 | Thanksgiving
| |
|
37. | Dec. 1 | Shared memory concurrency:
Semaphores & Monitors
| M 14.1 & 4, A Sophomoric? Introduction to
|
| | | Shared-Memory Parallelism and Concurrency |
|
38. | Dec. 3 | Shared memory concurrency: Java
| 14.3, Java ForkJoin Tutorial |
|
39. | Dec. 5 | Ada tasks,CML
| |
|
40. | Dec. 5 | Concurrency in Functional Languages
| Tutorial on Parallel and Concurrent
|
| | | Programming in Haskell |
|
41. | Dec. 11 | Language Design/Summary
| |
|
|