uwloo

CS 365Models of 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 2 of the last 7 terms. Winter 2027: scheduled, 2 lecture sections. Spring 2027: schedule not out yet.

Finite automata and regular expressions. Pushdown automata and context-free grammars. Turing machines and undecidability. Time and space complexity. Diagonalization and hierarchies. CS 365 covers the material in CS 360 at an accelerated pace plus additional topics in computational complexity.

Prerequisites

Antirequisites

  • Not completed nor concurrently enrolled in any of the following:
    • CS360 - Introduction to the Theory of Computing (0.50)

Leads to

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 00156900 / 60MW 10:00–11:20
LEC 701219033 / 9999Online or by arrangement

Resources

Around the web

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

Suggest a resource.

Reviewed on UW Flow

71% liked it48% easy56% useful

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

  • "WTF, man I just wanted to learn how to program video games..."

    Nov 2012 · liked it · 5 found this helpfulOn UW FlowRemove this

  • The following response is generated by Mr. ChatGPTuring machine:
    "This course is just fantastic if you're into barely scratching the surface. The professor openly admitted on day one that it's useless in real life—and he wasn't kidding. I signed up because I was curious, but instead, I got a mishmash of topics that never go into any real depth.
    The assignments are just rehashing proofs from class, no creative work involved. And the tests? They're your typical CS exam with true/false, short answers, and long answers. The TAs grade like they're robots on autopilot.
    This course is like a super-sized version of CS341: if you disliked CS341, you'll hate this one, and if you didn't, you'll…

    Mar 2025 · didn’t like it · 1 found this helpfulOn UW FlowRemove this

  • This course was reworked this semester with a lot of new material. Content was fun, assignments were interesting but took some time, exams were pretty straightforward. Would recommend

    May 2024 · liked it · 1 found this helpfulOn UW FlowRemove this

  • was interesting at first but then got a lot more boring after the 6th week straight of talking about turing machines (the whole course was only on turing machines). the computational complexity stuff was interesting but i wish we talked more about its applications. i liked the TM part of cs245 and the P/NP part of cs341 but i didn't like this course.

    Aug 2025 · didn’t like itOn UW FlowRemove this

  • The contents in this course are super interesting. I kinda didn't like the style of teaching of Eric Blais, though I think he is better than most of the CS profs. He stops and ask students to think about the proofs. This is nice but he does it too many times and for even the most trivial things in class. He also skips a lot of non-trivial steps in proofs, which are actually the important parts. He suggested that a this is confusing concept and you should try reading it multiple times from the notes so you can get it, instead of actually talking about the proof and why it makes sense. The midterm and final were disappointing for me. I can't believe that in an advance version of a…

    May 2025 · liked itOn UW FlowRemove this

Discussed on r/uwaterloo

102 posts and comments in 76 threads mention CS 365, December 2011 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

Spring 2024

I just retired from UW after 34 years of teaching CS (and 40 years of teaching total). Ask me anything. 503 points, 282 comments

u/shallit: “… papers on these topics in journals and conference proceedings \ I taught courses including CS 360, 365, 341, and 462 \ I supervised undergraduate students, master's students, and Ph. D. …”

u/Regular_Maybe5937: “I’ve been told that UW’s CS has not always been separated into the BCS and BMATH streams. Seeing that you’ve taught a couple of the courses now only required by BMATH (but not by BCS), what are your …”

u/Regular_Maybe5937: “Cs 360/365”

u/shallit: “Oh, yeah, the decision to remove CS 360/365 from the CS core was, I think, unfortunate, but many universities are now moving away from this as core CS material. So UW is not alone.”

u/torvader: “Congrats! I took your 462 course and thoroughly enjoyed it. I also had a ton of fun working on your no-repetition challenge when I took CS365 with Blais, and I even stopped by your office once to talk about it.”

u/Gauss_given_order: “Whom do you regard as your most brilliant collaborator? What do you think sets them apart? Are you interested in the busy beaver problem? …”

u/shallit: “… The busy beaver problem is a fun one that I've talked about in CS 360/365/462 from time to time. It illustrates the kind of astonishingly complex behavior that even the simplest systems can produce. …”

