CO 367Nonlinear Optimization
- Units
- 0.50
- Faculty
- Mathematics
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 3 of the last 7 terms. Winter 2027: not on the schedule. Spring 2027: schedule not out yet.
A course on the fundamentals of nonlinear optimization, including both the mathematical and the computational aspects. Necessary and sufficient optimality conditions for unconstrained and constrained problems. Convexity and its applications. Computational techniques and their analysis.
Prerequisites
- Complete all of the following
- Must have completed at least 1 of the following:
- Complete 1 of the following
Antirequisites
None listed.
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 6291 | 82 / 96 | TTh 08:30–09:50 |
Reviewed on UW Flow
94% liked it25% easy81% useful
From 18 ratings and 8 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
Levent's quizzes are brutal.
Jan 2026 · liked itOn UW FlowRemove this
Levent Tuncel is an amazing prof tbh. He tries to make lectures interesting and engaging. This course is mostly lin alg and calculus though (A lot of taylor expansions, and math 237), with a bit of co 250 at the end. He never gives questions u can memorize, so you need to practice throughout the course by doing the assignments and reading through notes though so it can be kind of hard.
Dec 2025 · liked itOn UW FlowRemove this
Very useful course, but could have been more useful. Studied with Dr. Fei Wang, who focused on formal proofs intensively, but I would appreciate more "intuitive/insight" things since I sought a more application-oriented optimization background.
The midterm is more proof-based, the final has some computational questions. The assignments are a combination with additional MATLAB coding.
Most of the time, you do not really need this course to do deep learning, as second-order derivatives are usually unavailable in practice, and you just try the learning rates with experiments or schedulers rather than actually picking one through the theory. Haven't found very direct application in geosciences…Jan 2025 · liked itOn UW FlowRemove this
A scam course, come and hope to see something fun like other CO courses. It turns out this course just waste time doing some calculus, linear algebra and some old-schooled computational methods. The only interesting part is the duality of non-linear programs which was rushed at the end. This course has the wrong prerequiste, it does not have anything to do with CO 250, it really should require MATH 235, 237 and even a course that does some topology on Euclidean spaces. The content was misleading, benefiting nothing by working on assignments and does not help you build your math skills at all. I would consider reading some text on my own to learn this field if I could choose again.
Dec 2024 · didn’t like itOn UW FlowRemove this
Took in Fall 2024 with Prof Henry Wolkowicz.
Pros:
Henry is genuinely a nice guy. Really passionate about this field, and loves to give us random lore and stories from his heyday in the world of optimization. In terms of the topics covered, this course has some pretty cool stuff relevant to AI/ML. The main takeaways from this course (for me at least) seem to be the iterative methods for constrained and unconstrained optimization, as well as some random problems we looked at along the way (line search, trust region methods, gradient descent, non-linear squares, etc.). Honestly, next to no overlap with CO250 until the last two weeks where KKT & Weak/Strong Duality are re-explored. Also…Dec 2024 · liked itOn UW FlowRemove this
Discussed on r/uwaterloo
81 posts and comments in 63 threads mention CO 367, July 2015 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
Taking Math 128 as Math Major? 4 points, 5 comments
“I was wondering if taking math 128 as a math major would negatively impact me for my future courses. I heard it's fine for cs majors but didn't find much info for Math majors. …”
u/Laeriana: “It depends WHICH major you're considering in Math, and whether or not you feel you can get the 70 required in MATH 128 to move forward to MATH 237 which is required for MOST non-CS programs (one …”
u/Laeriana: “… In addition to MATH 237, it looks like you will also need that 70% in MATH 128 for CO 367 as part of your possible List 2 requirements, but you don't necessarily have to choose that course to fulfill that requirement. …”
Easiest Faculty of Mathematics Course for Engineering AI option 5 points, 7 comments
u/Agishan: “Out of these what is the best option CO367 \- Nonlinear Optimization (0.50) CO456 \- Introduction to Game Theory (0.50) CO463 \- Convex Optimization and Analysis (0.50) CO466 \- Continuous Optimization (0.50) CS452 \- Real-Time Programming (0.50) CS479 \- Neural Networks (0.50) …”
People who already graduated but still visit this site—-any profs you remember fondly? 64 points, 65 comments
u/LongWayToHome: “Alan Thompson (MATH 135, postdoc) Dan Wolczuk (MATH 235) Surya Banerjee (STAT 231) Martin Pei (CO 342) Ertan Elma (PMATH 340, postdoc) Nargiz Kalantarova (CO 367, postdoc)”
Spring 2024
Best CO minor courses to take outside of the requirements? 3 points, 7 comments
“What are some recommendations? I'd like to choose mainly based on how useful/interesting the courses are, but wouldn't want them to be overly difficult either. TIA!”
u/batson2002: “co courses and overly difficult aren’t really words that go together, the courses you’ve listed are generally quite difficult (367 being the hardest imo). …”
u/mreifslp: “Do you know how CO 351 and CO 367 compare in difficulty and content to CO 450, CO 463, and CO 466?”
Are CO367 and CO351 challenging? 4 points, 1 comment
u/mothership38: “I am taking CO367 and CO351 in the fall term. CO250 was not an easy course for me, even though I did well in MATH136 and MATH235. Are CO367 and CO351 very challenging? What is the workload like for them?”
CO367 with Henry Wolkowicz 3 points, 4 comments
u/Electronic-Visit-242: “Current 2B CS/BBA planning on taking this course this fall. I want to take it because I've enjoyed my courses in CO so far, and it seems like a relevant course to develop a foundation in AI/ML. …”
u/ERGC_Xander: “I took CO367 with him last fall. He is extremely knowledgeable and I really enjoyed the course. For me personally, it was the good kind of challenge because it was my first look into higher level optimization. I cannot stress enough that MATH 235 should be a prerequisite. …”
CO 456 and CO 367 or CO 351 6 points, 4 comments
u/LazeLace1603: “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? I'm desperate for any help at all 😭😭😭😭😭😭”
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
Is the CS degree even worth it? 5 points, 11 comments
“Just finished my 1B in CS, and I'm not too sure if I want to continue in this program. Back when I was applying to universities I applied for mostly math programs, and CS at Waterloo was the only CS …”
u/positivity_nerd: “… I would recommend taking CO 367, 353 and 466. For stats, take 341,441,440,444, 331 and 333. Also 430 if you are into experimental design but only take it if Prof Nathaniel Stevens is teaching it. …”
CEs who've completed the AI Option, what courses did you take? 2 points, 4 comments
“Based off of these courses (https://ugradcalendar.uwaterloo.ca/page/ENG-Artificial-Intelligence-Engineering-Option), I'm taking STV 205 next term (which fulfills the List 1 requirement), and I want …”
u/torido314159: “ok hey fellow ECE, I am also doing this option and will be taking STV 205 next term. You can take CO 367 which has CO 250 and a calculus 2 course as pre-requisites. CO 250 is offered online and its pretty easy so thats a big plus, the calculus 2 can be met by MATH 119.”
u/torido314159: “… Anyway, it seems like CO 367 is the way to go for us, I have explored other math courses in the AI Option but all of them have too many math/cs pre-requisites that would take you another semester just to graduate with the AI Option. What year are you btw ? …”
How doable is CO330 or CO367 purely online? 6 points, 1 comment
u/PomeloIllustrious219: “Just dropped CO432 cause I absolutely bombed the midterm and there’s no way I’m coming back now. I just need 1 more CO course to complete my CO degree but all the 300 levels are in terms where I have coop. Just fyi I’m cruising on a 65.7 MAV so I’m not the brightest. …”
Best Eng Program to get into Machine Learning? 19 points, 32 comments
“I'm applying to Waterloo Engineering this year. What is the best engineering programs besides software eng to get into machine learning?”
u/anaeyouk122: “I recommend you to transfer to mathematics or CS if you are rlly passionate about ML.”
u/StretchedwasFresh: “Have heard high praise of CO 367”
How useful is CO367 in modern day ML? 1 point, 9 comments
u/Constant-Profile-794: “Genuinely curious what you guys think: Would this course be useful mainly towards those who are reaching for grad level ML work? Most industry ml nowadays is gravitating towards ML ops / infra since packages can do everything for you now. Thanks!”
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