Course Meetings

Lectures meet Tuesdays and Thursdays.

Section Time (Tue & Thu) Room Instructor
LEC 001 10:00am–11:20am MC 1056 Kris Frasheri
LEC 002 11:30am–12:50pm MC 1056 Yizhou Zhang
LEC 003 1:00pm–2:20pm MC 4021 Yizhou Zhang

Tutorials meet Fridays.

Section Time (Friday) Room
TUT 101 9:30am–10:20am MC 4040
TUT 102 10:30am–11:20am MC 4040
TUT 103 11:30am–12:20pm MC 4058
TUT 104 12:30pm–1:20pm MC 4058

Schedule

A schedule (including tentative due dates) can be found here.

Coursework and Evaluation

Weighting

Assignments 20%
Midterm Exam 30%
Final Exam 50%

Assignments

Exams

Piazza

This course uses Piazza as an online discussion forum. You are encouraged to post any questions you might have about the course material. For administrative questions unrelated to the course material, please see below for whom to contact. The course staff monitor the forum regularly, and you will usually get a response within two business days if you make your question clear.

You are encouraged to answer questions on Piazza. Thinking through other students' questions and writing down a response is a good exercise and earns you good karma. But please avoid giving away details of your solution to any homework problems.

By default, your posts are visible to the course staff and other students, and you should prefer this mode so that others can benefit from your question and the answer. However, you can post privately so that only the course staff can see your question, and you should do so if your post might reveal information about a solution to a homework problem. If you post privately, we reserve the right to make your post public if we think the class will benefit. You can post anonymously if you wish not to reveal your identity to other students.

The discussion forum is the most effective way to communicate with the course staff. However, please do not post things that add no useful technical information; posts like "I have the same question as this one posted" or "I agree with this comment" should be avoided.

Important course announcements will be posted on Piazza, so check in often.

Course Staff and Office Hours

Office hours start in the second week of classes. Times and locations are subject to change. For questions concerning course material, please join us during the instructors' and the instructional apprentices' office hours. For administrative questions, contact the coordinator, Dalibor Dvorski.

Photo of Kris Frasheri Kris Frasheri
Instructor
Office hour: Tuesdays, 15:00–16:00 (on campus: DC 2127)
Photo of Yizhou Zhang Yizhou Zhang
Instructor
Office hour: Wednesdays, 12:00–13:00 (online: Zoom)
Photo of Dalibor Dvorski Dalibor Dvorski
Course Coordinator
Email: ddvorski@uwaterloo.ca
Photo of Jianlin Li Jianlin Li
Instructional Apprentice
Office hours: Tuesdays, 9:00–10:00 (online: Teams)
and Fridays, 13:30–15:30 (on campus: MC 4065)
Photo of Pablo Millán Arias Pablo Millán Arias
Instructional Apprentice
Photo of Monireh Safari Monireh Safari
Instructional Apprentice
Office hours: Mondays, 12:00–14:00 (online: Teams)
Bandar Al-Dhalaan, Artur Back De Luca, Enamul Haque, Piyush Jha, Farnam Mansouri, Argyris Mouzakis, Joel Rorseth, Mohammad Mohibullah Khan Shirazi, Yetian Wang
Teaching Assistants

Whom to Contact

Course overrides CS advisors: https://cs.uwaterloo.ca/advising
Course material and assignment clarifications Make a public post on Piazza or bring up during office hours
Regrading requests Regrading requests are handled through LEARN dropboxes.
Instructions will be posted after release of marks.
Course access including late enrollment Coordinator: ddvorski@uwaterloo.ca
Illness or unforeseen circumstances Coordinator: ddvorski@uwaterloo.ca
Crowdmark issues Coordinator: ddvorski@uwaterloo.ca
Incompletes (INCs) Coordinator: ddvorski@uwaterloo.ca
Accessability requests AccessAbility Services: https://uwaterloo.ca/accessability-services

Course Overview

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

Syllabus

The recommended textbook is Mathematical Logic for Computer Science (2nd 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 use the lecture slides as the main reference. Lecture slides are available electronically on LEARN.

Other Notices