Platforms
CampusWire:course landing page, announcements, Q&A
Zoom:
synchronous lectures, office hours
Course.Care:
queuing for office hours
Gradescope:
assignments, grades
Course Description
This is a graduate course about logic and the use of mathematical techniques to verify the correctness of computer systems. The course will cover foundational topics in logic and functional programming. Students will learn about computer assisted theorem proving and will learn to use Coq, a proof assistant. Classes will be organized around problem sets. In addition, students will work on a semester-long project developing a proof of correctness of a program related to their research. The course satisfies the theory and formal thinking breadth requirement.Remote Instruction
The class will be taught remotely using synchronous instruction.Textbooks
The required textbook is Software Foundations Volume 1: Logical Foundations.Key Dates
FDOC: 1/20/20Project groups formed: 2/1/21
Project proposal due: 3/1/21
Progress reports: 3/31/21
Final project due: 4/26/21
Final report due: 5/3/21
Final presentations: 5/5/21
LDOC: 5/5/21
Grading
Participation: 15%Assignments: 45%
Project: 40%