CO 255Introduction to Optimization (Advanced Level)
- Units
- 0.50
- Faculty
- Mathematics
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 5 of the last 7 terms. Winter 2027: scheduled, 2 lecture sections. Spring 2027: schedule not out yet.
Linear optimization: feasibility theorems, duality, the simplex algorithm. Discrete optimization: integer linear programming, cutting planes, network flows. Continuous optimization: local and global optima, feasible directions, convexity, necessary optimality conditions.
Prerequisites
- Complete all of the following
Antirequisites
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 6317 | 21 / 40 | TTh 08:30–09:50 |
Winter 2027 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 5858 | 0 / 47 | MWF 09:30–10:20 |
| LEC 701 | 2296 | 29 / 9999 | Online or by arrangement |
Reviewed on UW Flow
92% liked it26% easy86% useful
From 53 ratings and 20 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
Took this course with Levent Tuncel who expects a lot from his students. He is the GOAT. Classes were extremely fun, engaging and interesting. Brutal and challenging assignments and final, but extremely fair and fun to work through. He also make sures you don't need to worry about your grades because as somebody who got a lot of <= 70s in assignment, he massively curve in the end to 90+ for those worrying about grades.
(Bonus points after 4 months: one of the main recurring idea in his course help me solve a subsubsubproblem in my research)Oct 2023 · liked it · 1 found this helpfulOn UW FlowRemove this
I thought the assignments were pretty difficult, and the content in the first half of the course was kind of boring (simplex is annoying, and the fundamental theorem of linear programming is more obvious than the Intermediate Value Theorem). The second half of the course was more interesting, we had some slick proofs of stuff in graph theory using duality, and we proved the max-flow min-cut theorem in an assignment.
Apr 2026 · liked itOn UW FlowRemove this
Amazing introduction to optimization, and highly applicable content to a ton of areas (including my unrelated AMATH research). However, Swamy makes this class a little *too* hard, to the point where it removed from my enjoyment significantly.
Apr 2026 · liked itOn UW FlowRemove this
great course. while lectures and assignments were at times challenging
, most of the hard concepts weren’t tested in the midterms or finals. the midterms were quite lengthy for the allocated time, but the final could have been even easier than the 250 finalDec 2025 · liked itOn UW FlowRemove this
I can't in good conscience recommend this course to anyone. The content was interesting, but the assignments and final exam were so difficult that it felt completely soul crushing. I had taken all of the advanced math and CS courses up until this point and this is the hardest by far. It is nice that it allows you to skip a ton of 300 level CO courses, but it is not worth the pain that I went through in my social life and mental health because I was spending 40 hours a week on just the assignments in this course alone and still struggling to finish them.
That all being said, the topics are very interesting albeit not extremely useful unless you are going into CO or theoretical algorithm…Aug 2025 · didn’t like itOn UW FlowRemove this
Discussed on r/uwaterloo
178 posts and comments in 120 threads mention CO 255, August 2012 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.
Spring 2024
Are there first year Research Opportunities 8 points, 8 comments
“I am an incoming Math student and I'm very interested in pursuing graduate studies in the future. I know there is the URA and URF but that is for at least second year. …”
u/Different_Guess7202: “… Try to take CO 255, math 249 as soon as possible, if you do well and the profs in those courses know you, you can get a URA with them. …”
Rank the courses you've taken from hardest to easiest 20 points, 43 comments
“I'm curious”
u/maaaath: “uhhhh I'm just gonna randomly pick ones I remember or I'll be here for a while PMATH 753 > CO 471 > PMATH 763 > PMATH 451 > CO 442 > CO 255 >>>> CS xyz”
u/SchitLipz: “It's cool I've taken 5 of the 6 courses here and audited the one I haven't taken but my ranking would be different from yours: PMATH 763 > PMATH 753 > CO 442 > CO 471 > CO 255 > PMATH 451”
u/Different_Guess7202: “CO 471 >>>>>>> CS 146 > CO 255 > CO 442 > CS246E > STAT 241 > CS 145 > MATH 148 > CO 463 > MATH 247 > STAT 240 > CS 240E > MATH 245 > MATH 145 > MATH 146 > PMATH 351 > MATH 147 > MATH 249”
Course suggestion - CS/MATH/CO 2 points, 1 comment
u/Able_Park_2562: “Currently 2A going into first coop, which one should I take first, Math 249 or CO 255? Also is CS 241E worth it?”
CO 456 and CO 367 or CO 351 6 points, 4 comments
“As the title suggests how doable would it be for me to do CO 456 along with CO 367 or CO 351? And can anyone give me a rundown on the difficulty between these 3? …”
u/mreifslp: “Piggybacking off of this question, is it usually recommended/feasible to skip CO 351 and CO 367 if you've taken CO 255? …”
Winter 2024
What is the hardest course you took in waterloo 29 points, 66 comments
u/mathwannaaabe192012: “co250”
u/No-Drink5739: “Bro try CO255”
Question on double counting 4 points, 5 comments
“Hi guys! I am a math student who's currently considering doing a double major and a cs minor. Since all plans under the math faculty require courses from table 2, would courses from table 2 (e.g. …”
u/Worgen660: “… For example, MATH 135 \ MATH 145, and CO 250 \ CO 255, but MATH 138 is not equivalent to MATH 128. In this case {MATH 237, MATH 247} forms an equivalence class. This equivalence class is mandatory for Pure Math, so using MATH 247 for pure math doesn't count as a usage. …”
cs251 usefulness 3 points, 6 comments
“Course selection coming up thinking about what courses to take on top of cs240, cs241, math239, and afm274 for 2B CFM. Debating between math235 (linalg) and cs251 and bird courses right now. …”
u/Stranger_Natural: “Cs251 was an annoying course that I learned almost nothing from. Math235 (and in particular, anything that gives you more exposure to linear algebra) is very very useful if you want to take CO 250/255/463, and from what I’ve heard, it also helps with CO 481 and CS 480.”
Fall 2023
Need Tips for CO255 with Levent Tuncel 1 point, 2 comments
u/Worgen660: “His assignments are so damn hard with almost no collaboration allowed and I am totally confused about what is going on, especially with theorems of the alternatives and duality theory. Any tips on how to survive or tips on studying optimization content in general? Thanks.”
Winter 2023
CO Courses for Machine Learning 7 points, 8 comments
u/Novel_Brain9700: “… I heard bunch of good stuff about CO 255 or CO 367 for CS 480, but I want to hear some opinions about other optimization courses.”
u/positivity_nerd: “CO 466(continuous optimization) teaches about unconstrained, constrained and large scale optimization methods. …”
u/Novel_Brain9700: “Would you recommend taking CO 367 or taking one of CO 466 or 463 instead, because I am taking CO 255 and I don't know how much overlap will the two courses have (since most courses that require CO 367 as a prerequisite allow CO 255 as a substitution)”
u/positivity_nerd: “… You may check the notes of CO 255 and CO 367. …”
Fall 2022
CO 250 without linear algebra background 2 points, 3 comments
“So I took M136 like 3 years ago and tried to review it but I literally do not remember anything. I got a 70 on it when I took it. …”
u/3uclid: “… I don't remember struggling with the linear algebra components of CO 250, so you should be fine (probably not the case for CO 255, though).”
Spring 2022
CS students, what courses have you taken each term 9 points, 21 comments
“Inspired by https://www.reddit.com/r/uwaterloo/comments/v3b8nj/can\any\current\mathcs\students\let\me\know\their/ but recognizing that one term is a very narrow view, What courses have you taken each …”
u/Osteospermum: “… single hard course I can take every term isn’t worth and it led to me dropping a course (CO 255) and doing worse in my other ones. …”
Winter 2022
What courses should I take in 2A if I’m interested in Math fin, CO, and maybe a joint in Stats ? 0 points, 3 comments
u/dotuanhiep: “Stat 240/230, Math 247/237, Math 245/235, Actsc 231, CO 255/250. You should try to take math 247 and 245. If you already took stat 230, then replace it with 231/241.”
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