Programs from LectureTopInstructor   TextsLectures and Readings

Lectures and Readings

The schedule on the following two pages shows the tentative schedule of topics to be covered at each class meeting during the semester. Consult this page regularly to see the most current version of the schedule of topics and readings. The on-line version of this schedule will be revised as the semester progresses.

I expect you to do the reading for a class before the lecture. I will not attempt to cover in lecture all the material in the readings. Instead my goal will be to cover the highlights or particularly difficult material. For this to work, you will need to already be familiar with the simpler aspects of the material. If you keep up your part of the bargain we should be able to have more interesting discussions in class, rather than just listening to me go over the text.

In the table below, M stands for the textbook by Mitchell.

Lecture

Date Topic Reading
1. Aug. 31 Preview and History M 1
2. Sept. 2 Computability; LISP M 2, 3
3. Sept. 5 Compilers, Interpreters, & Virtual Machines M 4.1
4. Sept. 7 Lambda Calculus M 4.2, Lambda Calculus Cheat Sheet
5. Sept. 9 More lambda calculus Lambda Calculus Cheat Sheet continued
6. Sept. 12 Typed lambda calculus & functional languages M 4.4
7. Sept. 14 Haskell M 5
8. Sept. 16 More Haskell Ch. 5 examples in Haskell
9. Sept. 19 Monads in Haskell
10. Sept. 21 Monads & Functional Languages Evaluation Tackling the Awkward Squad:, pp. 1-16

11.

Sept. 23 Data Types M 6.1, 6.2, & 6.5
12. Sept. 26 Type checking & inference M 6.3
13. Sept. 28 Lexing & Parsing M 6.4
14. Sept. 30 Parsing Parsing notes
15. Oct. 3 More Parsing & Semantics
16. Oct. 5 Semantics of PCF M 4.3
17. Oct. 7 More semantics
18. Oct. 10 Type safety Type Safety Handout
19. Oct. 12 Scala Scala talk, Associated Scala slides
20. Oct. 14 Parser Combinators in Scala, Program Units M 7.1-7.2
Oct. 17-18 Fall Break

21.

Oct. 19 Run-time storage management Notes on Runtime stack

22.

Oct. 21 Functions, Procedures, & Tail Recursion M 7.3

Oct. 24 No Class
23. Oct. 26 More run-time storage and access M 7.4-7.5
24. Oct 28 Commands and Exceptions M 8.1-8.2
25. Oct. 31 Continuations M 8.3-8.5
26. Nov. 2 Data Abstraction & Modules M 9.1-9.2
27. Nov. 4 More Modules M 9.1-9.5,
28. Nov. 7 Subtyping and OO languages M 10, Subtypes chapter
29. Nov. 9 OOLs M 11
30. Nov. 11 OOLs: Simula, Smalltalk, C++ M 12
31. Nov. 14 OOLs: Java & Implementations M 13
32. Nov. 16 Java 5 generics & wild cards M 13
33. Nov. 18 More Java5 & wildcards M 13
34. Nov. 21 Java, Eiffel, & Typing Issues
35. Nov. 23 Scala Traits & Actors Scala Actors
Nov. 24-25 Thanksgiving
36. Nov. 28 More Actors & Shared memory Concurrency: Semaphores & Monitors M 14.1
37. Nov. 30 Shared Memory: Java M 14.3, A A Sophomoric? Introduction to Shared-Memory Parallelism and Concurrency
38. Dec. 2 Shared memory: Java M 14.4, Concurrent Programming with Java2SE 5.0
39. Dec. 5 Concurrent ML M 14.4
40. Dec. 7 Summary


Programs from LectureTopInstructor   TextsLectures and Readings