COM SCI 180
Introduction to Algorithms and Complexity
Description: Lecture, four hours; discussion, two hours; outside study, six hours. Enforced requisites: course 32, Mathematics 61. Designed for junior/senior Computer Science majors. Introduction to design and analysis of algorithms. Design techniques: divide-and-conquer, greedy method, dynamic programming; selection of prototypical algorithms; choice of data structures and representations; complexity measures: time, space, upper, lower bounds, asymptotic complexity; NP-completeness. Letter grading.
Units: 4.0
Units: 4.0
Most Helpful Review
Summer 2018 - I am writing this to extend my heartiest appreciation towards professor Burgin for delivering such a wonderful class of algorithm. His knowledge on the subject is vast and has cleared lots of my doubts. I had a chance to interact with him personally for discussing my queries. I am sure that the lecture given by him will definitely be helpful to us during our exams. He's a great professor, and very, very fair in grading. He also gives student s chances to earn extra credits in class. As long as you pay attention in lecture, do the homework and go to his office hours, you should be getting the grade you desired. He always makes the subject interesting, and I really love taking his class and learned so much through his lecture. Not only he teaches in a different way to make us interested in learning, but he also understands our problems and helps us find the best way to solve. I am going to graduate soon but I will surely miss you and things you thought me. Thanks again,
Summer 2018 - I am writing this to extend my heartiest appreciation towards professor Burgin for delivering such a wonderful class of algorithm. His knowledge on the subject is vast and has cleared lots of my doubts. I had a chance to interact with him personally for discussing my queries. I am sure that the lecture given by him will definitely be helpful to us during our exams. He's a great professor, and very, very fair in grading. He also gives student s chances to earn extra credits in class. As long as you pay attention in lecture, do the homework and go to his office hours, you should be getting the grade you desired. He always makes the subject interesting, and I really love taking his class and learned so much through his lecture. Not only he teaches in a different way to make us interested in learning, but he also understands our problems and helps us find the best way to solve. I am going to graduate soon but I will surely miss you and things you thought me. Thanks again,
AD
Most Helpful Review
Winter 2019 - Update: Gafni is the CS department chair. I can even image that how sh*t_ty this department will be with his leads. LOL. Actually it is! Can't cs dep hire someone who can do both research and teaching? | CS 180 is a hard class and the materials are really important for the future work. But Gafni... Honestly, considering only teaching, he is probably the worst in CS department. He cannot explain concepts clearly. He class is extremely unorganized. His homework is ridiculously hard.
Winter 2019 - Update: Gafni is the CS department chair. I can even image that how sh*t_ty this department will be with his leads. LOL. Actually it is! Can't cs dep hire someone who can do both research and teaching? | CS 180 is a hard class and the materials are really important for the future work. But Gafni... Honestly, considering only teaching, he is probably the worst in CS department. He cannot explain concepts clearly. He class is extremely unorganized. His homework is ridiculously hard.
Most Helpful Review
Fall 2021 - This class was very challenging to say the least. I noticed a pretty wide disconnect between the lectures and exams/homework. Overall, the homework assignments (4 total) were not too difficult and pretty manageable. The tests on the other hand were a different story. Even though we had 24 hours to complete each exam, I felt that the homework assignments weren't quite enough to prepare me for the difficult exams. Exams required very creative and clever approaches to solving problems. The mean/median on the final exam, for instance, were both around a 59. The grading on the homework/exams was pretty lenient for the most part, with notable exceptions for HW 4 and the FINAL. I felt that the grading suddenly became much more harsh towards the very end of the course, and I believe I'm not the only person that felt that way. Class was very poorly organized and a complete mess. Many questions on Piazza were left unanswered. The final grades were entered almost 4 days after the deadline. Overall, this class is still super important and useful. But please do yourself a favor and avoid this section of CS 180.
Fall 2021 - This class was very challenging to say the least. I noticed a pretty wide disconnect between the lectures and exams/homework. Overall, the homework assignments (4 total) were not too difficult and pretty manageable. The tests on the other hand were a different story. Even though we had 24 hours to complete each exam, I felt that the homework assignments weren't quite enough to prepare me for the difficult exams. Exams required very creative and clever approaches to solving problems. The mean/median on the final exam, for instance, were both around a 59. The grading on the homework/exams was pretty lenient for the most part, with notable exceptions for HW 4 and the FINAL. I felt that the grading suddenly became much more harsh towards the very end of the course, and I believe I'm not the only person that felt that way. Class was very poorly organized and a complete mess. Many questions on Piazza were left unanswered. The final grades were entered almost 4 days after the deadline. Overall, this class is still super important and useful. But please do yourself a favor and avoid this section of CS 180.
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 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.
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.
AD
Most Helpful Review
Winter 2018 - I would say CS 180 is definitely one of the most useful and interesting classes I've ever taken at UCLA. HOWEVER, as for the professor himself, I would say he's not helpful at all. I stopped going to lectures after like 2nd or 3rd week bc his lectures suck. And since he strictly followed the textbook I just decided to study the textbook myself instead of wasting time attending lectures(btw the textbook is great as it provides you an overall skeleton of how different algorithmic paradigms work, and gives you abundant examples showing how to apply those different algorithms). The workload is chill. You only have around 5 hw problems every week. However, some of the problems can be really hard, even impossible to do on ur own. But anyways there are solutions available online and it seems that as long as you write something on each problem you'll get 100... The midterm was hard with average around 40%. The final on the other hand was much better(at least compared with the midterm).
Winter 2018 - I would say CS 180 is definitely one of the most useful and interesting classes I've ever taken at UCLA. HOWEVER, as for the professor himself, I would say he's not helpful at all. I stopped going to lectures after like 2nd or 3rd week bc his lectures suck. And since he strictly followed the textbook I just decided to study the textbook myself instead of wasting time attending lectures(btw the textbook is great as it provides you an overall skeleton of how different algorithmic paradigms work, and gives you abundant examples showing how to apply those different algorithms). The workload is chill. You only have around 5 hw problems every week. However, some of the problems can be really hard, even impossible to do on ur own. But anyways there are solutions available online and it seems that as long as you write something on each problem you'll get 100... The midterm was hard with average around 40%. The final on the other hand was much better(at least compared with the midterm).
Most Helpful Review
Fall 2020 - OK this review may destroy all the good impressions you got from the other reviews, but I have to tell u I am telling ONE HUNDRED PERCENT TRUTH!!!!! Dr. Sarrafzadeh clearly knows the contents of the course very well because I have to admit his lecture contents are acceptable. I enjoyed his lectures because he always tried his best to introduce the algorithms and lead us through the steps. As other reviews mentioned, he came with a bit of "sarcasm," and this really made his lectures intriguing. His homework questions were fair considering the time I spent working on them and the TAs' generous grading policy. There are usually 6 questions per problem set and I spent roughly 6h to finish each week. His midterm was comparatively easy, and I got almost 100 out of it. Until now u are seeing positive comments right? Get prepared here comes the bullshit part. Note, I got almost 100% before I took the final exam. But for the final, he designed, like the midterm, 2 sets of problems, one for domestic students and one for international students (there were 2 exam time windows, one at 8am, one at 8pm). I took the 8pm test and got 70/100. There were 23 students (most of which from Asia) who took the 8pm final, and we had a group chat. I checked with most students in the group chat and found out 70/100 was actually a pretty decent grade because most of my peers got a score around 60-65. Now you may think the average for the final should be around 65 and Majid would curve up the grade . Well you are wrong, or I have to say more than wrong. Later I received a B grade and he told us he would not curve because the final grade was "unusually high". As a result, I asked the Dean for help and got the distribution of the final grades. It turned out domestic time window got a mean of around 88, and international 78. I could not figure out why was the median 78 given that I had already spoken to most of my classmates taking the 8pm test and they received scores around 65??? He gave out 62/180ish A's and it turned out almost none of them were from the 8pm test. He insisted that the 2 tests had same difficulty level, and international students did poor on the exam simply because they did not master the materials well. But I got 100/100 before the final and I still screwed the final to such an extent. So I personally do not think he offered a fair set of tests. "WHAT A GOOD ALGORITHM," quoting one of my classmates
Fall 2020 - OK this review may destroy all the good impressions you got from the other reviews, but I have to tell u I am telling ONE HUNDRED PERCENT TRUTH!!!!! Dr. Sarrafzadeh clearly knows the contents of the course very well because I have to admit his lecture contents are acceptable. I enjoyed his lectures because he always tried his best to introduce the algorithms and lead us through the steps. As other reviews mentioned, he came with a bit of "sarcasm," and this really made his lectures intriguing. His homework questions were fair considering the time I spent working on them and the TAs' generous grading policy. There are usually 6 questions per problem set and I spent roughly 6h to finish each week. His midterm was comparatively easy, and I got almost 100 out of it. Until now u are seeing positive comments right? Get prepared here comes the bullshit part. Note, I got almost 100% before I took the final exam. But for the final, he designed, like the midterm, 2 sets of problems, one for domestic students and one for international students (there were 2 exam time windows, one at 8am, one at 8pm). I took the 8pm test and got 70/100. There were 23 students (most of which from Asia) who took the 8pm final, and we had a group chat. I checked with most students in the group chat and found out 70/100 was actually a pretty decent grade because most of my peers got a score around 60-65. Now you may think the average for the final should be around 65 and Majid would curve up the grade . Well you are wrong, or I have to say more than wrong. Later I received a B grade and he told us he would not curve because the final grade was "unusually high". As a result, I asked the Dean for help and got the distribution of the final grades. It turned out domestic time window got a mean of around 88, and international 78. I could not figure out why was the median 78 given that I had already spoken to most of my classmates taking the 8pm test and they received scores around 65??? He gave out 62/180ish A's and it turned out almost none of them were from the 8pm test. He insisted that the 2 tests had same difficulty level, and international students did poor on the exam simply because they did not master the materials well. But I got 100/100 before the final and I still screwed the final to such an extent. So I personally do not think he offered a fair set of tests. "WHAT A GOOD ALGORITHM," quoting one of my classmates