Course Meetings
Lectures meet Tuesdays and Thursdays.
Section | Time (Tue & Thu) | Room | Instructor |
---|---|---|---|
Lecture 001 | 11:30am–12:50pm | MC 1085 | Yizhou Zhang |
Lecture 002 | 2:30pm–3:50pm | PHY 145 | Yizhou Zhang |
Lecture 003 | 1:00pm–2:20pm | MC 4061 | Patrick Roh |
Tutorials meet Fridays in MC 4058. See your Quest schedule.
TUT 101 | TUT 102 | TUT 103 | TUT 104 | TUT 105 |
9:30am–10:20am | 10:30am–11:20am | 11:30am–12:20pm | 12:30pm–1:20pm | 1:30pm–2:20pm |
Coursework and Evaluation
Assignments | 25% |
Midterm Exam | 25% |
Final Exam | 50% |
- Exams are slated to be written in person. The written papers will be scanned and uploaded into Crowdmark for marking and distribution of results. Assignments will be submitted, and results distributed, via Crowdmark.
- You must pass the exams (by weighted average) to pass the course.
- Late submissions for assignments receive a mark of zero. Submit early and often, so that you have time to resolve any minor technical issues with Crowdmark before the due time. If you choose to take a photo of your solution and upload it, make sure that your submitted solutions are easily readable.
- You can have the weight of at most one assignment shifted to the final exam. You need not register your intent with the course staff; after the final exam, we will apply the best weight-shifting strategy that maximizes your overall mark.
- Do your own work. In your submissions, acknowledge everyone you consulted when working on the assignment. You may discuss the assignment questions verbally with others, but you should come away from these discussions with no written or electronic records. Write your solutions in your own words, from your own head.
Course Staff
Patrick Roh [show email]
Instructor |
Office hour: Tue 3–4pm MC 4013 |
|
Yizhou Zhang [show email]
Instructor |
Office hour: Thu 4–5pm Zoom |
|
Dalibor Dvorski [show email]
Instructional Support Coordinator |
||
Pablo Millán Arias Instructional Apprentice |
Office hours: Mon 9:30–11:30am Zoom |
|
Tosca Lechner Instructional Apprentice |
Office hour: Mon 12–1pm Zoom |
|
Dheeraj Vagavolu Instructional Apprentice |
Office hours: Mon 4–6pm, Tue 4:30–6:30pm MC 4065 |
|
Zihao Wang Instructional Apprentice |
Office hours: Fri 3:30–5:30pm Zoom |
|
Ru Ji, Argyris Mouzakis, Karthik Murali, Joel Rorseth, Mohammad Mohibullah Khan Shirazi, Yuqing Xie, Owen Zila Teaching Assistants |
Whom to contact
Course overrides | CS advisors: https://cs.uwaterloo.ca/advising |
Course access including late enrollment | Coordinator: ddvorski@uwaterloo.ca |
Course material and assignment clarifications | Make a public post on Piazza or bring up during office hours |
Illness or unforeseen circumstances | Coordinator: ddvorski@uwaterloo.ca |
Regrading requests | Regrading requests are handled through LEARN dropboxes. Instructions will be posted after release of marks. |
Crowdmark issues | Coordinator: ddvorski@uwaterloo.ca |
Incompletes (INCs) | Coordinator: ddvorski@uwaterloo.ca |
Accessability requests | AccessAbility Services: https://uwaterloo.ca/accessability-services |
Recommended Text
Mathematical Logic for Computer Science (2nd Edition) by Lu Zhongwan.
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
- Develop mathematical reasoning skills
- Improve understanding of propositional and first-order logic, including key notions, such as: expressing natural language statements as logical formulas, distinguishing between correct and incorrect reasoning (between valid and invalid logical arguments), constructing a formal proof, distinguishing between syntax and semantics
- Explore the limits of computers, including decidability and undecidability
Course Objectives
At the end of the course, students should be able to
- Formalize English sentences into properly formed formulas in propositional and first-order logic and, conversely, interpret such formulas in English
- Formalize the notion of correct reasoning and proof, and be able to construct formal proofs
- Realize the limitations of formal proof systems
- Understand the applications of logic to computer science