uwloo

CO 454Scheduling

Units
0.50
Faculty
Mathematics
Subject
Combinatorics and Optimization

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: not on the schedule. Spring 2027: schedule not out yet.

An overview of practical optimization problems that can be posed as scheduling problems. Characterizations of optimal schedules. Simple and efficient combinatorial algorithms for easy problems. A brief overview of computational complexity, definition of P, NP, NP-complete and NP-hard. Integer programming formulations, the travelling salesman problem, heuristics, dynamic programming, and branch-and-bound approaches. Polynomial-time approximation algorithms.

Prerequisites

  • Complete all of the following
    • Must have completed at least 1 of the following:
      • CO227 - Introduction to Optimization (Non-Specialist Level) (0.50)
      • CO250 - Introduction to Optimization (0.50)
      • CO255 - Introduction to Optimization (Advanced Level) (0.50)
    • Must have completed at least 1 of the following:
      • MATH229 - Introduction to Combinatorics (Non-Specialist Level) (0.50)
      • MATH239 - Introduction to Combinatorics (0.50)
      • MATH249 - Introduction to Combinatorics (Advanced Level) (0.50)

Antirequisites

None listed.

Leads to

No course lists it as a requisite.

Reviewed on UW Flow

78% liked it34% easy70% useful

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

  • Interesting course ruined by a bad instructor. Assignments were incredibly difficult usually taking many hours per question. The midterm had questions on it that would usually take 2+ hours to figure out for an assignment. Similar deal with the final. The notes for the lectures were either not posted or were incomplete. Even if you showed up to class the instructor would constantly have to go back and change what they wrote completely messing up your notes. The proofs in the course were rarely motivated and most of the time pulled things out of thin air that were barely explained. If you must take this course I would recommend taking CO 353 before this (it really should be a prerequisite…

    Aug 2024 · didn’t like it · 3 found this helpfulOn UW FlowRemove this

  • By far the worst course I've taken. The prof was super disorganized and unhelpful, making the course super difficult. Applications were rarely covered (let alone having examples of algorithms in class), which took away the "scheduling" part of scheduling. 35% of the mark was towards the midterm, which we weren't adequately prepared for, assignments had questions that took several hours in some cases, and were only worth 20%

    Jul 2024 · didn’t like it · 3 found this helpfulOn UW FlowRemove this

  • Do not take this course with Nikhil Kumar. I believe that this course could've been an interesting challenge with an instructor who cared about teaching and put any effort into the classes. He speaks as quietly as possible, refuses to wear the microphone, and rarely posts anything useful on learn if you've missed a lecture. Even if you don't miss lecture, good luck trying to understand your notes after he continuously erases boards too soon, doesn't write down key information, or goes back to change major sections of a board that was discussed much earlier in the lecture.
    Many students dropped out, and I wish I had been smart enough to do the same before WD, however we had only gotten 10%…

    Jul 2024 · didn’t like it · 2 found this helpfulOn UW FlowRemove this

  • Very engaging content, in particular it's interesting how different scheduling problems can be derived from and to other problems of interest in CS and math.

    Aug 2025 · liked itOn UW FlowRemove this

  • The quizzes were heavily influenced by the assignments and the content he covers in class and were not the easiest. But this course is manageable, and if enough effort is put into understanding the materials, you can do quite well.

    Aug 2025 · liked itOn UW FlowRemove this

Discussed on r/uwaterloo

45 posts and comments in 41 threads mention CO 454, November 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.

Spring 2024

extremely bad instructor 44 points, 11 comments

“This post is both a small vent and a request for some advice. I’m currently finishing up the last courses I need to graduate from UW with a math bachelors. …”

u/Apprehensive-Fee-247: “For anyone wondering, this is CO454. I really don’t recommend taking it with the current instructor, but I think at this point I’m just going to write my thoughts in the course evaluation and leave it at that.”

u/FireSolution60: “Which course is this?”

u/Apprehensive-Fee-247: “CO454, scheduling”

View on RedditRemove this

Winter 2024

Fall 2023

I don’t know what to do with my degree 1 point, 14 comments

“I'm in my 2A term as a math student and my initial plans were to get into data science, but due to my average being lower than the cutoff that did not happen. …”

u/Organic_Midnight1999: “Bro a Math degree is underrated. As the world advances the problems we face just get harder and harder. We move towards more high level, abstract, and data driven problems - guess what? …”

u/jadedwolf12: “… CO 454 - similar to 353, with a bigger focus on scheduling algorithms CO 485/487 - both cover cryptography, though 485 is more theoretical and focused on public-key, and 487 covers more breadth CO 481 - quantum algorithms (crosslisted with CS 467/PHYS 467) This is not an …”

View on RedditRemove this

Spring 2023

Winter 2023

CO454 vs CO367 vs CO353 2 points, 8 comments

u/OrangeMint1-2: “… I can take CO 454 next term, CO 367 by changing my co-op sequence, or CO 353 one year later. I have no idea who will teach. I want to know what's the level of difficulty, workload, and what these courses are actually teaching (any useful?). …”

View on RedditRemove this

Winter 2022

Spring 2021

Does Math/BBA DD At Waterloo Lead You Into Tech Jobs? 0 points, 9 comments

“Can this particular program allow you to go into tech and get software developer, engineering, and AI jobs? Or are you just limited to finance/business careers? …”

u/daga2222: “… it) - CS 338 - CS 370 or CS 371 - CS 431 - CS 475 - CS 479 - MATH 239 - CO 250 - CO 353 - CO 454 - CO 487 - STAT 341 - STAT 440 - STAT 441 - STAT 442 You’ll end up with a more rigorous algorithms and AI background than most CS majors tbh. …”

View on RedditRemove this

Spring 2020

CO 456 vs CO 367 8 points, 7 comments

“Can you list the pros and cons for CO 367 and CO 456 or talk about your experience in the courses? I can only take one or the other and I'm unsure what to choose. …”

u/PC_Decadent_Cookies: “CO 456 was one of my favourite courses in undergrad - I took it with Gabriel Gauthier-Shalom in 2017. It's definitely a CO course so more emphasis on the mathematical background vs. …”

u/kiminno: “Thank you! I'll take CO 456 for sure now! Have you taken CO 454 (Scheduling) or CO 351 (Network Flow)?”

View on RedditRemove this

CO 454 - thoughts or reviews 6 points, 9 comments

u/ChakChakie: “I plan on taking CO 454 (Scheduling) during the spring term even though my advisor advised against it based on my mark in CO 250 (73%). I wanted to know if there is anyone who has taken it and can give me any reviews of it? …”

u/OnlyJustOnce: “I really enjoyed the course, the assignments were challenging and so were the exams. But like the other poster said its perfectly manageable if you have your co250 knowledge up to date. …”

u/sl0g0: “… I also took CO 454 with Cheriyan. He's not a good lecturer. …”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar