15-317 Constructive Logic


Course Level: Undergraduate Units: 9 Special Permission Required: No
(if yes, please see Notes below)

Frequency Offered: Generally offered every fall - confirm course offerings for upcoming semesters by accessing the university Schedule of Classes

Course Relevance (who should take this course?): Those interested in learning about some the many applications of logical reasoning in computer science.

Course Website: http://www.cs.cmu.edu/~fp/courses/15317-f17/

Key Topics: Background Knowledge: Assessment Structure:
  • Modern constructive logic and its roots in philosophy, intuitionistic logic
  • Inductive definitions
  • Functional programming
  • Type theory
  • Logic programming
  • Proof search
  • Logical frameworks

Most Recent Syllabus Available:

Basis in functional programming

  • Assignments: 40%
  • Midterms: 30%
  • Final: 30%

Sample Exam: None Provided

Sample Assignment:

Sample class notes:

Sample Lecture Recording: None Provided

Course Goals/Objectives
    • Understand how logics:
      • are defined
      • what they mean
      • how they are used in computer science
    • Develop skills in all types of logic: classical, constructive, intuitionistic
Learning Resources: Pre-reqs, Cross list, Related Notes:
  • Piazza
  • Lecture Notes
  • Prerequisites Required: 15-150
  • Minimum Grades in Prereqs:
    C in 15-150
  • Corequisites: None
  • Anti-requisites: n/a
  • Cross-Listed: 15-657
  • Substitutes: None
  • Related Courses: none
  • Reservations: None
None for this course
Department Website: College Website: updated October 2017
https://www.csd.cs.cmu.edu http://www.cs.cmu.edu/ Back to Course Profile List