stable-galaxy-2796
Edited
• 3 Credit Hours
Key adjectives used by students — color intensity reflects sentiment
stable-galaxy-2796
Edited
happy-spider-2397
Edited
fierce-bison-0671
Edited
tidy-beaver-7684
Edited
true-crane-5922
Edited
gentle-cobra-4140
Not a difficult class conceptually, but made artificially difficult due to needless bureaucracy, inconsistent grading, poor communication, and punitive grading. You better say exactly what the rubric is looking for, and there's no way to know ahead of time what that is. TAs and staff should take more accountability for the amount of people complaining. I say all of this as someone who is familiar with the material already.
Edited
brave-rocket-3393
Edited
golden-jaguar-5460
I just hate the exam format, the pressure is really intense, and can make you freeze up. I don't think it really determines your knowledge of the class. Good material, but horrible execution. Such bad execution of the exams that if I could give it a negative rating I would.
Edited
pure-meteor-2343
Edited
radiant-nebula-4408
Edited
I took GA as my last class, but having done that, I would recommend trying to take it a couple of semesters before you intend to graduate as I'm sure that would make it feel way less stressful. The levels of anxiety that GA can generate are really pretty nuts, so please take this advice seriously.
It sounds strange, but other than the stress, I don’t really have a ton of complaints about GA. Brito and the TAs seem like genuinely nice and caring people, and I can’t really fault them for any of the negative aspects of GA. They seem to have experimented a lot over the years with how the class is run. They have incorporated student feedback, while still keeping the class rigorous and substantial. I believe they are doing their best.
The exams felt mostly fair, and the grading was even generous at times. The only real issue I had was that it wasn’t always obvious what kinds of mistakes would result in massive point deductions and which would be treated more leniently, so I recommend getting as much clarification as possible about that from the TAs. Generally though, if I finished a test feeling pretty good about how it went, that was reflected in the grades, and if I felt like something went wrong, the grades reflected that too.
I recommend attempting every single homework and practice problem that is assigned or mentioned in a post by the TAs, including the coding problems, and the extra practice problems. Doing that along with watching Vigoda's lectures and reading DPV should be sufficient to prepare for the exams.
Before GA, I had previously taken ML4T, RAIT, ML, DL, CN, GIOS, HPC, HPCA, and Netsci, and I earned A’s in all of those classes. GA was my first B, and I missed an A by less than half of 1%. But I’m grateful that I got through it in one try and graduated OMSCS without having to repeat it.
This was my least favorite course so far although I do understand the importance. Many of the algorithms are not practical but help establish a mindset on how to simplify.
Students will learn how to assess the time complexity of an algorithm, some common approaches to simplifying and solving problems and how to deal with problems that may not have clear solutions. This I liked. I also liked the lectures, although they were all recycled from a former instructor.
The homework assignments are graded but have zero weight on the final grade. Exams have the heaviest weight. The multiple choice problems are tricky and the grading is subjective and probably dependent on who graded your work and how they were feeling when they did it. It was hard to review exam results. You are not given direct feedback on multiple choice questions and for the proofs the feedback is obscure. I didn’t really care to try to interpret it once I had a B.
There is minimal coding in the course. Most of the coursework involves solving problems in words, similar to writing proofs.
There is a textbook for the course, Algorithms by Dasgupta. This and the recorded lectures are assigned in a disjointed order throughout the course, which disrupts the flow. The textbook is also concise and often requires the reader to fill in some ideas themselves, which required me to do a lot of rereading
In conclusion, I found that the course useful, I mostly disliked the work (quizzes, exams and homework), the grading was harsh and subjective and the textbook was difficult to follow.
This class is very exam heavy, so go in knowing exactly what you’re signing up for. Exams are 90% of the grade, while the formatting/logistics/content quizzes are pretty easy and make up the remaining 10%.
Even if the homeworks are optional, do them. They’re one of the best ways to understand how the exams are structured and what level of precision is expected. Also, attend office hours. They help way more than you’d think.
If you believe you were graded incorrectly, submit a regrade request. A lot of students don’t do this out of laziness. Just be aware that the entire question gets re-reviewed, so if they find an additional mistake you might lose points too. Still, if you’re confident, it’s worth it.
You genuinely need to study hard for this class. You can’t rely on Chat GPT or shortcuts to pass cause this course really tests understanding. Proctoring is also very strict, so follow every instruction carefully or you’ll risk unnecessary penalties.
This class is doable, but it requires serious effort. No slacking. It honestly feels like the ultimate boss of OMSCS.
For reference, I got 35/60 on the first exam, 49/60 on the second, and 42/60 on the third. If you do poorly on the first exam, don’t get discouraged-it’s very possible to recover if you adjust and study harder.
One final warning: formatting and wording matter a LOT. The TAs expect answers in a very specific format, and being even slightly unclear can cost you points. One wrong word can mean deductions, so be extremely precise and explicit in your exam responses.
Overall: tough class, high workload, but passable if you hustle and put in the work.
-NP
I ended the course with a B on my first try. The material of this course is fantastic and I think it's a shame that students are discouraged to take this course out of fear for their grades and getting caught in a course retake doom loop. The course has good bones and philosophy but I think it should continue to innovate and incorporate more automated learning because there's only so much manually grading TAs can do for a class of 1000. More automated practice problems with explanations would go far in preparing students for the MCQ section of the exam. Also, releasing some example problem videos for some FRQs during week 1 would help students better understand the material so that they do better on the homeworks and get more valuable feedback. As someone encountering the course for the first time, I often felt I didn't have the scaffolding of knowledge to tackle free-response style questions for a unit until I had seen an example or two solved in office hours which they withheld from us until after 2 weeks into the unit. From a course design standpoint, this seems like an obviously poor decision as most students are floundering around until then and then have to cram in the remaining two weeks of the unit. I am fine falling to a 3.9 from a 4.0 in the program for graduation and have no regrets about taking this course as opposed to the easy SDP course as an Interactive Intelligence specialist who didn't have to take it. Be prepared for extremely hard work and developing an optimal exam strategy if you're going to take this course, however. This course is great technical interview prep and its grading is basically a reflection of the reality of technical interviews. You either gets the problem completely correct when you compete against 1000s of others and move to the next stage or you're discarded. you can hate that - but it's just reality. After this course, you'll eat technical interview questions for breakfast.
As a baseline, you need to watch all the lectures, take notes, watch all office hours, read all additonal readings provided by the course staff, and review all of your classmates' homework feedback. I loved the textbook and it's an awesome read, but unfortunately, I don't think a lot of its concepts are covered on the exams - so if you're crunched for time don't prioritize it. After that, what really makes the difference is exam taking strategy. This is why students' experiences vary so much from "This course was pretty easy and I worked reasonbly hard, but nothing crazy. What's everyone complaining about?" to "I've taken this course 4 times, work my ass off every time, and don't know what I'm doing wrong, and can't graduate."
FRQ Section Advice. These are my 3 tips that will help you greatly:
1.) Getting "Aha" Moments: Acing every FRQ is actually quite simple but I didn't realize the ideal strategy until exam 3 - in which I aced every FRQ. They will say "Do all the problems and you will do well on the exam." That's not the whole truth. There is actually a large group of students who do all the problems and still struggle on the high-stress, high-stakes exams and I think there should be more exposure of the ideal exam-taking strategy to help their scores reflect their knowledge because the optimal strategy can't help you if you don't have the knowledge to begin with. It really sucks when you know the material but can't demonstrate that because you're not understanding the artificial exam environment they've set for you. The exams are a very artificial environment. Every question requires an "aha" moment. If you were approaching these problems in the wild it would be extremely difficult to ace them - however, you're approaching them in the context of this course. I'll explain how you use that to your advantage. From my observation, 6/7 of the FRQ questions were extremely similar to homework problems. All HW, practice, and additional suggested problems are fair game, however. The way to consistently get the "aha" moments necessary is to classify EVERY problem you've ever done for this course by type and list the tricks used for each problem type. You then limit your search of "aha" tricks to these observed finite number of tricks after identifying the problem type on the FRQ section of the exam. There was one exam question which was not directly related to any question we did - it was sort of a hybrid of concepts from 2 problems and was phrased like no other problem. However, approaching that problem with this strategy would work because once you find its problem type and brute force apply the limited number of observed tricks you've used you'll be on your way to the answer.
2.) Review everyone's homework feedback - not just your own. Now that you're getting the core "aha" moments you need to lose as few points as possible as you get the correct answer. Encourage your classmates to post their homework feedback on Ed Discussion. Review everyone's feedback so that you understand where potential penalties lie so you know how to avoid them. 2-4 points here and there make massive differences overall.
3.) Never ever brute force a question: Something that is not explained well is that brute forcing a question is graded as if the question is incorrect. I got 4/20 points for answering an free response question with a solution that was correct while others got 8-16 points for answers that were wrong, but more efficient. In this course it is better to be woefully incorrect, but efficient by using the optimal runtime algorithm than it is to be correct but inefficient. I wish they would include a basic rubric alongside each question on the exam to clarify these things when you're having to make these kinds of quick decisions of how best to solve a problem under pressure - but in a way they did because you can learn what the penalties are by reviewing all of your classmates' homework feedback. That was not explained clearly at the time, however.
In hindsight, if I had known these optimal exam strategies from the get-go, I actually think this course would be an easy A. I would like to see the course expose these strategies because I'm convinced they would rather easily improve student performance and then the course could spend less time with students struggling unnecessarily on the exams and add more content. This course's lectures, teaching staff, and textbook are fantastic. With some innovation - specifically demystifying the optimal exam strategies and adding more auto-graded practice problems for students' practice benefit - I think it could become the best course in the program. I think after implementing the improvements I listed above, it should actually be required in every specialization. The knowledge gained in this course is awesome.
Bonus tip in hindsight: For Unit 1, if you want additional problems do the Leetcode Dynamic Programming problems and practice writing them in the course format then convert them to code to verify your solutuion.
Ok, I'll show results first:
Final grade: A Exam 1: 36/60 (C) Exam 2: 58/60 (A) Exam 3: 58/60 (A)
Logistics quizzes: 100% Format quizzes: 100% Content Quizzes: 80% Homeworks: 40%
Review: This class was difficult because I at first didn't know how best to approach it. As this was my last class, I wanted to coast into the sunset. I kind of assumed that if i gave a low-A effort i would end up with a low A. That is not the case. A low-A effort gives you a C or D and you will repeat this class. In order to succeed you must master the material and that means you must absolutely give it 100%. This class is not for the faint of heart, and it is difficult if you have a full-time job and other commitments/ a family.
Overall i truly enjoyed the material in this class, and because it was so harshly graded, it forced me to fully understand it to make it through.
Tips:
Things that could be improved about the class:
Bottom line: -The material in this course is fantastic -Dr. Brito is great, and I really appreciated his weekly office hours. Thank you, Dr. Brito. -Joves's office hours go way above and beyond. Thank you Joves. -All TAs in general were amazing. They were all over Ed, helping students the entire semester. Thank you TA team. -This is a brutal class, especially if you don't have a ton of time and if you haven't taken an algorithms course before. Don't think you can cruise your way through this class.
LASTLY -You can recover from a bad exam. I got a C in my first exam, and ended up with an A overall, so I'm proof of this. Don't think that you're dumb and lose faith in yourself. Brush yourself off and keep going. Don't drop for any reason, because you will have to retake it anyway - if you drop you will lose out on material post the drop date.
Good luck...
and with that, I'm out! 5 years of OMSCS - what a ride.
I’m writing a review for Spring but I retook this course in Fall and might have to take it a 3rd time. I’m not a bad student. I was summa cum laude in my undergrad and have kept a consistent A throughout OMSCS. This course is just the worst in terms of how it is executed. The material is great and I’ve learned a lot. But the 3 exams are 90% of the grade and the TAs will basically grade you depending on their mood. Life is already hard as it is, and I really hope the OMSCS facilitators for once look at the reviews of this course and have some mercy on the hard working students. In my recent exam I literally got a 4/20 in one of the essay questions because even though my solution was correct, I didn’t type it in exactly how the grader wanted. After spending hours of my life studying when I see the comments from the TAs, every moment just feels worthless. This course has given me true depression. I really really want to graduate and this is required for the Computer Systems specialization. If you’re early on in your OMSCS journey, just pick a different specialization. Don’t kill yourself mentally by taking this course.
I took this class over summer full time and it was brutal, I passed with a B, but it was not an easy B and there were a lot of times during the entire semester I was worried I wouldn't make it and considered dropping but I refused because I needed this course to graduate unfortunately.
The difficulty in this course doesn't come from the material but in the structure of the class and how it is run. I actually really like algorithms but this class was more like a writing class on how to write pseudo-code as prose.
Homeworks are supposed to provide guidance for exams but the homework feedback is provided ultra late like a few days before each exam when you turned it in weeks before. This wouldn't be so bad if the exams were curved or not worth the entire grade, but yea that's just how this class is structured to be high stakes and stressful for no reason in my opinion.
Oh yea, and the notes are all closed notes and closed book, again adding artificial difficulty like giving a really hard math problem to solve by hand and saying no calculators. Yea, it's hard especially when you need to learn how to solve so many different cases in such a short period of time but it's also not really valuable or useful.
I can't really provide much advice other than to focus on completing the lectures, do the practice problems, and focus especially on the homework problems because you're very likely to get a variation of a homework problem or lecture problem for your exam moreso than a practice problem (Although they do still show up and that's why it's such a huge time sink, you will cover around 20 different problems, but only get asked 2-3 on every exam for the free response which is worth more than half the exam).
The TA office hours (Jove Luo) were really helpful. I feel bad for the cohort that has to take the class if he decides to take a break because the OH provided me so much help when I felt lost.
He covers the practice problems and gives numerous examples of the desired answer format, it was very helpful to me, but really the most frustrating thing about this class is that you really don't get enough opportunity to practice your own solution writing and getting feedback until basically the day the test arrives so that's why so many people bomb the exam, it's not hard, but it is when you have had 0 time to actually practice by getting feedback from the staff and not living on an island.
The worst part is that they're very strict with the point removal, but also make a lot of mistakes. I made 2 regrade requests and won both, 1 regrade removed 20% of my entire exam grade for a mistake the TA made and then they returned it back 100% admitting the error, but that entire process of seeing my bombed test score, then reviewing the notes, having to write for feedback, then write a regrade request was just all unnecessary work that was caused twice for me.
Sadly, this is a required course for a lot of specializations so there's no avoiding it, but hopefully this info is somewhat useful for where to focus and a strategy to pass because it would have saved me a lot of time, instead I spent so much time trying to cover everything and it really was an unnecessarily stressful experience to an otherwise well-run program for professionals.
This class is tough, as others have mentioned. I believe it’s designed this way so that earning the degree truly feels like an achievement. Having all exams for grading makes it even more stressful especially since, for many of us, this is the final course before graduation.
Don’t lose hope if you score low on one exam as you can still recover. In my opinion, Exam 2 is the easiest, while Exam 1 is the toughest as getting that optimal solution is most. Think through every possible variation of the homework problems for exam preparation, and review all the materials and announcements posted by the course staff.
This is one of the most organized courses I’ve taken, and the Head TAs are extremely dedicated working days and nights to help us. I even got a reply at 1 a.m (Thanks Jamie). after Exam 2 grades were released. Also, thanks to all TAs who worked hard for getting HW and exam graded out in short summer period.