Introduction to Algorithms and Complexity
Professor  Most Helpful Review 

Mark Burgin Full Profile >  3.2 Overall  2.5 Easiness  3.0 Workload  3.2 Clarity  4.2 Helpfulness 
TL;DR
This instructor is horrible. If you can, please avoid him at all cost. At least for his CS 180.
================================================...
(Summer Quarter 2016)

Overall 3.2  Easiness 2.5  Workload 3.0  Clarity 3.2  Helpfulness 4.2 
Most Helpful Review
TL;DR
This instructor is horrible. If you can, please avoid him at all cost. At least for his CS 180.
===================================================================
1. Lectures
His lecture is unorganized. He always uses confusing notations to cover algorithms, and he never gives us an example to actually apply those algorithms. A lot of students stopped attending lectures because literally it's a waste of 2 hours. He already skipped a lot of materials (possibly due to time constraints) but he is willing to talk about why Noble prize does not include Math for 20 minutes.
2. Materials covered
He skipped a lot of materials. I have a list of comparison of materials covered.
The second column comes from Majid. The third column is available at math department's website: https://www.math.ucla.edu/ugrad/courses/math/182
Dr. Burgin
1.1, 1.2
2.1, 2.2, 2.4
3.1,3.2, 3.5, 3,6
4.1 (part of)
5.1, 5.4
6.1, 6.4 (part of)
7.1, 7.2, 7.5, 7.7
8.1, 8.2, 8.3, 8.4
Majid
1.1
2.1, 2.2, 2.4
3.1, 3.2, 3.5, 3.6
4.1, 4.2, 4.4, 4.5, 4.6, 4.7, 4.8
5.1, 5.2, 5.3, 5.4
6.1, 6.2, 6,4, 6.5, 6.6, 6.8
7.1, 7.2, 7.5, 7.8, 7.9
8.1, 8.2, 8.3, 8.4
Math Department
1.1, 1.2
2.1, 2.2, 2.4
3.13.5
4.1, 4.4, 4.5
5.1, 5.2, 5.3, 5.4
6.1, 6.4, 6.5, 6.6
7.1, 7.2, 7.7, 7.9, 7.10, 7.11
8.1, 8.2, 8.3, 8.4?
As you can see, he skipped so many from greedy algorithms and dynamic programming. He also did not cover very important concepts like DAGs until the last lecture. He probably wouldn't cover that at all if no one complained about it to the cs department.
Every time I ask senior students or fulltime staffers about algorithms, they always ask me to practice on greedy and dynamic programming. Majid also covered a lot about greedy algorithms and dynamic programming. It is frustrating to see an instructor skipping most widely used types of algorithms in an "introduction to algorithm" class.
I understand that it is an 8week class and due to time constraint we are not expected to cover as much as a 10week class. However, he occupied full two hours for every lecture and he was willing to spend 20 minutes (and did not even finish) talking about why Noble prize does not have Math. I do think covering more materials is more important than telling an anecdote. Also, math 182 only has 3 hours in a week, and Majid only covers 1.5 hours max in each lecture.
If we calculate the time here: 20 lectures in a regular quarter for CS 180; Deduce 1 Holiday and 1 midterm > 18 lectures. Time = 18 * 1.5 = 27 hours.
Then we covert this to get a feel about summer classes: 27 / 2 = 13.5 lectures. In total, we have 8 * 2 = 16 lectures. There is one lecture for midterm and one lecture for final. Then we have 14 lectures.
13.5 < 14
This is simple math. Time should not be an excuse for skipping that many materials.
Also, it's fine if he actually teaches us how those algorithms that he covered work, but the fact is no one understands what he is doing.
Moreover, I have to thank our TAs for covering important topics that Dr. Burgin skipped and for all the interview advices.
3. Homework
3.1 Coverage
There are three homework sets. There are 3 problems (really easy) in homework 1 to practice chapter 1.1 and 2.4. There are 3 problems (really confusing) in homework 2 to practice 4.1, 3.2, 6.4 respectively. There are 2 problems (one really confusing, one really easy) in homework 3 to practice 6.1, 7.1.
As you can see, we do not have enough exercises and he skipped divide and conquer completely.
3.2 Homework specification
The phrasing of homework is really confusing. I understand that he is not a native English speaker, but at least he should specify key things to do homework, right?
For example, in homework 3, problem 1:
Is it a single simple cycle?
Are the weights nonnegative?
We have to ask him after class since his office hours are right after class. For students who have a class right after CS 180, it's unfortunate. If you have those clarifications, please send us emails or post clarifications on piazza, OK??? The whole class are bewildered and have no idea about what homework questions try to ask.
TAs Office Hours are totally useless since TAs, too, have no idea about what his problems mean.
3.3 Homework grading and handback
The homework won't be given back to us. We have to ask him to see our homework score one by one, and correct grading issues if possible (actually there are always grading issues due to miscommunications between Dr. Burgin and TAs). Again, students who have a class right after this one really don't have a way to see homework scores and reasons for points taken off.
He made an announcement on week 7 Wednesday about handing back homework and midterms, but the fact is nothing changed. We still need to line up to see our homework and midterms. In fact, I have never been able to see my homework 1 till now.
3.4 Homework solutions
No homework solution is released. If we didn't know how to do those questions before due date, we still don't know how to do them now. In my humble opinion this is not the right way to help students learn materials.
4. Exams
He posted HW2 on July 16th and asked us to do it to prepare for the midterm on July 20th. However, when we have questions about HW2, he wouldn't answer. I went to both TA Office Hours on July 18th and July 19th. Both of them said they had no idea about how to do those HW questions.
On the midterm, there are two really similar questions to ones in HW2. OK, I guess he didn't want to answer those questions because two of them were on the midterm. After the midterm, we asked him about solutions to the midterm, and he said in class "I won't give you answers since you still have HW2."
I am totally confused. An instructor released a homework for students to prepare for the midterm and did not give students solutions to that homework, and then refused to give students solutions to the midterm because the homework used prepare for the midterm was not due yet.
The grading is also ridiculous. The TA for section 1B, Jae, was in the same room when we took the midterm, and Dr. Burgin said that we did not need to prove any property of DFS / BFS. However, Jae took off 2 points for anyone not proving one property of DFS / BFS. He was there when we took the midterm. I have no idea about why he did that. If I had not chosen to skip my M51A lectures to see my midterm, I would have lost those 2 points for ever. 2 points are a huge difference for a noncurved class like this.
The final consists of 3 problems.
1. Knapsack problem. Note he only covered a less generalized version of knapsack problem: subset sum.
2. Network flow. Really easy problem. Just give a counter example.
3. Greedy with exchange argument. I know how to prove using exchange argument, but Dr. Burgin never covered this in his class and majority of students have no clue about how to use exchange argument.
If anyone sit through any other professor's lecture, he or she will be able to do these three problems correctly. However, if you only attended Dr. Burgin's lectures and never really spend time reading necessary chapters from the book, then good luck on your exams.
This class is a total disaster. I paid for nearly 2000 dollars to learn nothing. I have never seen anything more ridiculous in my two years here at UCLA. If you can, please avoid him at all cost. At least for his CS 180.
Grade distribution:
Here is the result from a piazza poll:
A total of 47 vote(s)
17 (36% of users) A
14 (30% of users) B
11 (23% of users) C
3 (6% of users) D
2 (4% of users) Other

Eliezer Gafni Full Profile >  1.5 Overall  1.5 Easiness  1.3 Workload  1.7 Clarity  1.8 Helpfulness 
Gafni is an incredibly difficult lecturer, in the sense that at the end of each lecture, you feel like you've just wasted 2 hours. Yes, the material is ...
(Feb. 26, 2014)

Overall 1.5  Easiness 1.5  Workload 1.3  Clarity 1.7  Helpfulness 1.8 
Most Helpful Review
Gafni is an incredibly difficult lecturer, in the sense that at the end of each lecture, you feel like you've just wasted 2 hours. Yes, the material is hard, but if you're learning one problem for two hours when instead you could learn it in 5 minutes from wikipedia, it's just frustrating. Teaching by getting the students to come up with the answers themselves is fine, but if you just straight up don't know how to do it and end up spending 30 minutes trying to get them to say something inconsequential, then you need to figure something out. Also, after many years of having less than half the class show up, you figure he'd realize that he's doing something wrong...
AD
AD

Raghu Meka Full Profile >  3.5 Overall  2.1 Easiness  2.1 Workload  3.5 Clarity  3.5 Helpfulness 
Meka is organized and nice, but he assumed we knew a lot more coming into the class than we actually did. He would present topics without a lot of lead...
(June 11, 2015)

