uwloo

CS 245Logic and Computation

Units
0.50
Faculty
Mathematics
Subject
Computer Science

When it runs

  1. F24
  2. W25
  3. S25
  4. F25
  5. W26
  6. S26
  7. F26
  8. W27
  9. S27

Ran in 7 of the last 7 terms. Winter 2027: scheduled, 2 lecture sections. Spring 2027: schedule not out yet.

Logic as a tool for representation, reasoning, and computation. Propositional and predicate logic. Formalizing the notions of correct and incorrect reasoning, defining what is computable, and exploring the limits of computation. Godel's Incompleteness Theorem. Applications of logic to computer science.

Prerequisites

  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CS136 - Elementary Algorithm Design and Data Abstraction (0.50)
      • CS138 - Introduction to Data Abstraction and Implementation (0.50)
      • CS146 - Elementary Algorithm Design and Data Abstraction (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH135 - Algebra for Honours Mathematics (0.50)
      • MATH145 - Algebra (Advanced Level) (0.50)
    • Enrolled in an Honours Mathematics program

Antirequisites

  • Not completed nor concurrently enrolled in any of the following:
    • CS245E - Logic and Computation (Enriched) (0.50)
    • ECE208 - Discrete Mathematics and Logic 2 (0.50)
    • PMATH330 - Introduction to Mathematical Logic (0.50)
    • SE212 - Logic and Computation (0.50)

Leads to

Fall 2026 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 001608474 / 90TTh 10:00–11:20
LEC 002615976 / 90TTh 11:30–12:50
LEC 003619086 / 90TTh 13:00–14:20
LEC 004623676 / 90TTh 14:30–15:50
TUT 101609758 / 60F 09:30–10:20
TUT 102643360 / 60F 10:30–11:20
TUT 103643445 / 60F 11:30–12:20
TUT 104643559 / 60F 12:30–13:20
TUT 105643659 / 60F 13:30–14:20
TUT 106643731 / 60F 14:30–15:20
TST 2016530312 / 360Oct 29 16:30–18:20

Winter 2027 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 00157090 / 110TTh 14:30–15:50
LEC 701218073 / 9999Online or by arrangement
TUT 10158530 / 55F 09:30–10:20
TUT 10262240 / 55F 10:30–11:20
TST 20156890 / 110Mar 3 19:00–20:50

Resources

Around the web

Found by uwloo’s link finder, which checks that each page names CS 245.

5 more links

Suggest a resource.

Reviewed on UW Flow

30% liked it54% easy26% useful

From 789 ratings and 182 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.

  • I took this course only during the pandemic. It is poorly organized and the assignment and test questions are either very easy, or extremely difficult. This is defiantly a borderline Math course as 95% of the course revolves around proofs. Personally I dislike most of the contents taught in this course (the Turing machine part is a bit more interesting, but the assignment question is on a different scale compared to what was taught), but I think it is because of the way this course is taught. Each week there can be up to 200 or more slides to read and the lecture videos barely covers any contents. The course becomes boring and exhausting. This is the hardest CS course I have taken so far…

    Sep 2021 · didn’t like it · 4 found this helpfulOn UW FlowRemove this

  • The single most infernal, diabolical, fiendish, ghastly, gruesome, dreadful, abominable, atrocious, horrific, monstrous, nightmarish, horrendous, hideous, appalling, disastrous, heinous, hellish, unspeakable final I've written so far, so good luck to whoever needs to take this garbage course.

    Dec 2023 · didn’t like it · 3 found this helpfulOn UW FlowRemove this

  • CS 245 was hell, a huge part of it because of the professor, Shai Ben-David.
    Shai was by far the worst prof I have encountered in my undergraduate career... or in fact, any teacher/ professor/ lecturer I have ever encountered in my whole life, before and during university.
    He is:
    - Disorganized. Never posts anything unless we nag him many times, and is all over the place on Piazza. His notes are also really disorganized and all over the place.
    - Has policies (ie. -10% per day late) that the class does not know unless we ask him; students have to convey to other students policies over piazza as he does not announce them.
    - ignored all Piazza questions the week before the midterm, a lot of…

    Apr 2023 · didn’t like it · 3 found this helpfulOn UW FlowRemove this

  • No one likes this course. It's unnecesarily complicated and tedious for students. The instructors lacked any enthusiasm for the content. 3 marking TAs left for some unknown reason as well. I really don't think anyone likes this course.

    Nov 2021 · didn’t like it · 3 found this helpfulOn UW FlowRemove this

  • Online Course: Lectures are painfully short videos x 100, notes are slide PDFs with all the extra animation slides (they couldn't be bothered to take them out), and they updated A1 on LEARN two times after releasing it without making announcements to the class, only a reply to a question thread on Piazza (which isn't even the A1 official post).
    This review is from the beginning of week 2. Pray for us

    May 2020 · didn’t like it · 3 found this helpfulOn UW FlowRemove this

Discussed on r/uwaterloo

2,258 posts and comments in 1,417 threads mention CS 245, October 2010 to December 2024. Quoted word for word, newest first; each reply sits under the post and the comment that started its branch. Search r/uwaterloo for newer posts.

Fall 2024

Complain CS245 3 points, 2 comments

u/SpiritedTie9025: “as the title, I want to complain CS245, this poor structured, lack-instructed, late regrade processing course should be fully reorganize! What should I do to effectively complain???”

View on RedditRemove this

2B CS Course Selection 1 point, 1 comment

“https://preview.redd.it/nosxancxrv3e1.png?width=612&format=png&auto=webp&s=bdbc72fbc91b3301a578a69a84f06dc3a84b12bd Trying to decide which path to go for, mainly looking to maintain a decent GPA, but …”

u/iPanda246: “I personally don't recommend any of these as all of the 2B terms look very tough. But if I had to pick, probably the first one, because CS245 is better than CS241 during coop term”

View on RedditRemove this

2B CS course selection 2 points, 3 comments

u/Standard-Lecture-950: “As of now, these are the classes I am enrolled into: \- CS 245, 246, Math 239, Stat 231 and an elective Could someone walk me through how the term would look like if i go ahead with this option? …”

u/iamanaybaid555: “Your best combination would be: • CS 246 (pre-requisite for CS 241 and CS 240) • CS 251 (pre-requisite for CS 350) • MATH 239 (pre-requisite for CS 341) • CS 245 (pre-requisite for CS 240) • One elective Two reasons for not taking 231 with this would be a heavier workload and no …”

u/Howardwang0315: “I took CS245 246 MATH239 STAT231 for 2A and i think if you can get a coop in cycle1 or 2then you can do it well, but if you can't do it like me, then it may be kind of hard.”

View on RedditRemove this

Professor Alice Gao AMA Request 65 points, 69 comments

“/u/alicexigao”

u/alicexigao: “Ummmm... sure... ask away....”

u/omnivaliant: “Thank you for making CS 245 really amazing in Spring 2018!”

u/alicexigao: “I am teaching CS 245 in Fall 2019 and nothing in Winter 2020 (yay for me =).”

u/ishfjaldhh: “Ayy cs245 final in 2 days, what are your tips on how to quickly find loop invariant for a partial while annotation, and what are some tips on how to get the solution to the halting problem from a problem that we assumed for contradiction to be decidable?”

u/nureha: “I really enjoyed CS245 with you in Fall 2017!”

u/Ambitious-Oil7656: “Does anyone here know of a good tutor for CS 245 ?”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar