CS 6515 - Intro to Graduate Algorithms

By Giannis Georgopoulos ·

Introduction

So, CS 6515.
The prestigious one.
The class everyone talks about.
The one you can never seem to get into.

It’s required for most OMSCS specializations (sure, you can avoid it if you pick HCI or AI, but let’s be honest; most people didn’t join OMSCS to take the easy way out).

I took CS 6515 as my 9th course, and I honestly didn’t expect to get in. I only made it through the waitlist, and because of that I hadn’t researched it much beforehand. I just knew one thing: everyone said it was hard.

They were not exaggerating.

Highlights

This course is the closest thing to a pure math class I’ve taken in OMSCS so far.

Going in, I thought I’d be fine. I’ve been working professionally as a software engineer for 7 years, and I had plenty of experience with LeetCode-style algorithm problems. I assumed it would be more of the same.

Oh man. I was very wrong.

This was easily the most stressful class I’ve taken in the program. At multiple points, I wasn’t sure I’d even pass with a B (which is required for core courses). Even after the final exam grades were out, I was half-expecting proctoring footage to be reviewed because this class has some… special proctoring rules (more on that later).

That said, the content itself was excellent.

I was honestly scared of the math going in. My undergrad was also in Computer Science and not very math-heavy, and that was about 10 years ago. So I was pretty rusty and hesitant at first.

But the topics were fantastic: NP-Completeness, graph algorithms, dynamic programming. Even the optional lectures—FFT (Fast Fourier Transforms), randomized algorithms, RSA, Bloom filters—were super interesting. Very difficult, but also very rewarding, with lots of “ohhh, that’s how it works” moments.

Lectures

The course closely follows the book Algorithms by Dasgupta, Papadimitriou, and Vazirani.

My usual workflow was:

  1. Watch the lectures
  2. Read the corresponding book chapters
  3. Go through the TA posts and clarifications
  4. Try to do the homework assignments

The TA material was especially helpful, some of their explanations really helped things click when the lectures or book felt a bit dense.

Assignments & Exams

There are some graded quizzes, but they only account for 10% of the final grade.

The main work consists of problem sets that don’t directly affect your grade at all. Instead, they exist to give you feedback and more importantly to prepare you for the exams. And you absolutely need them.

The grading is dominated by exams:

  • 3 exams = 90% of the grade

  • Dynamic weighting:

    • Highest exam: 35%
    • Middle exam: 30%
    • Lowest exam: 25%

The exams also come with strict and somewhat unusual proctoring requirements. You need a mirror to show around your laptop, show your wrists, scan the room, etc. Missing any of these steps can result in grade penalties. This definitely adds another layer of stress on top of already difficult exams.

Fairness & Preparation

Your entire grade basically comes down to three exams. That alone is stressful. Combine that with the proctoring rules, and the pressure is real.

The best way to prepare is:

  • Solving the suggested problems from the book
  • Attending office hours by Joves (the MVP TA of this course)

These office hours are often 4 hours long and go through problems in detail. Unfortunately, because of my time zone, I couldn’t attend live, but I watched the recordings, which were still extremely helpful.

Conclusion

CS 6515 was an amazing course, but also one of the most stressful experiences in OMSCS.

I learned a lot, especially around NP-Completeness, which ended up being my favorite topic. But I also had to push myself hard. I completely bombed Exam 1 (32/60) and had to seriously step it up for Exams 2 and 3 just to secure a B.

Most of the people taking this class were in their final semester and needed it to graduate. I honestly can’t imagine that level of stress. Some people were even attending commencement without knowing if they’d actually graduate.

I’m very glad I’m done with it. For my final semester, I’m definitely choosing something on the lighter side to close out the program.

CS 6515 is hard, stressful, and unforgiving, but if you care about algorithms and want a real challenge, it’s also absolutely worth it.