CSE130 Programming Languages: Lecture and Reading Schedule

Summer Session I: July 2 2007 - August 4 2007

All readings are section numbers in the primary textbook, Structure and Interpretation of Computer Programs, unless otherwise noted.

Lecture 1 - Monday, July 2
Part I: Course Overview, Specifying Syntax
Part II: Introduction to Scheme (Read: 1.1, 1.2)

(No Lecture) - Wednesday, July 4 - Independence Day

Lecture 2 - Friday, July 6
More Scheme (Read: 1.3, 2.1, 2.2.1)

Lecture 3 - Monday, July 9
Types and Higher-order Procedures

Lecture 4 - Wednesday, July 11
Part I: Conventional Interfaces (Read: 2.2.2, 2.2.3)
Part II: Symbolic Data (Read: 2.3, 2.4.1, 2.4.2)

Lecture 5 - Friday, July 13
Part I: State (Read: 3.1)
Part II: Environment Model (Read: 3.2)

Lecture 6 - Monday, July 16
Part I: Streams (Read: 3.5)
Part II: Metacircular evaluator (Read: 4.1)

Lecture 7 - Wednesday, July 18
Part I: Hygienic Macros (Read: Chapter 8 of Dybvig)
Part II: Continuations (Read: Section 5.5 of Dybvig)

Lecture 8 - Friday, July 20
Pure Functional Programming (Read: The Why of Y, by Richard P. Gabriel)

Lecture 9 - Monday, July 23
Part I: Pattern Matching (Read: 4.4)
Part II: Declarative Programming

Lecture 10 - Wednesday, July 25
Part I: Object-oriented Programming
Part II: Multi-methods

Lecture 11 - Friday, July 27
The Smalltalk Programming Language

Lecture 12 - Monday, July 30
Part I: Garbage Collection and References
Part II: Generics and Wildcards in Java (time permitting)

Lecture 13 - Wednesday, August 1
Part I: AspectJ
Part II: Reflection in Java (time permitting)

Lecture 14 - Friday, August 3
Final Review

Final Examination - Saturday, August 4
Time: 3:00 pm - 6:00 pm;
Location: TBA;
Closed book, closed notes.