Tuesday/Thursday: noon-1:30

Benjamin Pierce
bcpierce_NOSPAM AT cis.upenn.edu
Office: Levine 562
Office hours: Mondays 1:30 - 3:30 ET
Teaching Assistants
Lucas Silver
lucsil_NOSPAM AT seas.upenn.edu
Office hours: Tuesdays 3:00 PM - 5:00 PM ET (through 11/11)
Irene Yoon
euisuny_NOSPAM AT cis.upenn.edu
Office hours: Mondays 5:00pm - 7:00pm ET


The main texts for the course are the online books Logical Foundations and Programming Language Foundations, volumes 1 and 2 of the Software Foundations series. A good supplemental text is Types and Programming Languages. Recommendations for some other useful books can be found in the Postscript chapter of Software Foundations.

Discussion Forum

We will use Piazza for both announcements and discussions. Please register yourself there to make sure you keep up with what's happening.

Poll Everywhere

To make lectures more interactive, we will be using the Poll Everywhere platform. There is no charge to students for using this platform.


Homework can be submitted via Canvas. If you are taking the course but cannot access the CIS 500 Canvas pages, please contact one of the TAs.

When submitting Coq files as homeworks, make sure that Coq accepts your file in its entirety. If it does not, it will not be graded. You can use Admitted to force Coq to accept incomplete proofs.

Homework is normally due at 11:30AM on the date specified (exceptions noted below). Late homework submissions will be accepted for up to three days, with a 25% reduction in credit per late day (25% for up to 24 hours late, 50% for 24-48 hours, and 75% for 48-72 hours). Solutions will be posted on Canvas.

Class Schedule

The following links provide HTML and Coq .v files for the lecture material in the course. These materials will be updated throughout the semester, so please be sure that you use the most recent version of the files, especially for homework. Note that the schedule is tentative.