# 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)