Lecture | Date | Topic | Reading
|
|
1. | Sept. 1 | Preview and History
| M 1 |
|
2. | Sept. 3 | Computability; LISP
| M 2, 3 |
|
3. | Sept. 6 | LISP; Compilers, Interpreters, &
Virtual Machines
| M 4.1 |
|
4. | Sept. 8 | Lambda Calculus
| M 4.2 |
|
5. | Sept. 10 | More lambda calculus
| |
|
6. | Sept. 13 | Typed lambda calculus &
functional languages
| M 4.4 |
|
7. | Sept. 15 | Haskell
| M 5 |
|
8. | Sept. 17 | More Haskell
| |
|
9. | Sept. 20 | Even More Haskell
| Ch. 5 examples in
Haskell |
|
10. | Sept. 22 | Monads & Functional Languages
Evaluation
|
|
|
11. | Sept. 24 | Data Types
| M 6.1, 6.2, & 6.5 |
|
12. | Sept. 27 | Type checking & inference
| M 6.3 |
|
13. | Sept. 29 | Type inference & Polymorphism
| M 6.4 |
|
14. | Oct. 1 | Lexing & Parsing
| |
|
15. | Oct. 4 | More Parsing
| |
|
16. | Oct. 6 | Semantics
| M 4.3 |
|
17. | Oct. 8 | More semantics
| |
|
18. | Oct. 11 | More semantics
| |
|
19. | Oct. 13 | Type safety
| Type Safety
Handout |
|
20. | Oct. 15 | Scala
| Scala
talk,
Associated Scala
slides |
|
| Oct. 18 | Fall Break
| |
|
21. | Oct. 20 | Run-time storage management
| M 7.1-7.2 |
|
22. | Oct. 22 | Functions, Procedures, &
Tail Recursion
| M 7.3 |
|
23. | Oct. 25 | More run-time storage and access
| M 7.4-7.5 |
|
24. | Oct. 27 | Higher-Order Functions & Managing the Heap
| |
|
25. | Oct. 29 | Heap & Control
| M 8.1-8.2 |
|
26. | Nov. 1 | Commands, Exceptions, & Continuations
| M 8.1-8.2 |
|
27. | Nov. 3 | Data Abstraction
| M 9.1-9.2 |
|
28. | Nov. 5 | Modules
| M 9.3-9.5 |
|
29. | Nov. 8 | ML Modules
& Subtyping
| Subtypes
chapter |
|
30. | Nov. 10 | OOLs
| M 10 |
|
31. | Nov. 12 | OOLs: Simula & Smalltalk
| M 11 |
|
32. | Nov. 15 | C++ & Implementation
| M 12 |
|
33. | Nov. 17 | Java & Typing Issues
| M 13.1-13.4 |
|
34. | Nov. 19 | Java 5 generics & wild cards
| M 13.5 |
|
35. | Nov. 22 | More Scala
| |
|
36. | Nov. 24 | Concurrency
| M 14.1 |
|
| Nov. 25 | Thanksgiving
| |
|
37. | Nov. 29 | Actors in Scala
| M 14.2, Scala Actors |
|
38. | Dec. 1 | Shared memory Concurrency:
Semaphores & Monitors
| M 14.1, Concurrent Programming with Java2SE
5.0 |
|
39. | Dec. 3 | More Concurrency:Monitors
& Ada Tasks
| M 14.4 |
|
40. | Dec. 6 | Concurrent ML
| M 14.3 |
|
41. | Dec. 8 | Concurrency & Summary
| |
|
|