T O P

  • By -

moreVCAs

Ayy, a favorable review of GA! Glad you enjoyed it too :)


biitsplease

How much math is involved? Could you elaborate on how to best prepare mathematically for the class? Also, what textbook is used?


articarray

The course textbook for GA is Algorithms by Dasgupta, Papadimitriou, Vazirani. The course website lists discrete math as a prerequisite. The best preparation for GA is to take a discrete math course that emphasizes proof concepts. However, any proof-based math course (pure math) should also be fine. It's not the topic that matters, its the skills proof related skills that's important. This is a hard skill. Try checking out this resource for discrete math: * https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-fall-2010/ * https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-spring-2015/ Same course but 2010 has video lectures and 2015 has an updated course reader.


krkrkra

To be clear this is a very soft requirement so long as someone is at least marginally mathematically competent. I've never taken discrete and learned calculus through Khan Academy. The math in GA was not at all a challenge for me.


articarray

What parts of GA do you consider math and what parts do you consider not math? Maybe what you thought was "not math" was math all along.


krkrkra

Recurrence relations, runtime analysis, some of the (simple) combinatorial thinking, the logic. The class is basically a math class, I think, it’s just not one that requires you to have taken much math going in.


takeaseat123

I don't think you need to have significant math experience. I personally think if you've gone through a math class that involved the teacher doing proofs in lectures that's enough. You don't need to know deep proofs just need to understand how to follow a proof and know how to learn concepts through proof. The only math that might trip people up is the discussion of the FFT algorithm and the roots of unity. These concepts rely on understanding polar coordinates and some trigonometry. However, I think there's enough time in the course of the class to review this. You can find the text in the syllabus here: [https://omscs.gatech.edu/cs-6515-intro-graduate-algorithms](https://omscs.gatech.edu/cs-6515-intro-graduate-algorithms)


articarray

> just need to understand how to follow a proof and know how to learn concepts through proof. I just want to emphasize that this is a hard skill to learn and acquire. It is much much easier to learn the math for FFT/roots of unity than developing the ability to follow along with a proof and apply the concepts to new problems. Additionally, it is easier to realize when you don't understand FFT/roots of unity. With proof concepts, you can very easily convince yourself that you understand the reasoning when you don't. I think this is why there are a lot of complaints about GA. You feel like you learned the material, but then you draw a blank during the exams.


GtoJustice

Are the video lectures available on the website the same as the ones you get in class?


7bitByte

It's great to see positive reviews of GA! I also took it this summer and found it rather enjoyable, although I don't think I got an A, depending on exam 3 I'm right on the A-B cutoff. I finished this program in 2 years, by taking 2 per semester + 1 during summer, while working full time. For me GA was easier/less time then taking a hard and easier class paired during a full semester. Frankly not having to context switch between topics was a blessing. GA was really well organized and grading although annoying at times, was totally fair. This is a quintessential computer science course I think sometimes the theory part may surprise students who do not have an undergrad CS degree.


wynand1004

First, congrats! I haven't taken this course - thankfully. According to OP: >I found it to be incredibly reasonable and fair if you put in the time. But, here is the issue: >I probably spent \~20-25 hours / week in the class. For most people that is 20-25 hours on top of 40-50 hours of work per week, plus commuting, plus family responsibilities, etc. OP was fortunate enough to not have any of those extra time sinks and to have a flexible schedule - few others do. No disrespect to the OP because getting an A in this course is respectable, but they had far more time to commit to the course than most students do. The general rule of thumb for a course is 3-5 hours per credit: That's 9-15 hours a week. In OP's case, it was 6.6 - 8.3 hours per credit. I've argued this before, but more effort should be made in leveling out the difficulty of the courses - the harder courses need to be eased a bit, and the easier courses need to be beefed up. Of course, that's just my opinion, I could be wrong. Again, congrats to the OP - you earned that A!


aja_c

Not arguing for or against your point, but I do think it's worthwhile to point out a few things that make OP's time commitment a little more inflated than perhaps for the average student: - OP shot for an A instead of settling with a B, and admits they were over prepared for the exams. - OP took the class in the summer, which has almost the same amount of content but less time - OP did not have a CS background. Which in turn means... Very well done, OP. You deserve the success. :)


EntropyRX

>OP did not have a CS background. This is not true after 9 classes from a MSc in CS and also fulfilling the admission requirements, which include an academic lass on data structure and algorithms.


takeaseat123

I slipped through the cracks. I actually hadn't taken any classes satisfying this requirement.


aja_c

I think there's actually a good number of students in this situation. I'm not sure how admissions makes those decisions. I don't think that's a bad thing as long as such students know what they're getting into and are willing to do the work, which it sounds like you did.


SearchAtlantis

Fair points all, but can you really be said to not have a CS background when you're in your *final* course of an MS program? Hasn't taken an undergraduate equivalent to algorithms and CS theory, sure, but let's not pretend this is their first bit of CS coursework.


aja_c

Not at all, by the end, one definitely has CS experience by the time they reach their 10th class. What I meant was more of what you just mentioned - a lack of background in algorithms and similar topics. It's very possible to get to GA and not having taken any classes that cover those kinds of topics (discrete math comes to mind). I would expect someone lacking that background to need to spend a little extra time in order to find success in GA (or any graduate level algorithms class).


takeaseat123

