Lecture | Date | Topic | Reading
|
|
1. | Jan. 19 | Preview and History
| M 1 |
|
2. | Jan. 21 | Computability; LISP
| M 2, 3 |
|
3. | Jan. 24 | Compilers, Interpreters, &
Virtual Machines
| M 4.1 |
|
4. | Jan. 26 | Lambda Calculus
| M 4.2 |
|
5. | Jan. 28 | More lambda calculus
| |
|
6. | Jan. 31 | Typed lambda calculus &
functional languages
| M 4.4 |
|
7. | Feb. 2 | Haskell
| M 5 |
|
8. | Feb. 4 | More Haskell
| Ch. 5 examples in
Haskell |
|
9. | Feb. 7 | Monads in Haskell
| |
|
10. | Feb. 9 | Functional Languages
Evaluation
| Tackling the Awkward
Squad:, pp. 1-16 |
|
11. | Feb. 11 | Data Types
| M 6.1, 6.2, & 6.5 |
|
12. | Feb. 14 | Type checking & inference
| M 6.3 |
|
13. | Feb. 16 | Lexing & Parsing
| M 6.4 |
|
14. | Feb. 18 | Parsing
| Parsing notes |
|
15. | Feb. 21 | More Parsing
| |
|
16. | Feb. 23 | Semantics
| M 4.3 |
|
17. | Feb. 25 | More semantics
| |
|
18. | Feb. 28 | Type safety
| Type Safety
Handout |
|
19. | March 2 | Scala
| Scala
talk,
Associated Scala
slides |
|
20. | March 4 | Parser Combinators in Scala
| M 7.1-7.2 |
|
21. | March 7 | Run-time storage management
| Notes on Runtime
stack |
|
22. | March 9 | Functions, Procedures, &
Tail Recursion
| M 7.3 |
|
23. | March 11 | More run-time storage and access
| M 7.4-7.5 |
|
| March 14-18 | Spring Break
| |
|
24. | March 21 | Commands and Exceptions
| M 8.1-8.2 |
|
25. | March 23 | Continuations
| M 8.3-8.5 |
|
| March 25 | Chavez Day - no classes
| |
|
26. | March 28 | Data Abstraction & Modules
| M 9.1-9.2 |
|
27. | March 30 | Modules & Subtyping
| M 9.1-9.5, Subtypes
chapter |
|
28. | April 1 | Subtyping and OO languages
| M 10 |
|
29. | April 4 | OOLs: Simula & Smalltalk
| M 11 |
|
30. | April 6 | OOLs: C++ & Implementation
| M 12 |
|
31. | April 8 | OOLs: Java
| M 13 |
|
32. | April 11 | Java 5 generics & wild cards
| M 13 |
|
33. | April 13 | Java & Typing Issues
| M 13 |
|
34. | April 15 | More Scala
| |
|
35. | April 18 | Actors
| Scala Actors |
|
36. | April 20 | Shared memory Concurrency:
Semaphores & Monitors
| M 14.1 |
|
37. | April 22 | Share Memory: Java
| M 14.3 |
|
38. | April 25 | Shared memory: Java
| M 14.4, Concurrent Programming with Java2SE
5.0 |
|
39. | April 27 | Concurrent ML
| M 14.4 |
|
40. | April 29 | Fixed Points & Objects
| M 14.3 |
|
41. | May 2 | Summary
| |
|
42. | May 4 | No Class
| |
|
|