15-317 Constructive Logic

15-317 - COURSE PROFILE

Course Level: Undergraduate

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.

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

Basis in functional programming

  • Piazza
  • Lecture Notes
Course Goals/Objectives: Assessment Structure:  
  • Understand how logics:
    • are defined
    • what they mean
    • how they are used in computer science
  • Assignments: 40%
  • Midterms: 30%
  • Final: 30%
  • 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
Most Recent Syllabus: 
Not yet available
Special Permission Required: No
(if yes, please see Notes)
Units: 9
Most Recent Course Website:
http://www.cs.cmu.edu/~fp/courses/15317-f17/
Department Website:
https://www.csd.cs.cmu.edu
College Website:
http://www.cs.cmu.edu/
Sample class notes:
http://symbolaris.com/course/constlog16/02-natded.pdf
Sample Assignment:
http://symbolaris.com/course/constlog16/hw1.pdf
Sample Lecture Recording:
Not Available
Notes:
 Back to Course Profile List