CS 245: Logic and Computation (Fall 2026)



General Information

Course Description

CS 245 plays a key role in the development of mathematical skills required in the Computer Science program, and thus complements MATH 135 (Algebra), MATH 239 (Graph Theory and Enumeration), and STAT 230 (Probability). The course covers a variety of topics related to "logic and computation" that are required as background for other courses in Computer Science. It differs both in tone and content from a "logic" course one would typically find in a mathematics program. The course aims to:

Objectives

At the end of the course, students should be able to:

Overview


Course Meet Times

Students may view their lecture and tutorial times and locations on Quest.
For more information, see: How do I view my class schedule?.

If you wish to register or to change sections, either use Quest or contact a Computer Science academic advisor. The instructors and course coordinator do not support course registrations.


Schedule

The schedule is available to students currently registered in the course, by opening our course shell in LEARN and navigating to Content - Course Information - Course Schedule.


Office Hours

For questions concerning course material, please join us during our scheduled office hours. Note that office hours will start at the second week of the term, and that we will not hold office hours during the Reading Week break. Times listed below are in Eastern Time. Note whether specific office hours are on campus or online; and refer to LEARN on how to connect to online office hours. If the below times do not suit you, contact an instructor to schedule an meeting. For administrative questions, contact the coordinator, Dalibor Dvorski, by email: ddvorski@uwaterloo.ca.

Instructors

Teaching Assistants


Grading Scheme

Notes:


Textbook

The recommended textbook for this course is Mathematical Logic for Computer Science, second edition, by Lu Zhongwan. Students may access an electronic version of the textbook through the library. Please note that this book does not cover all the material presented in the course, and is meant mainly for definitions, notation, and the sections on formal deduction. For the rest of the material, students should take notes from the course and work from these. Lecture slides for the course are available electronically on LEARN.


Late Submission of Crowdmark Assignments


Practice Quizzes


Marked Quizzes


Piazza Guidelines