15-317: Constructive Logic (Sp'21)

15-317 Constructive Logic (Spring 2021)
Instructor: André Platzer
(office hour: TBA)
Teaching
Assistants:
Julia Gu juliag1@andrew
Akshina Gupta akshinag@andrew
Zhibo Chen zhiboc@andrew
Avery Cowan acowan@andrew
Ethan Rosenthal emrosent@andrew
Units: 9
Semester: Spring 2021
Time: TR 8:20-9:40 CMU Remote
Recitation: A: W 9:10-10:00 CMU Remote, Julia Gu
B: W 10:30-11:20 CMU Remote, Akshina Gupta
C: W 11:40-12:30 CMU Remote, Zhibo Chen
This course is listed in the Computer Science Department as 15-317/15-657 at Carnegie Mellon University. It counts as a Logics/Languages elective in the Computer Science curriculum.
Questions
Schedule Piazza
DESCRIPTION:
This multidisciplinary junior/senior-level course is designed to provide a thorough introduction to modern constructive logic, its roots in philosophy, its numerous applications in computer science, and its mathematical properties. Some of the topics to be covered are intuitionistic logic, inductive definitions, functional programming, type theory, connections between classical and constructive logic, logic programming, proof search, logical frameworks.
PREREQUISITES:
15-150: Functional Programming with a minimal grade of C.
For the cross-listed graduate version, 15-657, experience with functional programming is recommended.
TEXTBOOK:
There is no textbook.
METHOD OF EVALUATION:
Grading will be based on a set of homework assignments and exams. 40% Assignments, 15% Midterm I, 15% Midterm II, 30% Final.
Midterm I: Tue 03/09 during lecture time, 150 points.
Midterm II: Tue 04/06 during lecture time, 150 points.
Final: TBA during finals week, 300 points.
MORE INFORMATION:
See prior instances of this course in Fall 2015 and Fall 2016 and Spring 2020 and by Frank Pfenning, Karl Crary for more information on prior versions of this course.