CS 245: Logic and Computation (Spring 2019)

Section
001, MC 2054, Tuesday and Thursday 8:30-9:50
Instructor
Timothy Ng (tim.ng@uwaterloo.ca)
Office hours
Mondays 3:30-4:30 & Thursdays 10-11, DC 3515
Official course websites
http://www.student.cs.uwaterloo.ca/~cs245/
Piazza

This is where I'll put my lecture notes and other materials for my section.

These notes are based on lecture slides, available on the main course website, and other materials which incorporates the contributions of many previous CS 245 instructors over the years. Here is what I hope is a fairly complete list of all the contributors who helped shape this particular version of the lecture notes, in alphabetical order: Jonathan Buss, Borzoo Bonakdarpour, Alice Gao, Lila Kari, Anna Lubiw, Brad Lushman, Daniela Maftuleac, Prabhakar Ragde, Collin Roberts, Ryan Trefler, Peter Van Beek, Steve Wolfman.

Lectures

References are given as section numbers for Huth and Ryan.

May 7
Introduction to Propositional Logic (1.1, 1.3)
May 9
Structural Induction (1.3, 1.4.2)
May 14
Unique Readability (1.3, 1.4.2)
May 16
Semantics (1.4.1)
May 21
Logical Equivalence and Applications (1.5.1)
May 23
Semantic Entailment and Natural Deduction (1.4.3, 1.2)
May 28
Rules of Natural Deduction (1.2)
May 30
Derived Rules for Natural Deduction (1.2.2)
Jun 4
Soundness of Natural Deduction for Propositional Logic (1.4.3)
Jun 6
Completeness of Natural Deduction for Propositional Logic (1.4.4)
Jun 11
Introduction to Predicate Logic (2.1)
Jun 13
The Language of Predicate Logic (2.2)
Jun 18
Substitution, Semantics of Predicate Logic (2.2.4, 2.4.1)
Jun 20
Environments (2.4.1)
Jun 25
Satisfaction and Semantic Entailment for Predicate Logic (2.4.2)
Jun 27
Natural Deduction for Predicate Logic (2.3)
Jul 2 (No lecture)
To make up for Canada Day on July 1, July 2 is treated as a Monday.
Jul 4
Natural Deduction for Predicate Logic (2.3)
Jul 9
Soundness and Completeness of Predicate Logic
Jul 11
Introduction to Program Verification (4.1-4.3)
Jul 16
Conditional Statements (4.3)
Jul 18
While Loops and Total Correctness (4.3, 4.4)
Jul 23
Arrays
Jul 25
Introduction to Computability
Jul 30
Undecidability and the Halting Problem

Mid-term feedback

I asked the class for some feedback sometime before the midterm test. I've made the results available here. As always, if there's something that I can do to help you learn, please let me know.