CSE 505: Concepts of Programming Languages

Fall 2005

Course Information

Syllabus
Extra-Credit Policy

Homework

Homework 1, due 14 October   hw1.pdf   hw1.tar   HW 1 test files   HW 1 solution files
Homework 2, due 28 October   hw2.pdf   hw2.tar   HW 2 solution files
Homework 3, due 14 November   hw3.pdf   hw3.tar   HW 3 solution files
Homework 4, due 29 November   hw4.pdf   hw4.tar   Continuation test   HW 4 solution files
Homework 5, due 9 December   hw5.pdf   hw5.tar   HW 5 solution files

Class Materials

1. Sept 29: Caml Tutorial
2. Oct 4: Course Intro, Abstract Syntax
3. Oct 6: IMP Operational Semantics
4. Oct 11: IMP Pseudo-Denotational Semantics   slides   code   notes from class
X. Oct 13: No class
5. Oct 17: Little Trusted-Languages; Equivalence  slides   full-proofs
6. Oct 19: Untyped Lambda-Calculus; Lambda-Encodings
7. Oct 25: Substitution; Simply-Typed Lambda Calculus
8. Oct 27: Extensions to Simply-Typed Lambda-Calculus
9. Nov 1: More Extensions, Anonymous Types, Termination
10. Nov 3: Curry-Howard; Evaluation Contexts, Stacks, Abstract Machines   slides   code
X. Nov 8: Midterm, in class
11. Nov 10: Introduction to polymorphism; Subtyping
12. Nov 15: Universally quantified types (Parametric polymorphism)
13. Nov 17: Recursive types; Abstract types   slides   code
14. Nov 22: Polymorphism Wrap-up; Exceptions; References; Polymorphic References; C-Style Pointers
X. Nov 24: Thanksgiving
15. Nov 29: Class-based OOP
16. Dec 1: Advanced Concepts in OOP
17. Dec 6: Bounded Polymorphism and Classless OOP
18. Dec 8: Summary, A Brief Tour of Everything Else, and Shameless Plugs

Exams

Our final:   without solutions   with solutions
Sample Final (from Fall 2003):   without solutions   with solutions
Our midterm:   without solutions   with solutions
Sample Midterm (from Fall 2003):   without solutions   with solutions

Staff

Instructor: Dan Grossman, , Allen Center 556
     (careful: the userid grossman belongs to a different person)
   Office hours: Tuesday 2-3 + by appointment
TA: Erika Rice,
   Office hours: Friday 2-3 (CSE 218) + by appointment
   + An office hour the day before assignments are due (Fri if HW due on a Mon). These will be announced on the email list.

Caml Information

Caml home page
The O'Reilly book (free!)
Running Caml locally
Emacs mode: caml_emacs.tar.gz contains exactly the code Dan uses. The Web may have more recent stuff.

Preliminaries

Join the course mailing list
Homework 0 ("due" October 4, worth 0 points)