View on RedditRemove this

Enumeration-like courses 4 points, 4 comments

“I enjoyed the binary string part of math 239 and i’m wondering what future course (CO or other kind of theory courses) go more in depth into that or explore topics like that? …”

u/blkmage: “If it's the strings specifically that interests you, that's formal language theory: look at CS 360/365. Not much actual enumeration in those though.”

View on RedditRemove this

Winter 2024

Should I take CS 365 or CS 442? 3 points, 2 comments

u/EducatedImagination: “… However, based on my schedule, I have the option to take only one of the following two courses: CS 365 or CS 442. I am wondering which one is more interesting conceptually and which one is more useful practically. …”

u/2kofawsome: “… CS365 (https://outline.uwaterloo.ca/view/nny8zs) will cover undecidability from CS245 and greatly expand on the complexity topics from CS341 CS442 (https://outline.uwaterloo.ca/view/n8uwb9) is for those "who loved CS245" according to the prof this term in the first lecture”

View on RedditRemove this

Fall 2023

thoughts on this courseload 2 points, 1 comment

u/soros-bot4891: “… The 2 CS courses are what I've chosen to fill out my degree requirements so those probably won't change (was also looking at CS 488 Graphics and CS 365 Theory of Computing, though). I decided I wanted to pick up French again hence I have the two French courses there. …”

View on RedditRemove this

Winter 2023

Should I drop out of UW CS? 55 points, 43 comments

“I started CS Fall 2018. To date, I have completed all 2B requirements except for CS 241. I have completed 21 credits in total, and have met all breath and depth requirements except for Communications …”

u/kronicmage: “Hey, if you're doing another attempt at CS 241 again anytime soon please feel free to hit me up, I'll help you free of charge. …”

u/kronicmage: “… If you can dedicate a few hours per week, I highly recommend working through the material of CS 365, which approaches these topics completely from the bottom up, starting from nothing (it may be controversial to recommend this course cause it normally comes after CS 241, but I …”

View on RedditRemove this

Spring 2022

CS course suggestions because advisors didn’t help 2 points, 9 comments

“Hi there! In 2B CS. For some particular reasons, I only have CS courses left as part of my degree requirements. I’ve taken CS 135, 136, 245, 246, and 251. …”

u/2kofawsome: “I think you can take CS 346, CS 348, CS 370, CS 457 But, I dont think its possible in 2B CS to have only CS courses left. …”

u/2kofawsome: “… After you take 240 and 241 this term it will open up CS 341, 349, 350, 360, 365, 442, 449, 487, 492 and taking 370 would open CS 475, 476, 479, 484 for next term, so after this term you will have tons of options. …”

View on RedditRemove this

How much free time do CS students get? 44 points, 24 comments

“I am an incoming freshman in the UW CS program and I already know the reputation of the course for being tough as balls but just wanted to ask how much free time can I expect in my first year. …”

u/StarIU: “… I took CS 371, which was a lot of math, CS365, which was enjoyably difficult by prof Eric Blais. I took another experimental CS course by Eric Blais. …”

u/fourier314: “Do you mean CS 365?”

View on RedditRemove this

Taking MATH 239 in 3A instead of 2B? 0 points, 2 comments

“Hey yall, I'm in 2B CS and I'm having a hard time balancing 4 core courses at once (CS 240, CS 241, CS 251, MATH 239) and I'm debating switching MATH 239 out for an elective and taking MATH 239 in 3A …”

u/thewarrior71: “Only required course it delays is CS 341. Also CS 360, 365, and some CO/CM courses. You can do CS 341 in 3B, if you don't mind that, you can switch it, and do something like CS 350, MATH 239, STAT 231 in 3A.”

View on RedditRemove this

Theoretical CS courses 4 points, 4 comments

u/yodnokzo: “Are there any other CS courses similar to CS 365 or CS 467? Basically, CS courses that are more theoretical rather than applied. I think I will like those courses but there doesn't seem to be that many of them.”

View on RedditRemove this

Winter 2022

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar