Grade distributions are collected using data from the UCLA Registrar’s Office.
Meka went through most of the topics on his iPad and Apple Pencil, which basically is an advanced white board. He will post the transcripts immediately after the class. In general the course is very well organized. There are 3 exams (including the final), which are all roughly equally weighted and are not accumulative. Really necessary to point out that a lot of the comments on Bruinwalks are not fair at all. He is a great professor if you want to take 180 with him.
Meka has made the course workload and exam difficulty very reasonable since he last taught it in 2015. Textbook is not needed, just focus on lecture slides which are posted online, and homework sets. Sometimes in lectures Professor Meka goes over complex proofs (such as runtime of Quicksort/Quickselect) but he generally does not give exam questions on these.
The lectures were clear. The algorithms and proofs he presented in class all seemed to make sense. The homeworks were extensions of these algorithms and proofs. Sometimes the extension was a little too far, which made the homeworks pretty difficult and time-intensive. You learn what he expects after the first assignment's solutions are posted. I think a lot of people aren't used to the rigorous proofs he expects, which made them unhappy with the course. I would agree that I would've rather written some code for these algorithms instead of worrying about the proofs so much.
The exams were easier than the homeworks (as you would expect, since the homeworks took so long). If you understand what you did on the homeworks or at least why the solutions posted are correct, the exams should be pretty straightforward and you should get a pretty good grade.
The time-consuming homework assignments left a bad taste in many people's mouths. They primarily involved providing an appropriate algorithms for particular scenarios and proving their correctness, time and space complexity. Many people felt the grading was inconsistent, but that reflects more on the grader than the professor. Solutions to each homework was provided, so after one or two assignments, it was more clear what was expected from us. Although I spent multiple hours on each assignment, in many cases, coming up with the algorithms did not take nearly as much time as articulating the proofs clearly and thoroughly. I ended up with a high grade in the class, but I definitely didn't feel significantly more prepared for tech interviews as advertised.
This is by far the worst professor and class I have had at UCLA. Meka may seem like a nice guy on the surface but he does not by any means prioritize student's best interests in his classes. He believes that his class is the most important thing in your life and that he is upholding a high academic reputation for his class by being a d**k about grades. A classic example is one time the TA lost a students hw assignment, he gave the scores out on a Friday before a final, and when the student complained about the 0 on Saturday and asked for a regrade he told him no because he deemed it too close to the final exam.
HW assignments are graded extremely harshly. You will spend hours doing them and then get destroyed during the grading. If you try to reason with Meka and complain about your grade, he will not help you out.
Bottom line is that if you dislike yourself and would like to make your algorithms experience as terrible as possible, go ahead and take Meka. I actually hated this class more than 111 with Eggert, which is really saying something.
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-up, 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.
Did this review contain...
Thank you for the report!
We'll look into this shortly.