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
1 of 1
Overall Rating 3.7
Easiness 2.5/ 5
Clarity 3.7/ 5
Workload 2.6/ 5
Helpfulness 4.0/ 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 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
Overall Rating 3.1
Easiness 2.2/ 5
Clarity 3.1/ 5
Workload 2.5/ 5
Helpfulness 2.8/ 5
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
Overall Rating N/A
Easiness N/A/ 5
Clarity N/A/ 5
Workload N/A/ 5
Helpfulness N/A/ 5
AD
1 of 1

Adblock Detected

Bruinwalk is an entirely Daily Bruin-run service brought to you for free. We hate annoying ads just as much as you do, but they help keep our lights on. We promise to keep our ads as relevant for you as possible, so please consider disabling your ad-blocking software while using this site.

Thank you for supporting us!