CS 6390 Programming Languages

Instructor: Jacob Laurel | Semester: Fall 2025

Course Time: MW 11:00am - 12:15pm | Office hours: W 2:00pm-3:00pm Klaus 2332

Announcements

Course Summary

Course Logistics

Class Schedule

Week Date Topic Readings / Assignments
Week 1
1 Aug 18 Course introduction and what is a programming language? Syllabus review
Aug 20 Syntax: Context Free Grammar, Parsing
Week 2
2 Aug 25 Big step operational semantics
Aug 27 Operational semantics part 2
Week 3
3 Sep 1 Labor Day - NO CLASS None
Sep 3 Interpreters and Denotational Semantics Assignment 1 Released
Week 4
4 Sep 8 Interpreters and Denotational Semantics
Sep 10 Abstract Interpretation
Week 5
5 Sep 15 Propositional Logic Assignment 1 Due
Sep 17 Exam 1 Review
Week 6
6 Sep 22 Midterm Exam 1 Start thinking about project ideas
Sep 24 Hoare Logic (Axiomatic Semantics)
Week 7
7 Sep 29 Hoare Logic Part 2
Oct 1 Hoare Logic Part 3
Week 8
8 Oct 6 No Class
Oct 8 Lambda Calculus part 1
Week 9
9 Oct 13 Class Cancelled Project Proposal due
Oct 15 Lambda Calculus Part 2
Week 10
10 Oct 20 Lambda Calculus Part 3 Assignment 2 Released
Oct 22 Simply Typed Lambda Calculus
Week 11
11 Oct 27 Type Systems and Curry-Howard
Oct 29 Polymorphism and Dynamic Language Features
Week 12
12 Nov 3 Differentiable Programming
Nov 5 Differentiable Programming part 2
Week 13
13 Nov 10 Review for Midterm 2 Assignment 2 Due
Nov 12 Midterm Exam 2
Week 14
14 Nov 17 Program Slicing
Nov 19 Program Slicing part 2
Week 15
15 Nov 24 PL for HPC
Nov 26 No Class
Week 16
16 Dec 1 Course Recap Project Reports Due on Dec 7th