DRLB, Room A4
Tuesday/Thursday: noon-1:30
- Instructor
-
Benjamin Pierce
bcpierce AT cis.upenn.edu
Office: Levine 562
Office hours: Mondays 1:30-3:30PM - Teaching Assistants
-
Olek Gierczak
olekg AT seas.upenn.edu
Office hours: Mondays 7-9PM
(Levine 5th floor near elevators) -
Li-Yao Xia
xialiyao AT seas.upenn.edu
Office hours: Wednesdays 2-3PM, Fridays 9-10AM
(Levine 5th floor near elevators)
Text
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. To participate in polls, you will need either a smartphone (iOS or Android) with the Poll Everywhere app installed or any other cellphone with text messaging capability. There is no charge to students for using this platform.Homework
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.