uwloo

CS 341Algorithms

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, 5 lecture sections. Spring 2027: schedule not out yet.

The study of efficient algorithms and effective algorithm design techniques. Program design with emphasis on pragmatic and mathematical aspects of program efficiency. Topics include divide and conquer algorithms, recurrences, greedy algorithms, dynamic programming, graph search and backtrack, problems without algorithms, NP-completeness and its implications.

Prerequisites

Antirequisites

  • Not completed nor concurrently enrolled in any of the following:
    • CS231 - Algorithmic Problem Solving (0.50)
    • ECE406 - Algorithm Design and Analysis (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 001600383 / 100TTh 13:00–14:20
LEC 002654699 / 100TTh 11:30–12:50
LEC 003654786 / 100TTh 10:00–11:20
LAB 101635899 / 100F 10:30–11:20
LAB 102643883 / 100F 11:30–12:20
LAB 103593486 / 100F 13:30–14:20
TST 2016549268 / 300Oct 5 18:00–19:50
Nov 9 18:00–19:50

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 00156070 / 90TTh 10:00–11:20
LEC 00258450 / 90TTh 11:30–12:50
LEC 00358910 / 90TTh 13:00–14:20
LEC 00459450 / 90TTh 14:30–15:50
LEC 7012185273 / 9999Online or by arrangement
TUT 10159970 / 90F 10:30–11:20
TUT 10259980 / 90F 11:30–12:20
TUT 10359990 / 90F 13:30–14:20
TUT 10460000 / 90F 14:30–15:20
TST 20159120 / 360Feb 22 18:00–19:50

Resources

Around the web

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

12 more links

Suggest a resource.

Reviewed on UW Flow

87% liked it52% easy97% useful

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

  • First I want to say something about the comment below which says Algorithm should be an elective for CS students, I will suggest you change to SE because you clearly don't know what is "science" in CS.
    The course is not in depth and touches a lot of things. The assignments and exams are SO STUPID LONG. They do not provide any solution for assignments midterms or ect, they ask us to write idea, proof of correctness, runtime and pseudocode. I am pretty sure they will just look at the questions and say yes it's easy to solve it but have no clue how hard is it to write it formally

    Dec 2024 · didn’t like it · 4 found this helpfulOn UW FlowRemove this

  • This course was a sh!t-show. The profs running it (Petrick and Buss) are terrible at teaching. Classes were so empty at the end of the term that there were only 1-2 students in Buss's sections. Everyone else just decided to study off slides and CLRS. Marking was so late to be returned (it's Dec 29th and A5 marking isn't done; final marking hasn't even started) after TAs quit their jobs that the ISC (Sylvie, bless her heart) wrote a review on all the factors that went wrong. The assignments were long and hard. The exams were relatively less scary. There's a reason I'm posting this anonymously: I'm scared of retribution from these profs who shouldn't be teaching at Waterloo.

    Dec 2022 · didn’t like it · 4 found this helpfulOn UW FlowRemove this

  • Took this as an elective... It honestly wasn't that hard. The graph theory stuff was interesting!!

    Apr 2018 · liked it · 3 found this helpfulOn UW FlowRemove this

  • The most useful CS I've ever taken..... Both useful for academic and interview. Be sure not to miss anything!

    Jul 2019 · liked it · 2 found this helpfulOn UW FlowRemove this

  • Fuck this course

    Aug 2018 · didn’t like it · 2 found this helpfulOn UW FlowRemove this

Discussed on r/uwaterloo

1,528 posts and comments in 1,095 threads mention CS 341, June 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

Alternatives to CS240 and CS341 open to Honours Math? 12 points, 15 comments

u/Original-Jackfruit12: “2nd year in computational mathematics, really wanna take both these but can’t, are there similar alternatives I can take?”

u/Intelligent-Show-815: “Co353 is somewhat an alternative to cs341”

u/Super_Lettuce6166: “Cs234 is an alternative for cs240 I guess”

u/Organic_Midnight1999: “… I took the harder CS 341 but I didn’t walk out being ready. No course does that for you. All you need is a bit of guidance to understand how to get started and then do your own self study. Especially for technical interviews. …”

View on RedditRemove this

Thoughts on Course Load 3 points, 11 comments

u/goose-ctrl: “CS 341 CS 348 CS 349 CS 350 ECON 424 Thoughts on the course load for these 5 courses ?”

u/_spooky_77: “from personal experience (so ymmv), cs349 is pretty free, cs348 is fine as long as david toman isn’t teaching it, cs341 and 350 might be a bit painful (341 was kinda tough for me cus I’m garbage with proofs and don’t grind leetcode), econ424 is easy according to uwflow, I’d say …”

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/amsyed10385: “Since youre thinking about interviews, I honestly found CS 341 alot more useful for interviews than 240. If you took CS240 during workterm instead of 241 maybe you can fit CS 341 into 3A. CS 348 isn’t really a good course, would prioritize 341/350 over 348. …”

View on RedditRemove this

2B CS course selection 2 points, 3 comments

“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 …”

View on RedditRemove this

CS135 Withdrawing 4 points, 5 comments

“I barely passed the CS135 midterm and I need a 50% in the final exam to pass the course. Is it doable to get a 50% in the final or should I consider withdrawing?”

u/iamanaybaid555: “… If this ever happens to you again while you're doing CS 136, 246, 240, 341; you'll face it with some experience rather than going in blind. …”

View on RedditRemove this

UW Math Viable 2A Courseload? 14 points, 13 comments

“https://preview.redd.it/sewy50msawyd1.png?width=376&format=png&auto=webp&s=164f19f51cf2407d9f633857108cece82aac7e1c”

u/iamanaybaid555: “Are 237 and 235 really time consuming? How are those like”

u/iamanaybaid555: “Okay that sounds very reassuring considering I'll be taking it with CS 350, 341, 346 and 348. I've had a decent bit of practice from 128 and now doing a bit in STAT 231 too but will make sure to brush up on concepts before I head into term to make it a bird course for myself. …”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar