This course is an introduction to formal logic and its deep connections to computing. Logic is presented from a computational perspective. The major goal of the course is to introduce fundamental techniques for describing and reasoning about computation.
The prerequisites are a basic familiarity with functional programming (CS 2500) and discrete structures (CS 1800). If you do not have this background, you need the permission of your instructor.
Students taking the class are required to check for announcements daily.