CS6110 Advanced Programming Languages is a course on the mathematical semantics of programming languages. It is basic material for the CS PhD program, and its content is required knowledge for PhD students. Doctoral students in other fields are welcome if they have the appropriate background and know at least one modern programming language. Well prepared undergraduates are also welcome.  The course covers elements of formal methods needed to establish properties of programming languages and prove properties of programs.  This course is considered essential background for students considering advanced research in programming languages.

Meeting Times: MWF 10:10-11:00

Location:  219 Phillips Hall

Instructor: Robert Constable
Office: 330 Gates Hall
Office Hours: After class and by appointment.

TA: Abhishek Anand
email: aa755 at cornell dot edu
Office hours: Tuesday 1-2pm in Gates G17

Preliminary Course Outline

Please read the following:

Course Introduction

Seminal Articles

Seven or eight problem sets, roughly every other week.
A requirement to read one of the "seminal" papers, either from my list, also attached as it stands so far.
Some of the problems sets will require using Coq, not all but some. Students will write programs in Coq (or OCaml- TBD).

The textbook we will be using can be found under Readings

There will be one in-class exam at roughly mid term and a final exam as centrally scheduled.