CS 231Algorithmic Problem Solving
- Units
- 0.50
- Faculty
- Mathematics
- Subject
- Computer Science
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- 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:
- 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:
- Earned a minimum grade of 60% in each of the following:
Antirequisites
- Complete all of the following
- Not completed nor concurrently enrolled in any of the following:
- Not completed any of the following:
- Not open to students enrolled in H-BBA & BCS Double Degree, H-Computer Science (BCS), H-Computer Science (BMath), JH-Computer Science (BCS), JH-Computer Science (BMath), H-Computing & Financial Management, H-Data Science (BCS), or H-Software Engineering
Leads to
Winter 2027 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 7417 | 0 / 300 | Online or by arrangement |
| LEC 701 | 8075 | 52 / 9999 | Online or by arrangement |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names CS 231.
- CS 231: Home Course website · student.cs.uwaterloo.ca Remove
- CS 231 | SCS Course website · cs.uwaterloo.ca · from Armin Jamshidpey’s site Remove
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
Alternatives to CS240 and CS341 open to Honours Math? 12 points, 15 comments
“2nd year in computational mathematics, really wanna take both these but can’t, are there similar alternatives I can take?”
u/Strange-Attitude719: “CS 231 and 234”
Help with Honors Mathematics 1B and 2A term 9 points, 3 comments
u/MinuteRemarkable9989: “… STAT231, MATH237, (CS136 or CS231), and probably an easy elective and maybe stat communications”
any 2nd year cs courses that you can take with cs 116? 5 points, 6 comments
“Is there any 200 CS courses that are direct successors of 116? or do I need to take 136 no matter what?”
u/sour-sushi: “Cs230 cs231 cs234”
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”
easy(er) 200x math course? 4 points, 5 comments
“actsc221?.. any other ideas? CM + Stat major so thinking of taking some side-quest course as a fifth.”
u/reckollection: “CS 231/234”
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”
Final CS 231 and CS 234 (online class) 2 points, 5 comments
u/gooseatwaterloo: “I have no clue how the online finals for CS 231/234. Anyone can share some info how it works? Just like assignments with deadlines? Thanks in advance.”
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. …”
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.”
ECE 252 Override? 3 points, 2 comments
u/bomankleinn01: “… are ECE 250 (Algorithms and Data Structures) which could be covered by CS 341 or CS 231/34. …”
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”
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. …”
Check it elsewhere for Fall 2026
- Undergraduate Calendar, 2026–27The official entry
- Requirements for Fall 2026Waterloo’s requisite checker
- Schedule of Classes, Fall 2026Instructors, rooms, live seats
- Quest Class SearchWhere you enrol
- Course outlinesSyllabi from past terms (UW login)
- UW FlowStudent ratings and reviews
- WClassesPast sections back to 2004, and who taught them