Overall 3.5  Easiness 2.1  Workload 2.1  Clarity 3.5  Helpfulness 3.5 
Most Helpful Review
Meka is organized and nice, but he assumed we knew a lot more coming into the class than we actually did. He would present topics without a lot of leadup, so you'd be suddenly looking at things like advanced probability without having taken any statistics classes (and even the people who had taken those classes said that they'd never seen before the material Meka was presenting).
Classes are all about new material, but there wasn't a very cohesive chain of applicability for all the different topics, so it made it hard to absorb the info; it just seemed like a big bag of difficult, seemingly disjointed material.
Meka's a nice guy, but he tended to not tell you how to do things for fear of "giving away the answer". Consequently, any methods you developed to solve any questions was of your own doing.
If Sean is still TAing, he's a big help.
Overall, I feel like the class was unnecessarily hard and you didn't leave feeling like you had new tools in your coding arsenal; you just left feeling glad that it was all over.
If you are in this class, here are some things that can help:
He sticks fairly close to the book, so if you can read the chapters before lecture, you’ll be ready to hear his advanced versions of the material.
The homeworks were ridiculously hard, but once you have the answers (TA help…), really understand how you got there, because his exam questions are often just versions of those HW questions (and/or versions of some proof he did in class).
He really expected us to reference algorithms/proofs he did in lecture. If you can remember all those, you only need to add “blah blah algorithm/proof, as shown in lecture” much of the time for full points. In fact, NOT referencing one of those can often wipe points off your HW/exam even though you did everything else right.
Overall, the HW grading was up and down (high average for the class on one assignment, then an inexplicably, drastically low average on the next) and we often weren’t sure what constituted a “correct answer” because the instructions were vague, yet the grading was very specific, like a N Campus class looking for you to mention key words to match the grading rubric.
Like I said, perhaps his teaching methods will change and he did grade fairly with the final grades, but I would recommend someone else if you want to really “get” algorithms.

Adam Meyerson Full Profile >  N/A Overall  N/A Easiness  N/A Workload  N/A Clarity  N/A Helpfulness 
No reviews have been written yet.

Overall N/A  Easiness N/A  Workload N/A  Clarity N/A  Helpfulness N/A 
Most Helpful Review
No reviews have been written yet.

Rafail Ostrovsky Full Profile >  2.1 Overall  1.4 Easiness  1.4 Workload  1.8 Clarity  2.1 Helpfulness 
I think both Rafi and Mehka, (180 professors with really bad initial reviews) have gotten a lot better. I've only heard from friends talking about Mehka...
(Spring Quarter 2017)

Overall 2.1  Easiness 1.4  Workload 1.4  Clarity 1.8  Helpfulness 2.1 
Most Helpful Review
I think both Rafi and Mehka, (180 professors with really bad initial reviews) have gotten a lot better. I've only heard from friends talking about Mehka, but my experience with Rafi has been fairly positive
Course Breakdown was 15% HW, 40% Midterm, 45% Final. At tenth week, he opted to allow for the midterm to be dropped and the final to be weighted 85% depending on which benefited you more.
I enjoyed Ostrovskys lectures, but I'm aware I'm in the minority. I also know he can sometimes drone on for a long time on tangents. To me, however, he has a clear passion for the material and a silly nerdy sense of humor about it that is entertaining enough to get you through the worst of it. He'll also go fairly slow on concepts, so you can afford to space out in certain discussions.
In terms of difficulty, it's a bit nerve wracking to have two tests determine your grade. However, he does a good job not killing you with what he has on the exams. The algorithm design questions are similar in level to medium level leetcode questions and his proofs check for an overall understanding of the material rather than regurgitation. Studied a lot for the midterm and not as much for the final and did well on both. He will definitely curve you up if you need it.
At the end of the day, I think Ostrovsky is a good professor. Sometimes he can be dry as a lecturer, but follow the book and the TA's and you should be okay. My TA was Arman K who I would recommend since he cleared up a lot of little issues I had when learning. I would definitely take this course again.

Majid Sarrafzadeh Full Profile >  3.9 Overall  1.9 Easiness  2.2 Workload  3.9 Clarity  3.5 Helpfulness 
Majid is the best instructor for a CS class since Smallberg and Nachenberg.
Majid gives very clear and concise lectures. He stresses on ways of thin...
(Winter Quarter 2016)

Overall 3.9  Easiness 1.9  Workload 2.2  Clarity 3.9  Helpfulness 3.5 
Most Helpful Review
Majid is the best instructor for a CS class since Smallberg and Nachenberg.
Majid gives very clear and concise lectures. He stresses on ways of thinking instead of individual algorithms, which is very helpful for CS majors. For me, when I see leetcode questions, I will try to think systematically before writing down any code. For example, what type of question is this? How do I approach it using blablabla method?
Majid is very funny during his lectures. He encourages students to answer questions and often jokes about "Are you willing to bet your grade on that?" When he talks about important concepts, he will say something like, "If you tell your boss that you don't understand this, you get fired." It's an 8 am class, but I can hardly fall asleep because the lecture is so funny and engaging.
Majid doesn't write often on the board, so you have to write down what he says quickly. The textbook is very dry and a little bit hard to understand, but he gives us very clear lectures so we don't usually need to read the textbook to understand materials.
Homework is very long and hard, but they really help you practice that way of thinking. Thinking through those questions will not only help you with your exams, but also with your interviews. Do not look at "solutions" before you really think hard about those problems!
AD
AD

Michael Shindler Full Profile >  N/A Overall  N/A Easiness  N/A Workload  N/A Clarity  N/A Helpfulness 
No reviews have been written yet.

Overall N/A  Easiness N/A  Workload N/A  Clarity N/A  Helpfulness N/A 
Most Helpful Review
No reviews have been written yet.