uwloo

CS 231Algorithmic Problem Solving

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.

The study of the steps required to solve real-world problems on a computer, including problem specification, choice of algorithmic paradigm, analysis, and implementation. Topics include exhaustive search, divide and conquer, greedy, and dynamic programming approaches.

Prerequisites

  • Complete 1 of the following
    • Must have completed at least 1 of the following:
      • CS116 - Introduction to Computer Science 2 (0.50)
      • 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)
    • Complete all of the following
      • Earned a minimum grade of 60% in each of the following:
        • CS114 - Principles of Computing for Science (0.50)
      • Must have completed at least 1 of the following:
        • CS115 - Introduction to Computer Science 1 (0.50)
        • CS135 - Designing Functional Programs (0.50)
        • CS145 - Designing Functional Programs (Advanced Level) (0.50)

Antirequisites

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 00174170 / 300Online or by arrangement
LEC 701807552 / 9999Online or by arrangement

Resources

Around the web

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

Suggest a resource.

Reviewed on UW Flow

65% liked it66% easy65% useful

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

  • Not recommend to take this course. Previous terms did not have an in-person final, but this term introduced one, which made the course harder. The course is mostly self-taught, and modules in edX are numerous and hard to follow. Since it was the first in-person final, it was also difficult to know what to expect or how to prepare.

    Jul 2026 · didn’t like it · 1 found this helpfulOn UW FlowRemove this

  • Took online S25. the assignments are a bit tricky from what I remember. Pretty useful course, (for high level leetcode prep), but not a very memorable course.

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

  • A little boring

    Oct 2026 · liked itOn UW FlowRemove this

  • poorly written course, found slides and went through it a week before finals. cheat sheet was allowed but only one-sided. did better than i expected, not bird, i dont even know what this course was about though.

    Sep 2026 · didn’t like itOn UW FlowRemove this

  • I say this course is CM version of CS341, the concept is pretty difficult to learn on your own when you take it online. The course is structured in a poor way, we need to spend 5 or 6 hours an week to just read through these edx content, and many ideas is not well explained there. It would be more fair to have a midterm assessment and lecture made in pdf so that easier for student to learn and show a snapshot of their understanding. The must pass the final part for a poorly design course panic the freak out of students.

    Aug 2026 · didn’t like itOn UW FlowRemove this

Discussed on r/uwaterloo

167 posts and comments in 136 threads mention CS 231, November 2016 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

Online CS Courses? 2 points, 4 comments

“Does anyone have recommendations for CS courses that can be mostly done online? I'm talking about skipping 100% of all lectures and just attending midterms and finals. …”

u/LordHylian95: “CS 231 and CS 234 are both fully online and have final assessments instead of an exam”

View on RedditRemove this

easy online courses at uw 11 points, 15 comments

“i'm a math major and I was planning out my courses for the rest of my undergrad, and I need 2 easy online courses that I can take over a co-op. …”

u/reckollection: “Stats 230/231 these are medium CS 338/330/234/231 Econ 101/102”

View on RedditRemove this

Easiest 3 year General Math Degree Courses 2 points, 4 comments

“Got a few terms left but all I care bout atp is getting a high grade, what courses would you consider the easiest to do? I’m taking only 3 courses next term, 2 math and 1 non math. …”

u/Kassaking777: “Heard from my friend that CS200 is a really easy one I would say CS231 234 should be easy but I'm a CS person so not sure if it works for math ppl. STAT 330 could be easy but depends on prof. …”

View on RedditRemove this

Cs 234 3 points, 3 comments

“For people that took this online, what was the course breakdown like? And for in-person did you guys have a final?”

u/deeznuts0124: “… Overall, both CS 231 and CS 234 are shitshows learning wise, but great for getting a high grade.”

View on RedditRemove this

Bird CS for Minor Computing 5 points, 10 comments

“Hi, I need 2 more CS courses (need 1 from 3xx/4xx and the other one is just any CS) for my minor Computing. Can someone suggest what CS bird courses that I can take? Thanks so much.”

u/AHpache182: “Are you in faculty of Math?”

u/gooseatwaterloo: “CS 338, CS 330, CS 116, CS 135 and now taking CS 231 and CS 234”

View on RedditRemove this

CS Minor Possible? (Math) 18 points, 12 comments

“I’m entering my 2A term for Math and want to pursue a Stats major and continue seeing CS minor as an option on the Math Faculty page. …”

u/Jaffe240: “… you can take important courses like CS 231 Algorithms and CS 234 Data Structures that you cannot count towards the CS Minor. There is literally no reason to do the CS Minor over the Computing Minor, except that some people think CS Minor sounds cooler on a resume. …”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar