My Review of GA (CS6515) Graduate Algorithms
Grade: B
Difficulty: 10/10
Rating: 8/10
Time commitment: 20 hours/week
-------------------------------
Overall
It's arguably the hardest course in the program. Not impossible but definitely needs serious time commitment.It's really a theory course. I was expecting an advanced algorithm analysis class, like asymptotic versus amortized computation complexity. But no, the course focuses on the theory side of computer science that has nothing to do with coding, but rather set theory, probability, formal proof by induction on bounds, P vs NP problems, linear programming, etc.
For example, you will be working on a lot of theorems and proving bounds on linear programming (LP) problems. Obviously even the most casual audience knows every LP problem can be transformed between dual and primal forms. If either the primal problem or the dual has a finite optimal solution, so does the other, and the optimum objective values are equal. If either problem has an unbounded objective value, then the other is infeasible. If we have an algorithm that transforms a feasible solution to a different form that monotonically improves the objective value, which we can apply repeatedly to converge to the optimal solution, can we show if this algorithm runs in polynomial time ?
--> You like the sound of it ? Every lecture goes like that.
Lecture quality
Despite mixed reviews, I found the lecture video quality great. I thought they covered enough ground to get you started on the homework assignments, and get prepared for the exams.Assignments
-
Homework:
- I found them hard, easily takes 15 hours each. Many of them are pure math problems you solve with pencil and paper. Some are python coding problems but the focus is still on the theoretical/algorithmic aspect. Homework prepares you for the exams.
-
Exams:
- Most of the course grade comes from exams. Super hard. It's mentally stressful to have to write proofs under proctored & timed situation, knowing its outcome determines your course grade.
Grading
I thought the grading was strict but overall reasonable. Getting an A is not easy but doable. I missed it by 1%. My pathetic excuse is I couldn't finish one homework on the week when I had to move to a new country for a new job. But hey, winners don't make an excuse when the other side plays the game.Thoughts
I liked the course. This is the weed-out course of the whole osmcs program. I had a colleague who finished omscs and works as quant developer at a hedge fund (there are many omscs grads in hedge fund industry by the way). He once half-jokingly said that whenever he interviews an omscs graduate, the first question he asks is "have you taken GA ?" And if the candidate says no, then he considers this candidate is a slacker (lol).Personally, while it was intellectually stimulating, none of the course content has been directly applicable nor relevant to my day job (equity quant research). It's not a criticism, and in fact, that's the point of a theory course. But one idea for the future direction of the course is to introduce a project that focuses on, for example, some non-trivial realistic optimization problem. This should alleviate the stress away from proof writing exams (under time pressure) being most of the course grade.
Also, previously there has been a lot of drama about many students getting falsely accused of plagiarism. You can read about it on this reddit post. The adjudication process is truly litigious and time consuming. It can go on for months even after the semester ended. I can only imagine the horrific mental stress these students went through.
100% Win Rate: How We Fought and Won Against False Plagiarism Allegations in CS6515 https://www.reddit.com/r/OMSCS/comments/1h1g3xj