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 Mitchell's book, while U stands for Ullman's ML text.

Lecture

Date Topic Reading
1. Sept. 3 Preview and History M 1
2. Sept. 5 Computability M 2
3. Sept. 8 Lisp & Scheme M 3
4. Sept. 10 Compilers, Interpreters, & Virtual Machines M 4.1
5. Sept. 12 Lambda Calculus M 4.2
6. Sept. 15 More lambda calculus
7. Sept. 17 typed lambda calculus & functional languages
8. Sept. 19 ML M 4.4, 5.3-5.4
9. Sept. 22 More ML M 5.5 & U as needed
10. Sept. 24 Even More ML, Lazy languages U as needed
11. Sept. 26 Functional Languages Evaluation U as needed
12. Sept. 29 Data Types M 6 except 6.3
13. Oct. 1 Type checking & inference M 6.3
14. Oct. 3 Polymorphism M 6.3
15. Oct. 6 Lexing & Parsing
16. Oct. 8 More Parsing
17. Oct. 10 Semantics M 4.3
18. Oct. 13 More semantics
19. Oct. 15 More semantics
20. Oct. 17 Type safety Type Safety Handout
Oct. 20 Fall Break

21.

Oct. 22 Run-time storage management M 7.1-7.2
22. Oct. 24 Functions, Procedures, & Tail Recursion M 7.3
23. Oct. 27 Higher-Order Functions
24. Oct. 29 Managing the Heap
25. Oct. 31 Control & Exceptions M 8.1-8.2
26. Nov. 3 Continuations & Evaluation Order M 8.3-8.5
27. Nov. 5 Data Abstraction M 9.1-9.2
28. Nov. 7 Modules M 9.3-9.5
29. Nov. 10 ML Modules & Subtyping Subtypes chapter
30. Nov. 12 OOLs M 10
31. Nov. 14 OOLs: Simula & Smalltalk M 11
32. Nov. 17 C++ & Implementation M 12
33. Nov. 19 Java & Typing Issues M 13.1-13.4
34. Nov. 21 Java 5 & generics M 13.5
35. Nov. 24 Security (Steve Chong)
36. Nov. 26 Java 5 generic and wildcard types
Nov. 27 Thanksgiving
37. Dec. 1 Concurrency M 14.1
38. Dec. 3 More Concurrency: Semaphores & Monitors M 14.1
39. Dec. 5 More Concurrency:Monitors & Ada Tasks M 14.4
40. Dec. 8 Concurrent ML M 14.3
41. Dec. 10 Concurrency & Summary


Programs from LectureTopInstructor   TextsLectures and Readings