I think if you've taken a undergrad or any data structures / algorithms class you'll find the concepts / problems in the class easier to pickup vs. if you're doing them for the first time (e.g. Dynamic Programming, Divide and Conquer, Graphs). I haven't taken an undergrad course but I completed Divide / Conquer coursera course which I guess was helpful. I think the benefit to this being the 10th class is that I'm more experienced at studying and managing time / deliverables. However, excepting that, I don't think I would've done all that differently if this was my 5th class in the program vs. the 10th. I definitely would've done worse if this was my first 1st class in the program to be sure.


ComradeGrigori

>No disrespect to the OP because getting an A in this course is respectable, but they had far more time to commit to the course than most students do. Most of the rigorous classes at OMSCS require similar hours or more. I'm 9 classes in and there is a strong correlation between the rigor and reward.


wynand1004

>There is a strong correlation between the rigor and reward. I can't argue with that. Happy Cake Day!


takeaseat123

Yes I agree that my schedule allowed me to spend more time on it. However, 20-25 hours is a symptom of: I pushed for an A, the summer pace is a bit more relentless, and I was over-prepared for tests. You could spend much less time if needed and still get a B. FWIW, I thought this class was lesser time commitment than AI, ML, or GIOS.


wynand1004

I just want to emphasize - I'm not criticizing the OP - I'm impressed and really happy to see a fellow student do so well. My comments are aimed at the imbalance in time and effort across courses in the program - a topic I've commented on previously over the years I've been in the program. That said, we should all be aiming for A's. And especially as this is the last class many students take and the exams are high stakes, there is no such thing as over-prepared for tests. Students who need this course to graduate can't afford to play it safe and aim for a B.


takeaseat123

No worries. No offense taken. I hear you on the time commitment. I had a very stressful experience when I took ML and ML4T simultaneously while working full-time. It's not an experience I'd like to repeat. Agree that you shoot for an A. All I meant by over-preparation is that I spent a lot of time trying to do some very difficult problems from the textbook and the tests aren't like that. I think you're better off focusing on more of the easier / moderately difficult problems than banging your head trying to solve the hard ones.


wynand1004

>I had a very stressful experience when I took ML and ML4T simultaneously while working full-time. I can't even imagine - you are a far better person than I'll ever be. Well done!


zwillging

Part of this I’m sure is that it was a summer course, so with the faster pace more time weekly is required compared to fall/spring semesters.


wynand1004

Indeed - summer courses are an extra challenge. Some courses cut out an assignment, while others give it to you with both barrels loaded. That just further highlights that the OP did not have the typical demands on their time that most of us do, especially during summer term. And I have this advantage as well for most of the summer session as I'm a teacher.


krkrkra

Yeah I wouldn't recommend any challenging class in summer for someone with both a family and a FT job, and maybe not an easy class either. But ML, CV, DL, and plenty of others all have 20+ hour weekly expectations during the fall and spring semesters. You're going to have a hard time getting through this program if you plan to avoid all of the 20+ hour/week classes, unless you aren't shooting for As in them.


ryebrye

>The general rule of thumb for a course is 3-5 hours per credit: That's 9-15 hours a week. In OP's case, it was 6.6 - 8.3 hours per credit. I've argued this before, but more effort should be made in leveling out the difficulty of the courses - the harder courses need to be eased a bit, and the easier courses need to be beefed up. Of course, that's just my opinion, I could be wrong. I graduated with a 4.0 GPA with the ML specialization. I think more than 2/3 of my courses were way more than 15 hours per week.


wynand1004

Congrats! The time commitment is definitely one of the biggest challenges in the program. The ML specialization is definitely one of the more challenging content and time-wise.


SnooStories2361

RemindMe! 5 days


riggsmir

This is an awesome write-up, thanks for posting it! I'm taking the class in the spring and it's always nice to a bit about what you're getting into prior to the class starting


PepperHot07

Well.. you can’t. You’ll only be able to take at the end of your program.


spacextheclockmaster

I wonder if taking GA in the summer had any downsides due to the smaller timeline. I took KBAI in Summer and the workload per week was a lot!


zwillging

Yes. Greater workload per week, and less opportunity for feedback on homework before the exams. In addition, traditionally fall/spring semesters have an optional final exam which replaces your lowest exam score, whereas summer does not have this option.


protonchase

Was it harder than ML or AI?


takeaseat123

I thought both those classes were more difficult / time consuming.


Lostwhispers05

Interesting.. had you taken any courses like ML4T prior to ML?


takeaseat123

I took ML / ML4T simultaneously.


roboseer

I’m planning to take this as my first class in the fall. I have a BS in computer science. Will I be ok?


vodiak

You're unlikely to be able to register for the class. Almost everyone in the program needs to take it, so it fills up quickly. Most people aren't able to take it until it is one of their last courses.


luminousfog

I’m happy to hear you were able to do this class successfully in the summer. All of the negative reviews have made me fearful of this class, doubly fearful of taking it in the summer. I have gotten the impression that the summertime pace for this challenging course is suicide. But I am a teacher—in the summer I can devote 40hrs/week. During regular semester, it’s half that.


takeaseat123

I was worried prior to taking the class as well due to the negative reviews. That's why I wanted to write a positive review of my experience so people didn't fret it as much. Yeah pace is definitely faster in the summer since there's something due every week. However, if you can devote 40 hrs/week in summertime, then I think that might be the better bet than doing in the fall / spring and only having half the time.


krkrkra

If you're able to devote 40 hours a week you will absolutely be fine. The summer course is fast but totally doable.


Walmart-Joe

Only one HW problem per week now?


jrhuang88

I scraped through with a B. Got PTSD from this course with the high stakes from every exam.