In this course, you will learn the theory and practice of programming languages. Specifically, you will learn to:
Prerequisites: COMP 212, or permission of instructor.
There will be two course meetings per week, Mon-Wed 2:50pm-4:10 in Exley 139. This time may be used for lectures, lab-like small-group or individual work, or homework help sessions. Lectures will be your primary source of information for the course, and attendance is strongly encouraged.
There will be around 8 to 10 homework assignments, each 1 to 2 weeks in duration. Assignments will have both written and programming components; programming will be in Standard ML.
In addition to the lectures and provided lecture notes, you might want to do some supplementary readings from two sources: Some parts of the course will follow Practical Foundations for Programming Languages by Robert Harper. An online preview is available, and a digital copy is available through the Wesleyan library. The readings are intended as an additional resource to review and supplement what is discussed in lecture; you do not need to read about a topic in advance of the lecture on it. For the material on Rust at the end of the course, there will be some readings from Rust book and Rust by example.