- Home
- Search
- Majid Sarrafzadeh
- COM SCI 180
AD
Based on 90 Users
TOP TAGS
There are no relevant tags for this professor yet.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Sorry, no enrollment data is available.
AD
We had 6 difficult but easily graded homeworks, all textbook and GeeksForGeeks questions. Midterm, final, and homeworks are basically all the same, you write an algorithm and then prove it and discuss its time complexity.
CS 180 is known for being a difficult course at UCLA. Majid boils it down to its purest form, algorithm design, and his tests are the definition of fair. In the beginning of the year, Majid told us all that attendance was mandatory, but that he wouldn't take attendance. The way that he would take attendance would be by putting examples from lecture directly on the test. Well, midterm and final rolls around and it's exactly that.
The draconian grading (marking people down a full 19% on the final or a full 11% in the class for swapping the direction of proving something) is completely different from their lax grading policy on hw but put in the time to study lecture well and you should be golden.
This class was tough, but doable. First major thing: you do not write ANY code. It's all paper algorithms and proofs and time analysis. We learned graph traversal stuff in the first half, and common algorithmic paradigms (DP, divide and conquer, greedy, etc) in the second half. We got exposed to a lot of important concepts for CS in this class, especially for technical interview prep. 6 assignments, 1 per week-ish. They were pretty doable but some of the harder problems can take some time to think through. Some are directly from the textbook, which are like 4 paragraph problem explanation word salads that only confuse you more, some are "creative problems" that I'm pretty sure are just all from GeeksForGeeks. But they prepare you for the tests somewhat well. Exams were tough but nothing super unreasonable? Final grading was too harsh but after some complaints they loosened up the rubric. Overall, I definitely learned what I was meant to in the class. Getting an A felt kind of tough, but learning the material wasn't too painful.
Majid is a clear lecturer and most likely one of the better professors you'll find for this course. He's good at walking you through problems and breaking them down in a way that's fairly understandable. Attending lectures is important -- tests are worth 80% of your grade (35% midterm, 45% final, 20% homework) and much of the test is either a word-for-word copy of what he went over in class or an application of a problem he went over in class.
Majid didn't come off as someone who genuinely cared about students/learning outside of class. Apparently he barely showed up for his office hours, and he refused to record lectures despite being in a room that could Bruincast and despite the fact that there was still a LOT of COVID cases this quarter. For homework, TA's were apparently not given a solution key, so office hours weren't always helpful.
I suspect that there was no official rubric for the tests either, and since each TA graded a different question, there were vast differences in grading between each question. I probably wouldn't mind this usually, but considering how much exams are weighted, I kind of just think this is irresponsible. (For both the midterm and the final, there was one TA who would take off 10/20 points in a problem if you didn't find the optimal solution, despite the question not ASKING you to find the optimal solution. This was not consistent with other TAs' grading. I'm sure you're thinking "this is an algorithms class, of course you need to find the optimal solution." Yeah, I would have, too, but in the beginning of the course, Majid would show us a brute force method and go on and on about how we just need to answer what was asked of us, and to not needlessly overcomplicate a problem. When this egregious grading was escalated to him, though, he was dismissive and said "this course has always been about finding the optimal solution." Bro. I got 5 points back in regrade requests, but consider that those 5 points taken off in the midterm cost me an overall 2% of my grade and was the difference between my B and a B+/A-. This is why I'm so annoyed about the lack of clarity or consistency in grading.)
My biggest suggestion is to thoroughly know the algorithms, runtimes, and proofs he goes over in class. Know what keywords or hints point you towards a type of algorithm (like if a question asks you to solve in an O(n) runtime, you're probably going to need a greedy algorithm). I also suggest making a masterlist of algorithms that he goes over—it was pretty difficult to go through my notes and figure out each algorithm he'd covered. If you miss a lecture, be sure to get notes from someone else, though I will say it's not really the same as sitting in class. (We had lecture at 8 am and I got into the lovely habit of falling asleep in class after week 5, and studying for the final off my friends' notes was so bad; algorithms are just lowkey hard to understand on paper). If Lionel Levine is one of the TA's, attend his discussion sections and go to his office hours—he's honestly a godsend. He'll review algorithms, additional example problems, and potentially give you some tips for the homework.
TL;DR: I don't think Majid is someone who really cares about students, but his class is designed in such a way that if you pay attention, you'll be fine. So glad this class is over lmao!
Sarrafzadeh is a clear lecturer. He often likes to pretend he doesn't know how to solve problems to try to encourage discussion. While he is pretty good at answering questions, there were a couple of times people raised points or answered in a way he did not expect and he was dismissive of the problems.
Homeworks can be a bit time consuming if you're not super adept with algorithms beforehand. They tend to be graded generously though.
Tests are mostly based on lectures.
Also heard he basically does not show up to office hours unless you contact him beforehand.
Majid may be a better professor if this class was taught in-person. But I really don't think he's anyway god-like and I actually think this class was overrated.
I was quite disappointed cuz I really put lots of time+efforts in this class but ended up ruining my perfect 4.0 gpa by a lot. I received A+ for CS 32 and A for CS 97 but I did not do well in this class. Why? I don't necessarily think I did not master the content of this class. I did quite decent on the midterm and homework. But I did really bad in the final because of the instructions...He only wrote that we need to provide proofs on the first page of the exam which was really easy to overlook. On the midterm, there was also such a statement on the first page but we did not lose points for questions without "providing proofs."
Not just me, 3+ of my friends also missed that. Yes it was our fault, but I just think a lot of students like us would have done better if every question was phrased better and if he let us ask questions for clarification in the exam
In the end, he also refused to curve the class cuz the average was high and everyone receives scores on the absolute scale. I really doubt that if there are 30% of students receive As in the class as in the past years cuz ppl may ace one exam but bomb another and we did not have participation points which was a grade booster as in the past years. If not, isn't that quite unfair for ppl who take this class this quarter? Most ppl around me received Bs. I just felt quite ironic when he said "I'm ok if everyone did great and gets an A" in the class. This class was the class that I devoted the most efforts+time in ever and I just felt that my efforts&time was kinda in vain
Yes, undeniably, his lectures were quite clear and the TA's discussions were nice. But his notes were kinda messy and there was no online communication platform like piazza which would have made the interactions better. The homework took lots of time to finish but was a good practice.
Overall this class was very interesting and also very challenging. Even with the online format due to COVID, Majid’s lectures are engaging and paced very well. You come away with a good understanding of the material since he explains things pretty intuitively, without too much technical stuff. Majid’s lecturing style is pretty sarcastic, but he does take the time to fully explain things and make sure all questions are clarified. Be prepared to spend 10-15 hours on each weekly assignment. If you procrastinate, your life will be hell. The homework does a very good job on giving you practice on the concepts and preparing you for the exams. I stress that you should not sleep on this class and make sure you know your algorithms inside and out, since the time limit on the midterm and final will sneak up on you and totally screw you up if you’re not prepared. (I got screwed on both midterm and final since I lost track of time, rip.) Note that he is very strict about homework and exams: if you submit your homework or exam even a second past the time limit, you will get no credit. He also says he is strict on grading, but the graders actually grade pretty leniently even if you're mostly wrong, as long as you try.
Also, shoutout to my TA Lionel Levine for being awesome! He really put in a lot of time to make discussion interesting and helpful, and he really understands that many of the circumstances we've faced this quarter are not ideal. I also appreciate how he tried to recreate the social setting of an in-person classroom by trying to break down the awkward barriers of Zoom through breakout rooms / icebreakers / memes / etc.
TLDR: If there’s anything I learned in this class, it’s that we all need to mute ourselves.
Sarrafzadeh is a great and kind lecturer. He values class engagement a lot so he will answer all your questions and try to get everyone to work through problems as a group instead of just lecturing to you. I didn't end up going to lecture much because I'm a bad student, but I think they were valuable and there were definitely things I missed on the test that he went over in lecture.
Homework is pretty time consuming and hard, think like 8 psuedocodes and proofs for algorithm problems. Grading for the homeworks wasn't a big deal though so maybe I stressed too hard about them.
Midterm was pretty straight forward if you did the homework and paid attention. Final was much harder but doable. It had a handful of Leetcode hard problems for reference.
To succeed in this class (and in technical interviews) I would recommend doing the homework thoroughly, and then if still don't feel comfortable, look up the topics on Leetcode and try to work through some problems. This won't get you practice proving your algorithms, but it will help you come up with the right ones.
This class is good prep for interviews. Take it ideally before you do interviews, or at the same time as when you're doing them. Majid is p good. I found his lectures to generally be very helpful. Much better than trying to figure it out on my own through youtube or the textbook. It probably would've been possible to take this course w/o going to class and teaching myself through the textbook, but it would've been a worse time. Useful class, glad I took it w/ Majid.
Don't miss class! Make sure you give enough time and attention to this class. I had a terrible and stressful quarter and I'm probably going to retake it just to show myself I can do it :/ Also, make sure you like your TA. I stopped going to discussion and missed out on a lot of review and practice because I thought my TA wasn't very helpful and going would be wasting my time.
And here's a resource: https://www.cs.princeton.edu/~wayne/kleinberg-tardos/ . Use it together with the textbook. Good luck.
We had 6 difficult but easily graded homeworks, all textbook and GeeksForGeeks questions. Midterm, final, and homeworks are basically all the same, you write an algorithm and then prove it and discuss its time complexity.
CS 180 is known for being a difficult course at UCLA. Majid boils it down to its purest form, algorithm design, and his tests are the definition of fair. In the beginning of the year, Majid told us all that attendance was mandatory, but that he wouldn't take attendance. The way that he would take attendance would be by putting examples from lecture directly on the test. Well, midterm and final rolls around and it's exactly that.
The draconian grading (marking people down a full 19% on the final or a full 11% in the class for swapping the direction of proving something) is completely different from their lax grading policy on hw but put in the time to study lecture well and you should be golden.
This class was tough, but doable. First major thing: you do not write ANY code. It's all paper algorithms and proofs and time analysis. We learned graph traversal stuff in the first half, and common algorithmic paradigms (DP, divide and conquer, greedy, etc) in the second half. We got exposed to a lot of important concepts for CS in this class, especially for technical interview prep. 6 assignments, 1 per week-ish. They were pretty doable but some of the harder problems can take some time to think through. Some are directly from the textbook, which are like 4 paragraph problem explanation word salads that only confuse you more, some are "creative problems" that I'm pretty sure are just all from GeeksForGeeks. But they prepare you for the tests somewhat well. Exams were tough but nothing super unreasonable? Final grading was too harsh but after some complaints they loosened up the rubric. Overall, I definitely learned what I was meant to in the class. Getting an A felt kind of tough, but learning the material wasn't too painful.
Majid is a clear lecturer and most likely one of the better professors you'll find for this course. He's good at walking you through problems and breaking them down in a way that's fairly understandable. Attending lectures is important -- tests are worth 80% of your grade (35% midterm, 45% final, 20% homework) and much of the test is either a word-for-word copy of what he went over in class or an application of a problem he went over in class.
Majid didn't come off as someone who genuinely cared about students/learning outside of class. Apparently he barely showed up for his office hours, and he refused to record lectures despite being in a room that could Bruincast and despite the fact that there was still a LOT of COVID cases this quarter. For homework, TA's were apparently not given a solution key, so office hours weren't always helpful.
I suspect that there was no official rubric for the tests either, and since each TA graded a different question, there were vast differences in grading between each question. I probably wouldn't mind this usually, but considering how much exams are weighted, I kind of just think this is irresponsible. (For both the midterm and the final, there was one TA who would take off 10/20 points in a problem if you didn't find the optimal solution, despite the question not ASKING you to find the optimal solution. This was not consistent with other TAs' grading. I'm sure you're thinking "this is an algorithms class, of course you need to find the optimal solution." Yeah, I would have, too, but in the beginning of the course, Majid would show us a brute force method and go on and on about how we just need to answer what was asked of us, and to not needlessly overcomplicate a problem. When this egregious grading was escalated to him, though, he was dismissive and said "this course has always been about finding the optimal solution." Bro. I got 5 points back in regrade requests, but consider that those 5 points taken off in the midterm cost me an overall 2% of my grade and was the difference between my B and a B+/A-. This is why I'm so annoyed about the lack of clarity or consistency in grading.)
My biggest suggestion is to thoroughly know the algorithms, runtimes, and proofs he goes over in class. Know what keywords or hints point you towards a type of algorithm (like if a question asks you to solve in an O(n) runtime, you're probably going to need a greedy algorithm). I also suggest making a masterlist of algorithms that he goes over—it was pretty difficult to go through my notes and figure out each algorithm he'd covered. If you miss a lecture, be sure to get notes from someone else, though I will say it's not really the same as sitting in class. (We had lecture at 8 am and I got into the lovely habit of falling asleep in class after week 5, and studying for the final off my friends' notes was so bad; algorithms are just lowkey hard to understand on paper). If Lionel Levine is one of the TA's, attend his discussion sections and go to his office hours—he's honestly a godsend. He'll review algorithms, additional example problems, and potentially give you some tips for the homework.
TL;DR: I don't think Majid is someone who really cares about students, but his class is designed in such a way that if you pay attention, you'll be fine. So glad this class is over lmao!
Sarrafzadeh is a clear lecturer. He often likes to pretend he doesn't know how to solve problems to try to encourage discussion. While he is pretty good at answering questions, there were a couple of times people raised points or answered in a way he did not expect and he was dismissive of the problems.
Homeworks can be a bit time consuming if you're not super adept with algorithms beforehand. They tend to be graded generously though.
Tests are mostly based on lectures.
Also heard he basically does not show up to office hours unless you contact him beforehand.
Majid may be a better professor if this class was taught in-person. But I really don't think he's anyway god-like and I actually think this class was overrated.
I was quite disappointed cuz I really put lots of time+efforts in this class but ended up ruining my perfect 4.0 gpa by a lot. I received A+ for CS 32 and A for CS 97 but I did not do well in this class. Why? I don't necessarily think I did not master the content of this class. I did quite decent on the midterm and homework. But I did really bad in the final because of the instructions...He only wrote that we need to provide proofs on the first page of the exam which was really easy to overlook. On the midterm, there was also such a statement on the first page but we did not lose points for questions without "providing proofs."
Not just me, 3+ of my friends also missed that. Yes it was our fault, but I just think a lot of students like us would have done better if every question was phrased better and if he let us ask questions for clarification in the exam
In the end, he also refused to curve the class cuz the average was high and everyone receives scores on the absolute scale. I really doubt that if there are 30% of students receive As in the class as in the past years cuz ppl may ace one exam but bomb another and we did not have participation points which was a grade booster as in the past years. If not, isn't that quite unfair for ppl who take this class this quarter? Most ppl around me received Bs. I just felt quite ironic when he said "I'm ok if everyone did great and gets an A" in the class. This class was the class that I devoted the most efforts+time in ever and I just felt that my efforts&time was kinda in vain
Yes, undeniably, his lectures were quite clear and the TA's discussions were nice. But his notes were kinda messy and there was no online communication platform like piazza which would have made the interactions better. The homework took lots of time to finish but was a good practice.
Overall this class was very interesting and also very challenging. Even with the online format due to COVID, Majid’s lectures are engaging and paced very well. You come away with a good understanding of the material since he explains things pretty intuitively, without too much technical stuff. Majid’s lecturing style is pretty sarcastic, but he does take the time to fully explain things and make sure all questions are clarified. Be prepared to spend 10-15 hours on each weekly assignment. If you procrastinate, your life will be hell. The homework does a very good job on giving you practice on the concepts and preparing you for the exams. I stress that you should not sleep on this class and make sure you know your algorithms inside and out, since the time limit on the midterm and final will sneak up on you and totally screw you up if you’re not prepared. (I got screwed on both midterm and final since I lost track of time, rip.) Note that he is very strict about homework and exams: if you submit your homework or exam even a second past the time limit, you will get no credit. He also says he is strict on grading, but the graders actually grade pretty leniently even if you're mostly wrong, as long as you try.
Also, shoutout to my TA Lionel Levine for being awesome! He really put in a lot of time to make discussion interesting and helpful, and he really understands that many of the circumstances we've faced this quarter are not ideal. I also appreciate how he tried to recreate the social setting of an in-person classroom by trying to break down the awkward barriers of Zoom through breakout rooms / icebreakers / memes / etc.
TLDR: If there’s anything I learned in this class, it’s that we all need to mute ourselves.
Sarrafzadeh is a great and kind lecturer. He values class engagement a lot so he will answer all your questions and try to get everyone to work through problems as a group instead of just lecturing to you. I didn't end up going to lecture much because I'm a bad student, but I think they were valuable and there were definitely things I missed on the test that he went over in lecture.
Homework is pretty time consuming and hard, think like 8 psuedocodes and proofs for algorithm problems. Grading for the homeworks wasn't a big deal though so maybe I stressed too hard about them.
Midterm was pretty straight forward if you did the homework and paid attention. Final was much harder but doable. It had a handful of Leetcode hard problems for reference.
To succeed in this class (and in technical interviews) I would recommend doing the homework thoroughly, and then if still don't feel comfortable, look up the topics on Leetcode and try to work through some problems. This won't get you practice proving your algorithms, but it will help you come up with the right ones.
This class is good prep for interviews. Take it ideally before you do interviews, or at the same time as when you're doing them. Majid is p good. I found his lectures to generally be very helpful. Much better than trying to figure it out on my own through youtube or the textbook. It probably would've been possible to take this course w/o going to class and teaching myself through the textbook, but it would've been a worse time. Useful class, glad I took it w/ Majid.
Don't miss class! Make sure you give enough time and attention to this class. I had a terrible and stressful quarter and I'm probably going to retake it just to show myself I can do it :/ Also, make sure you like your TA. I stopped going to discussion and missed out on a lot of review and practice because I thought my TA wasn't very helpful and going would be wasting my time.
And here's a resource: https://www.cs.princeton.edu/~wayne/kleinberg-tardos/ . Use it together with the textbook. Good luck.
Based on 90 Users
TOP TAGS
There are no relevant tags for this professor yet.