- Home
- Search
- Eliezer Gafni
- All Reviews
Eliezer Gafni
AD
Based on 54 Users
I decided to retake this class since I didn't do well the first time, but honestly even having taken this class earlier, I feel like I've learned even lesser this time around.
Gafni is rude, his homework has no connection to what's taught in class, the TAs don't know what's going on, and we had to spam them with emails to even get a Piazza started. The TAs seem to delete questions they don't like on Piazza, and don't give clear answers or even answer most of the piazza questions. It's just students helping other students.
Honestly, I think this class could have been taught so much better and more intuitively, but neither Gafni, nor the TAs seem to try and help build intuition.
There are two reasons why you'll be reading this review:
1) You are wondering whether to take the class.
2) You are in the middle of the quarter and are stuck in this class and you've realized that Professor Gafni is a horrible instructor and you are desperately checking BruinWalk to figure out how he curves the class and you are hoping that the curve is generous.
If you are in the first group, DO NOT TAKE THIS CLASS WITH PROFESSOR GAFNI. He is by far the worst professor I have ever been instructed by at UCLA. His lectures are disorganized, confusing, and absolutely uninformative. Furthermore, he has a hearing impediment to such a degree that he cannot hear students beyond the third row. Despite this, he still attempts to implement a socratic way of teaching, which further adds confusion and exasperation to the students due to the fact that he cannot even hear the questions or suggestions the students make in class! I have been instructed by several bad CS professors and TAs, and Gafni by far is the least clear and informative. (In comparison, Professor Gafni makes Professor Eggert teaching CS 33 seem clear and informative). While the curve for this class is actually kind of generous (most students at least get Cs), the material in this class is essential for a thorough and well-rounded Computer Science education. And because Professor Gafni is such a horrible instructor and cannot convey the important ideas in the class, the class's grading scheme does not make up for the lack of knowledge you will acquire from his lectures. Take the class with another professor and actually learn the material through their lectures.
If you are in the second group, take a deep breath. Its OK. We all know Professor Gafni is the worst, but despite this adversity, you can still pass, and there a couple things I would recommend to get the most out of this class. First, watch the entire MIT OpenCourse lectures that they post online FOR FREE. The material covered through this course is pretty much exactly the same, but the MIT professors teach it with exponentially more clarity than Professor Gafni. Here is the link: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/lecture-videos/
Watch this entire lecture series (in double time on Youtube), and if you understand the concepts and ideas, then you should be in good shape to pass the class with a high final grade. Second, study the book! The book has good examples to learn from, and many of Professor Gafni's test questions come straight from the book. Read the book well and understand the proofs and concepts behind the algorithms taught.
Best of luck. You can do it. I skipped the midterm and averaged a 60% on the HWs, yet because ofProfessor Gafni's grading scheme allows for the final grade to be 100% determined by your final, I still got an A because I studied hard for the final. You got this!
Do yourself a favor and don’t take this class with Prof. Gafni. Avoid him at ALL costs. The material is hard enough as it is, and Gafni only makes it harder. It blows my mind he’s even a professor here.
Gafni though an incredibly accomplished researcher does often struggle while explaining concepts and very often seems to go at a frustratingly slow pace. I feel like in an undergraduate class of this size, it isn't practical to teach in the Socratic method that Gafni attempts to no matter how good his intentions. Overall, he probably is a professor you should definitely try and take for a graduate class, you're better off studying this one on your own.
Just thought I would make another review to confirm all the ones below. Hard class with hard material (especially if you haven't been doing the kind of algorithmic puzzle problems this class focuses on since high school or whatever). The topics of the class are extremely important, and although I think that Professor Gafni has good intentions, he is an awful professor. Be prepared to study on your own.
I think it's important to start off by saying that Gafni is a genius in the field of distributed computing. He won the Dijkstra Prize back in 2017 and he went to MIT for his Ph.D. As a researcher, he is terrific.
As a professor, he isn't.
During his lectures, you can tell that he knows his stuff. However, knowing and teaching are two completely different things. He tends to rely on a question-answer format to lecture, but often the questions that he asks are complicated and require a level of intuition that you simply won't have unless you've done the class before or have had a lot of practice with algorithms already. He is not afraid to stop class if no one has the answer. This is detrimental to his lectures for two reasons. 1) He actually has a lot to say on the subject matter and knows decent examples, so it decreases the time he can spend talking about that stuff. 2) It usually forces the one genius that every class seems to have to speak up and when Gafni asks them to explain, they usually can't, so there's another halt to class.
What I started to realize was useful was simply going to class, writing down the problem, waiting for someone to have the solution, and killing time by browsing through Instagram or doing other homework. In summary, you should go to lecture just to get extra examples of the concepts he teaches and because the algorithms he talks about in class definitely show up on the midterm and final.
READ THE TEXTBOOK. Someone pointed out that the midterm's first two problems were directly from the Udi Manber textbook. Also, the Kleinberg-Tardos textbook is a really nice read and contains a shitton of useful examples. DEFINITELY read.
His midterm and final are both 4 questions each, with each question having a total of 25 points. They are EXTREMELY hard. How those points are distributed is a complete crapshoot but the midterm will most likely have one divide-and-conquer question, one greedy algorithm, one dynamic programming problem, and one graph theory question. The final will definitely be a dynamic programming question, a max flow question, some graph theory, and some harder question which will separate the higher scores from the lower scores. His averages are in the 40% - 60% range, so don't feel bad if you do terribly on the midterm.
This brings me to the best part of his class: the grading scheme, which is the maximal score between (50% final, 30% midterm, and 20% homework) and 100% final. While this looks daunting at first, this just means that if you fuck up the midterm, you can study really hard for the final and redeem yourself. If you prefer a more balanced grade, the homework is pretty much a given 20% because all they care about is how much you write. So write a lot and know how all the examples in the textbooks work.
Lastly, the TAs for this class were awful. Only one (Shirley, or Xuelu) would even provide any guidance on homework, while the other two were condescending and extremely unapproachable. Gafni's office hours are even worse. I stopped wasting my time and only attended lectures. I went to Shirley's office hours a couple of times when the homework concepts were extremely hard to get and she gave decent guidance. However, Yuan He and Ruirui Chen (I think that's his last name) are pretty unhelpful.
To close, I think the best thing to do for this class is to go to lectures (but only wait for the problem setup and solution), read the textbooks heavily (only do the practice problems if you're strapped on time), write a shitton for the homework, and don't even bother with the TAs unless there's a decent one (Shirley only) or some other one who's willing to help with homework. The tests are a fucking crapshoot.
Good luck. You'll need it.
"AI is thriving; traditional computing is declining" is this class in a nutshell. Perhaps it'll move on to the next computing buzzword in a few years (quantum computing?). I'm not really that fascinated by AI, nor do I think it's a magic panacea, so the constant focus on this subject kind of rubbed me the wrong way. Even if you're really into AI/ML, this course tries to dumb things down too much, so that all you'll learn are some vague, high-level generalizations.
The quizzes essentially just test your ability to search for keywords within a PDF or Powerpoint. Plus, your lowest score gets dropped. The weekly homework vary in difficulty: some are literally just math (matrices), while others are quite challenging algorithm/cryptography problems. My TA wasn't good at explaining the homework, so I sometimes needed to google concepts.
Impossible homework tough exams
The negative reviews of Gafni are not exaggerating in the slightest. He is by far the worst professor I have had the misfortune to have at UCLA. He's unclear, unhelpful, temperamental, and basically everything else you don't want in a professor.
I took his course thinking I could learn the material from MIT OpenCourseWare, and while that mostly worked, a lot of the midterm/final questions were bizarrely written and hard to understand. I really recommend that everyone wait until a future quarter to take CS 180, which is one of the most important Computer Science classes, instead of enrolling in Gafni's course.
This class is a breeze, and even the confusing homework takes no longer than an hour each week. I'd say I was interested in about half the lectures, and genuinely interested in 3 of them out of 10 (Nachenberg's self driving cars breakdown, since he's such a good lecturer, Palsberg's quantum computing, and Nowatzki's architecture), so the class was worth it in the end. The easiest way to mess up is just forgetting to do the work. Gafni himself lives up to his reputation, the few times he interrupted or just spoke at all angering me in a way I didn't know before possible.
I decided to retake this class since I didn't do well the first time, but honestly even having taken this class earlier, I feel like I've learned even lesser this time around.
Gafni is rude, his homework has no connection to what's taught in class, the TAs don't know what's going on, and we had to spam them with emails to even get a Piazza started. The TAs seem to delete questions they don't like on Piazza, and don't give clear answers or even answer most of the piazza questions. It's just students helping other students.
Honestly, I think this class could have been taught so much better and more intuitively, but neither Gafni, nor the TAs seem to try and help build intuition.
There are two reasons why you'll be reading this review:
1) You are wondering whether to take the class.
2) You are in the middle of the quarter and are stuck in this class and you've realized that Professor Gafni is a horrible instructor and you are desperately checking BruinWalk to figure out how he curves the class and you are hoping that the curve is generous.
If you are in the first group, DO NOT TAKE THIS CLASS WITH PROFESSOR GAFNI. He is by far the worst professor I have ever been instructed by at UCLA. His lectures are disorganized, confusing, and absolutely uninformative. Furthermore, he has a hearing impediment to such a degree that he cannot hear students beyond the third row. Despite this, he still attempts to implement a socratic way of teaching, which further adds confusion and exasperation to the students due to the fact that he cannot even hear the questions or suggestions the students make in class! I have been instructed by several bad CS professors and TAs, and Gafni by far is the least clear and informative. (In comparison, Professor Gafni makes Professor Eggert teaching CS 33 seem clear and informative). While the curve for this class is actually kind of generous (most students at least get Cs), the material in this class is essential for a thorough and well-rounded Computer Science education. And because Professor Gafni is such a horrible instructor and cannot convey the important ideas in the class, the class's grading scheme does not make up for the lack of knowledge you will acquire from his lectures. Take the class with another professor and actually learn the material through their lectures.
If you are in the second group, take a deep breath. Its OK. We all know Professor Gafni is the worst, but despite this adversity, you can still pass, and there a couple things I would recommend to get the most out of this class. First, watch the entire MIT OpenCourse lectures that they post online FOR FREE. The material covered through this course is pretty much exactly the same, but the MIT professors teach it with exponentially more clarity than Professor Gafni. Here is the link: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/lecture-videos/
Watch this entire lecture series (in double time on Youtube), and if you understand the concepts and ideas, then you should be in good shape to pass the class with a high final grade. Second, study the book! The book has good examples to learn from, and many of Professor Gafni's test questions come straight from the book. Read the book well and understand the proofs and concepts behind the algorithms taught.
Best of luck. You can do it. I skipped the midterm and averaged a 60% on the HWs, yet because ofProfessor Gafni's grading scheme allows for the final grade to be 100% determined by your final, I still got an A because I studied hard for the final. You got this!
Do yourself a favor and don’t take this class with Prof. Gafni. Avoid him at ALL costs. The material is hard enough as it is, and Gafni only makes it harder. It blows my mind he’s even a professor here.
Gafni though an incredibly accomplished researcher does often struggle while explaining concepts and very often seems to go at a frustratingly slow pace. I feel like in an undergraduate class of this size, it isn't practical to teach in the Socratic method that Gafni attempts to no matter how good his intentions. Overall, he probably is a professor you should definitely try and take for a graduate class, you're better off studying this one on your own.
Just thought I would make another review to confirm all the ones below. Hard class with hard material (especially if you haven't been doing the kind of algorithmic puzzle problems this class focuses on since high school or whatever). The topics of the class are extremely important, and although I think that Professor Gafni has good intentions, he is an awful professor. Be prepared to study on your own.
I think it's important to start off by saying that Gafni is a genius in the field of distributed computing. He won the Dijkstra Prize back in 2017 and he went to MIT for his Ph.D. As a researcher, he is terrific.
As a professor, he isn't.
During his lectures, you can tell that he knows his stuff. However, knowing and teaching are two completely different things. He tends to rely on a question-answer format to lecture, but often the questions that he asks are complicated and require a level of intuition that you simply won't have unless you've done the class before or have had a lot of practice with algorithms already. He is not afraid to stop class if no one has the answer. This is detrimental to his lectures for two reasons. 1) He actually has a lot to say on the subject matter and knows decent examples, so it decreases the time he can spend talking about that stuff. 2) It usually forces the one genius that every class seems to have to speak up and when Gafni asks them to explain, they usually can't, so there's another halt to class.
What I started to realize was useful was simply going to class, writing down the problem, waiting for someone to have the solution, and killing time by browsing through Instagram or doing other homework. In summary, you should go to lecture just to get extra examples of the concepts he teaches and because the algorithms he talks about in class definitely show up on the midterm and final.
READ THE TEXTBOOK. Someone pointed out that the midterm's first two problems were directly from the Udi Manber textbook. Also, the Kleinberg-Tardos textbook is a really nice read and contains a shitton of useful examples. DEFINITELY read.
His midterm and final are both 4 questions each, with each question having a total of 25 points. They are EXTREMELY hard. How those points are distributed is a complete crapshoot but the midterm will most likely have one divide-and-conquer question, one greedy algorithm, one dynamic programming problem, and one graph theory question. The final will definitely be a dynamic programming question, a max flow question, some graph theory, and some harder question which will separate the higher scores from the lower scores. His averages are in the 40% - 60% range, so don't feel bad if you do terribly on the midterm.
This brings me to the best part of his class: the grading scheme, which is the maximal score between (50% final, 30% midterm, and 20% homework) and 100% final. While this looks daunting at first, this just means that if you fuck up the midterm, you can study really hard for the final and redeem yourself. If you prefer a more balanced grade, the homework is pretty much a given 20% because all they care about is how much you write. So write a lot and know how all the examples in the textbooks work.
Lastly, the TAs for this class were awful. Only one (Shirley, or Xuelu) would even provide any guidance on homework, while the other two were condescending and extremely unapproachable. Gafni's office hours are even worse. I stopped wasting my time and only attended lectures. I went to Shirley's office hours a couple of times when the homework concepts were extremely hard to get and she gave decent guidance. However, Yuan He and Ruirui Chen (I think that's his last name) are pretty unhelpful.
To close, I think the best thing to do for this class is to go to lectures (but only wait for the problem setup and solution), read the textbooks heavily (only do the practice problems if you're strapped on time), write a shitton for the homework, and don't even bother with the TAs unless there's a decent one (Shirley only) or some other one who's willing to help with homework. The tests are a fucking crapshoot.
Good luck. You'll need it.
"AI is thriving; traditional computing is declining" is this class in a nutshell. Perhaps it'll move on to the next computing buzzword in a few years (quantum computing?). I'm not really that fascinated by AI, nor do I think it's a magic panacea, so the constant focus on this subject kind of rubbed me the wrong way. Even if you're really into AI/ML, this course tries to dumb things down too much, so that all you'll learn are some vague, high-level generalizations.
The quizzes essentially just test your ability to search for keywords within a PDF or Powerpoint. Plus, your lowest score gets dropped. The weekly homework vary in difficulty: some are literally just math (matrices), while others are quite challenging algorithm/cryptography problems. My TA wasn't good at explaining the homework, so I sometimes needed to google concepts.
The negative reviews of Gafni are not exaggerating in the slightest. He is by far the worst professor I have had the misfortune to have at UCLA. He's unclear, unhelpful, temperamental, and basically everything else you don't want in a professor.
I took his course thinking I could learn the material from MIT OpenCourseWare, and while that mostly worked, a lot of the midterm/final questions were bizarrely written and hard to understand. I really recommend that everyone wait until a future quarter to take CS 180, which is one of the most important Computer Science classes, instead of enrolling in Gafni's course.
This class is a breeze, and even the confusing homework takes no longer than an hour each week. I'd say I was interested in about half the lectures, and genuinely interested in 3 of them out of 10 (Nachenberg's self driving cars breakdown, since he's such a good lecturer, Palsberg's quantum computing, and Nowatzki's architecture), so the class was worth it in the end. The easiest way to mess up is just forgetting to do the work. Gafni himself lives up to his reputation, the few times he interrupted or just spoke at all angering me in a way I didn't know before possible.