Machine Learning

3.14 / 5 rating4.10 / 5 difficulty21.75 hrs / week

Quick Facts and Resources

Something missing or incorrect? Tell us more.

Machine Learning
Listed As
Credit Hours
Available to
CS students
Machine learning techniques and applications. Topics include foundational issues; inductive, analytical, numerical, and theoretical approaches; and real-world applications.
  • v9NUIlfgPsIu3SbY1R9d3A==2024-04-05T02:27:24Zspring 2023

    Spring 2024 Review:

    I took this course as my first one in OMSCS since I am pursuing the ML specialization. For me this was a make or break course in terms of staying or leaving in the spec, so that explains why I took it as my first course even though I knew the supposed horror stories.

    The reviews here from semesters that TJ LaGrow started giving the course are fairly accurate. So I'll divide it into sections that most people point out:

    1. Lectures: This is spot on in the fact that the lectures are somewhat outdated. The lectures are the same batch of videos that Dr. Isbell and Dr. Littman made ages ago. The lectures are either extremely confusing, boring and tedious (Isbell taught lectures) or straight to the point and actually digestible and understandable (Littman taught lectures). The one thing they have in common is the excessive use of jokes and puns which can get distracting to an annoying extent most of the time. Sometimes Isbell goes on insane tangents that don't amount to something useful so you can just skip that if you wish. Overall the lectures were not horrible, but they were not great either. They will help you get a proof of concept for you to be able to do the assignments well. This is especially accurate if you have an Intro to AI course under your belt, not necessarily the GT one (I didn't take intro to AI at GT, rather as an undergrad in my alma mater). One thing I do recommend is to stay ahead by at least one lecture according to the schedule in order for you to be able to finish your assignments in time and well (e.g. if this week's lecture is SL2, then you should already have watched SL2 and are in the process of watching SL3 or SL 4). Staying ahed of schedule somewhat is KEY to be able to have breathing room for assignments.

    P.S. Don't feel stupid af if you can't do the quizzes, they are annoying and you probably won't be able to solve them. It got to a point where I just watched the solution and learned from the solution that they explained instead of attempting them and wasting time

    P.S. The book is dog water, don't even bother. I read the first couple of chapters, but the lectures are a recap of the book (at least at the beginning, it gets to a point where they don't even reference the book since it's so outdated so, don' even bother using it)

    1. Office Hours: This is an acquired taste imho. Me personally, I went to like 1-2 overall even though they cordially force you to go. To me it was just a bunch of people asking the same stupid questions again and again, and some people would hog up the entire hour following up to the same stupid question they asked originally, and tangents are a common thing. Also, most of the questions asked don't even pertain to your assignment since everyone does their paper extremely different. I started to do better when I stopped overthinking what I did not do that Johnny boy did according to what he asked in OH. TL;DR ignore OH in general, focus on your own analysis and your own work, trust me. The FAQ in Ed actually says a to of what the TAs want in the papers.

    2. Assignments: These are time consuming, but rewarding at the end. The hardest one is the first one since you'll get slapped in the face with the fact that this ain't a typical undergrad CS course where you make your code so well it speaks for itself and you spit out a garbage report. No, these papers are expected to be well written, well-analyzed, more in the sense of "This model performed this way because of X, Y, Z reasons". Think about bias, variance, trade-offs, and most importantly plots, plot,s plots, and oh did I forget? PLOTS. Visualizing your data in plots is the most useful and underrated thing you can do. Not one TA cares if you're a one-liner python god because this is not that typer of course. What they care is that you can analyze and explain your experiments with the help of plots and metrics to tell a compelling "story" of how you got those results, why did you get them, can they be improved, how can they, etc. They may seem useless and that they don't teach anything if you don't make an extensive analysis like I mentioned.

    In terms of the paper itself, LaTeX and Chat GPT-4 are your best friend. GT offers premium overleaf subscriptions that you can use the IEEE conference template to make your papers. A1-2 are limited to 10 pages (including references), A3-4 are limited to 8 pages (including references) and LaTex helps a lot in organizing plots in correct sizes so you can add a decent amount of plots while still having a well written and concise report. Use GPT-4 to generate plots from your code, as well as re-write some paragraphs you may have already written. You can also let GPT-4 help you analyze the results you got and derive conclusions yourself from the help it gave you. DON'T copy straight up what GPT-4 says, don't cheat yourself out of a learning experience. The bulk of the learning here is done by the reports, trust me on that. Isbell and his stupid sarcastic puns in the lectures won't teach you anything compared to the investigation you do yourself in the reports.

    In terms of code, stick with Python all the way through, don't switch to Java halfway. Use scikit-learn (and mlrose-hiive, which is a wrapper of scikit-learn made for GT's ML A2 specifically) for A1-3 and don't overthink the dataset selection, it ain't that deep. Just choose a simple one that might have compelling ML things (large num of features, class imbalance, etc.) as well as an interesting application in the real world since these will be used from A1 to A3. For A4 just write your own MDPs in Python (with GPT help of course), bettermdptools is horrible and so is Gym.

    1. Final Exam: Spring 2024 had a difference to previous semesters in that they removed the midterm and only kept the final. The final is the same as others have said, Multiple Choice-Multiple Answer and it is proctored using ProctorTrack. Just study the flash cards and recaps and you'll be fine (especially if you did well on the assignments).

    2. Extras: There is a reading/writing quiz worth 5% of the grade that has unlimited tries. It's to help you understand how to write a paper basically. There is also a problem set, which is a mix of Isabell's old PS and questions taken from past final exams. It's not graded but if you turn it in solved (even if it's incorrect) they will take it into consideration if you are on the border of a grade at the end

    TL;DR Stay ahead, use the assingnemnts to learn, show and put in the effort and you'll pass with at least a B, good luck!

    Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • +hHhhpWGBBONLUJ32JdYrQ==2024-03-24T03:42:56Zfall 2023

    This course at Gatech has got to be one of the worst. I can't understand why it's made mandatory, but I absolutely dread every minute of it. It's managed to sap all the enthusiasm I had for ML.

    Lectures: Honestly, most of us skip the videos altogether. We resort to YouTube or Google for explanations because the lectures are just painfully drawn out. Professor Isbell tends to go on and on, making it hard to stay engaged.

    TAs: It feels like most of them are just there for show. Their office hours are a joke. They often contradict themselves from week to week. Plus, their lack of attention to detail, whether it's organizing course materials or posting updates, is frustrating. It's like night and day compared to Joyner's courses.

    Assignments: These aren't about learning; they're about jumping through hoops to get the results they want. Understanding the requirements or grading rubric feels like trying to solve a mystery every time. It's all busywork, and the end product is just a report filled with nonsense. Your coding skills hardly matter; it's all about that damn report, focusing on making the visuals impressive and filling it with unnecessary fluff.

    Bottom line: Stay away from this course. If I could turn back time, I'd never have signed up for it. It's a surefire way to kill any interest you have in ML (or even OMSCS). Trust me, the other courses are a much more interesting compared to this nightmare.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 35 hours / week

  • WrKfQ1jcSrBuYU1JSI1/pA==2024-01-24T03:34:55Zfall 2023

    I absolutely loved this class.

    The lectures: I had lots of fun watching them, the two teachers made me laugh. I would recommend to read the corresponding chapters beforehand because otherwise, you might lack some helpful knowledge.

    The papers: With chatGPT, writing papers in Latex was very bearable. chatGPT use is encouraged as long as you don't just copy from it and I had some great "discussions" that would in a remote study normally not be possible. I recommend to use a Latex template - in our semester, someone provided one and that saved tons of time. The feedback that is according to the professor super important came always too late to incorporate it so don't count on it.

    The exams: I read the book once, some chapters twice when I needed to lookup some algorithm, and I tried to understand the general topic of the papers. That was enough to get between 70 and 80 % on the exams. The questions I got wrong were often formulated in a little bit of a tricky way, so take your time to understand what they're asking.

    Ed Discussions: This was one of the classes where I least used EdDiscussions. That doesn't mean there were none, but since "stealing" code is so encouraged, and ML is such a hype, most of what I needed to know I found on the web.

    Office hours: I went to the first one and found them a bit wordy - after that I never went again,

    What I would do better: I would try to organize my code better. Much of what I did, I reused over the assignments and proper modularization of functions would have saved me quite some time.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 23 hours / week

  • mPajKgOPQ6pV3UfAxJIgog==2024-01-05T20:43:54Zfall 2023

    This class is designed to be self-research/exploration-oriented with way too little feedback. The curve is huge, and a final score of about 75-ish gets you an A.

    There is no proof nor mathematics required but instead mostly empirical and anecdotal "project analysis". I am asked to take a small dataset so that a variety of classifiers can run on it and are asked to document findings.

    If you like tuning parameters and writing reports, this is a great class for you. I personally do not enjoy the time spent exploring topics like randomized optimization like a field miner for hours tuning parameters and instead, limited time spent per project to 10 hours. These reports make up 50% of grade.

    Anyway, there is much creativity and excitement in the field when big data meets large-scale modeling, and I believe this class shows the extent of how arduous the task of parameter tuning can be. This class's shear volume of mechanical work did not inspire me at all. I took the deep learning class first and enjoyed Zsolt's much more.

    Rating: 2 / 5Difficulty: 1 / 5Workload: 5 hours / week

  • mkqAekfAOfQACT7w4wXKfg==2023-12-22T13:05:01Zfall 2023

    You are required to navigate a course with:

    1. Long-winded lectures
    2. Assignments with no rubric whatsoever
    3. A docking off of 5 points if you're unsuccessful in a regrade
    4. Ambiguous feedback from the TAs
    5. Have more detail in OH, and not the assignments, which is difficult for you to watch in your time zone. Result: A grade of C, which combined with the infamous CV, has put me into probation.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 7 hours / week

  • uqYiQQ6tFYhzOpVV5LEVrw==2023-12-20T17:44:47Zfall 2023

    First thing to note - office hours are required. I did poorly on the first few assignments because I didn’t know this. The assignment instructions do not detail everything they are looking for. They give way more information on the office hours which you wouldn’t know otherwise.

    The assignments are quite a bit of work. Even if you have a strong programming and machine learning background, make sure to budget a lot of time for these. I was able to do some assignments in 3 days but it was quite the scramble. If I didn’t have other commitments I would have been trying to spend at least 25 hours over the course of 3 weeks per assignment.

    The exams were fair. I thought some of the questions were very ambiguous and depending on context that wasn’t given but the course videos give you everything you need.

    I thought the grading was really harsh and we were often waiting many weeks for our grades back. This is why it took me so long to realize I was missing details from office hours.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • k/nTqbO1bkT82pz6K7v1GQ==2023-12-20T16:42:07Zfall 2023

    This is the first course in the OMSCS, and my work is not related to ML, which is quite challenging for me.

    Fortunately, I got an 'A' with 76%. The lecture videos are very old and provide just a basic idea of each concept. The four assignments drove me crazy because they don't provide clear requirements. However, the TA FAQ posted in the ED discussion provided some hints. The exams are all multiple-choice questions, which are based on basic concepts of ML.

    My suggestion is not to take this course in the first term. It could diminish your interest in ML.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 18 hours / week

  • 6v6NWG6Kl/hPv2eJJuS8gA==2023-12-20T03:07:33Zfall 2023

    ML is the best and hardest class that I've ever taken. If you come prepared, then this is an opportunity to learn a ton about machine learning and build up confidence as a practitioner in the field. You can do some awesome projects and dive into super interesting stuff if you are so inclined.

    This is not a hard class in the way that a difficult math or algorithms class is. ML is hard because you have to quickly pick up new concepts, conduct experiments, and explain why you did what you did in a way that relates theory to practice. In short, you have to learn how to say something intelligent about things that you hadn't even heard of a few weeks previously.

    The biggest challenge is that, with each project, you have to bring a bunch of different stuff together, but it's not even clear at first what the difficult problems with any of this will be, or how you might intelligently structure your process. So you have to start by making a mess. Try out different data sets, algorithms, metrics, and ways of plotting your results. Get your hands dirty. But at some point that mess needs to get cleaned up and coalesce into a reasonable set of experiments and a paper that actually has something to say.

    You really want to come in to this class with decent programming and math skills(especially probability), and some prior knowledge of machine learning. ML4T, RAIT/AI4R, and Georgia Tech's undergrad probability and linear algebra moocs on edx helped me to prepare.

    Do not take this as your first course at OMS. The workload is brutal and you want some successes under your belt before taking it on. I really wish I would have followed the advice to watch the first 6 weeks of lectures before the semester started as doing that can buy you time to rest later in the semester.

    For reference, my scores were A1: 100, A2: 100, A3: 72, A4: 90, midterm exam: 94.25, final exam 89.3, final grade A.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • w8O28GZbi4QsOKRokvPQ3w==2023-12-19T14:03:27Zfall 2023

    This is a follow-up review to a review I posted below. ("I'm on the cusp..")

    I managed to get an A in the course with an overall grade of approximately 83 percent. I was saved at the end of the course by doing above the median on the final and getting a 100 on the last assignment.

    Now that I've had some time to reflect, I've got two major takeaways to add to my comments below.

    1. The ambiguity in the course stems from two words: "interesting" and "why".

    Interesting: In the project specs, they ask you to pick an interesting dataset. Interesting in this case means interesting in terms of its interactions with the algorithms, not the content of the dataset itself. If you have a simple dataset that can iterate quickly over the algorithms and tease out the behavior described in the lecture and the textbook, and keeping track of pros and cons of different hyperparameters, you're on the right track. A large dataset that gives murky results, even though it may be really really cool, isn't what they're looking for. Diabetes, Cancer, Shark Attacks, and Forest Fires are your friends.

    Why: When you're answering the questions posed in the assignment, make sure you describe how these results relate to the content of the data, the algorithm, and the math behind the algorithm. If you can come up with a coherent explanation that ties the three together, you're on the right track. This is the biggest stumbling block that they penalize you for - once I understood the level of detail they needed, it was simple (though not easy) to give them what they wanted.

    1. The tests are definitional with a hint of applicability. If you're able to address the "interesting" and "why" in 1), you're in pretty good shape, but you're going to have to do a bit of memorization, as well as reading carefully to ensure that you've understood the question. Also, the exams are multiple answer, and you are penalized harshly for selecting a wrong choice - I lost about 10 points on the first exam by guessing. Err on the side of selecting only the things you know are correct.

    I got an A allocating my time to the projects and studying. I read the office hours and FAQs on Ed, but never attended or watched office hours (they wouldn't let us download them, and I tend to watch when I'm offline).

    I spent the majority of my time on the papers figuring out the behavior of the algorithms and coming up with compelling graphs. I spent a locked-in day writing the papers, but I wouldn't recommend this if you don't have experience writing a 10 page essay in less than 10 hours.

    Like the poster from UW mentioned below, once you understand what they want, the ask is pretty simple. It will still take a lot of work to answer properly, but you'll know what you need to do and that's the hardest part.

    If you're in the class next semester, look for, or ask the head TA, about his trinity of relationships, and focus on their definitions of "why" and "interesting". If you can get those answered, you'll be in better shape than 80 percent of the class.

    I still stand by my statement that they need smaller practice essays to bring everyone up to speed.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • 1WmgDCplP7smDS6byL9aog==2023-12-19T03:52:33Zfall 2023

    Ended up with an A at 84% (not sure where the curve was). The projects I can say are actually fun, at least the experimentation piece. The issue lies in the analysis and writing. There's simply quite a bit of inconsistency in the grading that appears to fall under some hidden rubric. The FAQ is new and has been very helpful (thanks Dan). The exams have been revamped into multiple choice questions.

    Use Overleaf and the template you can probably find in the slack channel for writing. Math isn't necessary to pass. Python and getting familiar with the referenced libraries. Write as detailed as possible. I did absolutely no reading. Watched the lectures, other related youtube videos/playlists for a better understanding and attended some office hours. Stressful but somewhat rewarding?

    A1: 85, A2: 63, A3: 86, A4:90, Midterm: 83.4, Final: 85.2

    Rating: 3 / 5Difficulty: 5 / 5Workload: 50 hours / week

  • BLOzjr2tfNoIxxWEo3EttQ==2023-12-19T02:55:37Zfall 2023

    Before my review, approach, and thoughts about this course, here are some background details:

    • I got an A as my final grade. -This was my 8th course in the program (KBAI, AI, ML4T, DL, DVA, C4G, IAM) -I have a B.S. in Meteorology (took 1 python course in my 4 years). -My current job has virtually nothing to do with Machine Learning or Computer Science -I didn't go to any Office Hours (I don't recommend this) -I didn't read any extra readings other than just the lectures and Ed posts -15 hours a week is an average. Usually you get 3ish weeks on an assignment, and I usually did it all in the last 10 days or so. So each assignment was probably 30-45 hours / 3 weeks. -My assignment grades ranged from a 59 to a 100 and I got 85's on both exams.

    This course isn't really about coding. I'm certain some of my code wasn't very good (or even downright wrong). This course is about explaining why you did something and what the results were / should have been.

    I want to be as clear as possible about this defining point for me. I felt my experience writing scientific papers and understanding how scientific papers should be constructed was far more valuable than the preceding 7 courses I took in this course. That's not to say they weren't helpful, I definitely benefitted from the fact that a lot of the concepts are discussed across each of the courses to some degree.

    If you go into this course expecting something like AI where you are spending hours and hours constructing flawless algorithms from scratch you are going to have a crap time. This course is about writing research papers with some coding to validate your thoughts and expectations.

    I found this course to be extremely rewarding and painfully punishing. In the beginning of the course, it was pure anguish trying to understand what the expectations were, however, once I figured it out, it was fun to construct a thought process for each paper and try and analyze the data to meet that process.

    I'm not going to go into much more detail than this, there are far better reviews that do that, however, I wanted to express the above since I didn't see a lot of people talk about this when I was looking at reviews during the last year or so for the course and I think it's an important mental shift that a lot of people have to make to enjoy the course.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • b1HUumALAWjFdajRL32nVA==2023-12-19T00:14:13Zfall 2023

    Grade Received: A (91.9%)

    Review: First and foremost, this course is an applications based course, not an implementation-based course. Rather than building your own machine learning algorithms and models from scratch, you will be using pre-built models and writing very thorough analysis on the behavior of the models on various types of data. On taking this course, one can begin to have conversations about how certain models work and what may be effective/ineffective in certain situations. However, if you want to learn the ins and outs of algorithms or focus on theory, this course is probably not for you.

    The class is intentionally open ended - there is no rubric provided for each of the four assignments. On one hand, this is good, as it means you will not automatically lose points for missing a "checkbox item". Personally, I appreciate this grading scheme as it as very consistent with most of my undergrad CS classes and encourages greater exploration and interpretation. On the other hand, students who are not used to this style may struggle given the open ended nature of the assignments. However, overall, in graduate level classes, this grading scheme is more common than not.

    Success in this class stems from truly understanding the behavior of ML algorithms, their hyperparameters, how they interact with various forms of data, and so forth. You will not lose points for attempting to rationalize behavior you see but ultimately end up being wrong after going through your reasoning - however, you will certainly lose points for only conducting a surface level analysis of some of the items the ask for (be sure to thoroughly read the assignment specs and FAQs). I received deductions on to assignments that I slacked on (which I take responsibility for) and 100s on those that I thoroughly analyzed (~900 words per page).

    It should be emphasized that those who are already working in SWE or ML roles are not entitled to receiving high marks in this course - you will still have to work hard. On the job usages of ML libraries does not necessarily translate into a deep understanding and the ability to coherently analyze the different areas that are asked of in the assignments. From the discussion board, some critics of the class argued that grading was arbitrary and the grades they received challenged their expertise within their current occupations. Although grades may vary slightly by graders, the grades I received were consistent with the feedback (across different graders) and this as corroborated by others in a friend group I am part of.

    Unfortunately, Ed discussion board drama feels rather high in this course, but this seems to be a pattern across many courses in OMSCS.

    My largest critique of this course is the tests - the are practically useless at assessing one's understanding of the ML algorithms. The MT and final were both MC/MS and felt more like assessments of one's knowledge of SkLearn libraries. The tests were far too easy for the breadth and depth of the material and might as well be dropped entirely.

    Despite having implemented all of the ML models in this class before in other ML classes, this class still challenged me, especially my ability to truly understand interactions between the models, parameters, and data structures. On top of work, this class took up around 20 hours of my week. I would consider this the easiest ML class I have taken (I do not consider ML4T an ML course), but the hardest class I have taken in OMSCS (tied with Bayesian Stats). I strongly recommend anyone who wants to improve their technical writing skills and solidify their understanding of ML models take this course.

    Background: UW-Seattle CS undergrad, graduated 03/2022 (thus, math concepts are still fairly fresh). Took upper level ML, statistics, and discrete mathematics courses. Current SWE.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • ijwyo+lHyowSh99JVOv5Ig==2023-12-17T06:28:59Zfall 2023

    This course is horrendous for reasons already expounded upon in the reviews below. The biggest issues lie in the ambiguity of assignments, grading, and the unbelievably annoying lectures in which two profs needlessly banter and laugh at their own jokes. This makes the lectures 3x longer than necessary. It's obvious the class is being run by a motley of TAs in the absence of a professor. I cannot believe GT is offerring this course as the cornerstone of the ML track.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • DibZyoOcaWfZo4SU8h4DgA==2023-12-17T04:28:24Zfall 2023

    I did well in this class. The material was a broad survey of machine learning, which is great, but there are some serious problems.

    There are blatant, obvious, and FREQUENT errors on exams. The questions were written by TAs and not reviewed by a faculty member. They really need to grab a CS prof to review this. I'd reach out directly, but the vibe from the course staff has been off putting, to say the least. Assignment grading is equally bad and for similar reasons, which is that there seems to be varying degrees of expertise in the material from the (largely graduate student) graders.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • /3I4q+7C+JsDXuUf66EFww==2023-12-17T02:57:48Zfall 2023

    This course gets way too much unwarranted hate by students, so hoping this one leaves a positive note and encourages others to take this class. The Good: The assignments in this class are simply awesome and some of the best I have done in my five courses at GaTech. They require a deep synthesis of what's taught in lectures and run your models on different datasets/problems and report interesting behaviour. The word 'interesting' trips up people when it is very subjective and simply means being able to expose some behaviour of the algorithm/data/problem through your experiments. The whole myth of hidden rubric is simply not true, it just takes an immense amount of time to figure out how to best present your reports in a way that fulfill the requirements since most of the times it cannot be broken down into a checklist kind.
    The FAQs introduced this semester were an incredible resource to assist in the assignments, which was noticeable with higher averages for the class compared to previous semesters. This was definitely evident when FAQs were released late in A4 and students were flailing around like a headless chicken prior to it. The Office Hours are run twice a week and you can have some of the best interaction with the TAs. These are incredibly useful to fill in the gaps you might be facing with the assignments - a lot of students are almost rebellious against attending OH for clarifying assignments and complaining later on when grades don't tip in their favor.

    The Bad: Feedback can be a very hit or miss depending on your grader. Some graders clearly care a lot to explain the pitfalls in your analysis and where you fell short, whereas others provide vague feedback such as "you could have discussed a bit more of XYZ" which doesn't help you a bit. The exams introduced this semester while increase your grades, are borderline useless imo in testing your ML knowledge. Both exams felt like GPT generated questions for which a very superficial knowledge of the concepts was sufficient. I may be in the minority, but I would have preferred Prof. Isbell exams which were known to be brutal but thoroughly tested your conceptual knowledge, even if it lead to a 40/100 average. In addition, this course is a marathon and burn-out is evident and real especially in the latter half of the course when your start running out of steam (was also evident with my grades gradually but steadily dropping). It's really important to be able to take care of your mental state when going through such a grueling period especially around the midterm when A2 and exam are due right around the same time.

    Some tips for students to succeed:

    1. Focus on WHY for every behaviour you observe in your assignment. Your code doesn't matter, so make use of available libraries. Our class was allowed to use GPT to generate code which was a life saver in terms of writing plotting scripts as well as general code instead of starting from scratch.
    2. For the love of God, use LaTeX for writing your reports - GaTech offers a free Overleaf premium account - use it and write your papers in IEEE format (and not JDF) to save space. Space is prime real estate, especially in latter assignments - and dealing with images etc. and fonts on Word is gonna be a nightmare.
    3. Use subplots to save space. I output most of my figures in high resolution (~1200 dpi) in a 2x2 subplot so I could pack more plots in less space. Subplots could be made either via using matplotlib itself or arranging the figures that way in LaTeX.
    4. Learn how to pickle your trained/tuned models. You do not want to end up in a situation where you ran something for 12 hours and then your computer crashed and you lost everything.
    5. Learn how to multiprocess using Python , or do poor man's multiprocessing to run multiple scripts at once. This is especially useful in A2 and A4 where you cannot use sklearn's capabilities.
    6. Pick simple datasets - don't go for fancy image data or audio data or financial data , etc. UCI/Kaggle has plenty of simple datasets which can expose interesting behaviour you can squeeze out for analysis. Your datasets don't need to be huge, both my datasets were less than 2000 rows.
    7. Spend some time understanding your data/optimization problem/MDP. Blindly running algorithms without understanding your problem is a recipe for disaster since you can't really explain what you see with a sound reasoning behind it.
    8. Attend OH, or atleast watch the recordings. While it may sometimes get repetitive, I often found 2 minutes of golden nuggets every OH in a pile of questions which helped me improve in the assignments : an easy way is to watch the recording in 2x while perusing the transcript.
    9. Stay active on Slack, study group etc. This class is the prime definition of "it takes a village". A lot of times I was able to reason out certain behaviours by discussing with classmates who were super helpful on Slack. Contribute when others are facing problems - it helps you learn a lot.
    10. Analysis has three levels: Level 1: Explain what your plot shows aka Summarization Level 2: Explain why your plot shows what it shows aka Analysis. This could be something you learnt from lectures or readings (make sure to cite) or a reasonable hypothesis you could propose. Try to keep up with Supplemental Readings, some of them are excellent and provide you further evidence and material for your assignments wherein you can cite some observable behaviour to past literature via one of the readings. Level 3: Try to prove your hypothesis proposed in Level 2 with additional experiments. Although you might not hit all 3 levels on every aspect of your report, having enough of a breadth of Level 2 and Level 3 analysis sprinkled through your report is gonna ensure a high grade (>=90)

    This was my favorite course so far and I will remember it fondly for enhancing my critical thinking skills as well as making me a better engineer in general.

    Final grades: A1: 100, A2: 98, A3: 90, A4: 92, Midterm: 91, Finals : 95 Overall grade: 94.3%

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • XD/oW6fEzRWbZM6AQpKFNw==2023-12-17T00:50:12Zfall 2023

    This is one of the courses wherein you get what you invest. I am a seasoned DS and scored a 92% overall, but boy it was hard. This was my 5th course in ML spec and completes my ML core requirements sans GA. I think the easiest part of the course was the exams. I scored 89% on first and 93% on the finals, while my scores on assignments were 92, 87, 100, 90. I extensively watched the video lectures and added what I learnt in my assignments hence the high scores. I used overleaf for writing the papers and extensively followed the FAQs. My only gripe with the course is lack of genuine feedback on the assignments. Most of the feedback about missing stuff in my reports were blatantly wrong, they were in the reports just overlooked. I didn't ask for regrade for any of the assignments. My word of advice for people taking this course: watch the lectures, read ISL or ESL, use gpt for code generation, and make sure you cover everything in the FAQs. Finally, I saw a lot of people going for study groups, but I think it's a waste of time if you have some data science knowledge as most of the folks in these groups are just slackers.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 22 hours / week

  • JFTGAtZZ6qQpBpiNARG7Rg==2023-12-12T17:46:52Zfall 2023

    I took this course as my 5th or 6th since I took two this semester (big mistake). I've taken HCI, DBCD, SDP, SA, and IIS. My undergrad is in mechanical engineering and I currently work as a data scientist/analyst with about 4 years of experience. I am not an ML data scientist but rather an end-to-end ETL to analysis/reporting DS. So I span the gap between data engineering and analysis with a larger focus on the analysis side. This should've played heavily in my favor in this course given how much "analysis" goes into each assignment but it really didn't.

    TL;DR - This course was hella difficult in terms of time and stress but I learned a lot. Knowing what I know now, I either wouldn't have taken this course or would've taken it alone. Assignments were death and exams were life me in this course. Hopefully it can improve in the future as a new prof takes over and makes more changes!

    Now that you know where I'm coming from, I can give my review of the course itself. I want to discuss several aspects of the course; namely, lectures/content, assignments, and exams. They all had their pros and cons and, unlike some other reviewers, I won't be giving a broad suggestion to completely avoid this course. That said, this course has been the bane of my existence for the last several months and has been an immense source of stress for me.

    First, the lecture/content wasn't bad. I wasn't a big fan of the back and forth banter style between Dr. Isbell and Dr. Littman. But it was actually helpful for me when Dr. Isbell was teaching because Dr. Littman would pretend he didn't know what was going on and ask clarifying questions in a fairly authentic way most times. In the reverse scenario, Dr. Isbell often sounded arrogant and was mostly unhelpful while Dr. Littman was teaching. The content itself was mostly pretty new to me since I am not an ML DS. It was a bit too math-heavy for the course since the assignments revolved around "stealing" implementations of ML algorithms and doing analysis on a data set, not writing our own implementations. I'd argue that in the case where you write your own implementation of the algorithms, it would require a stronger understanding of the underlying math involved. Additionally, the exams did not cover any sort of derivations of equations or coding but, rather, conceptual understanding of the algorithms and how/when they best apply. However, I still learned a lot from the lectures and the examples they walked through were pretty helpful over all. If I had a recommendation, it would be to redo the videos in a less banter-y format and just stick to explaining the algorithms at a high level, dip into the math/derivations of equations some, and focus on applying them to various data sets or situations. The focus on application could include techniques for hyperparameter tuning and interpreting results of various checkpoints along the path of training and testing a model. That would've benefitted me far more than understanding the intricacies of whether a perceptron can give you AND or XOR.

    As far as assignments are concerned, this was the most time consuming and soul crushing part of the course. From what I can tell, the assignment prompts in Canvas are the OG ones from when Dr. Isbell ran the course. They're very open-ended (in a somewhat unhelpful way) and leave a lot more questions about what is desired/required than what sort of analysis you could possibly do. There appeared to be a "lottery", as several others have pointed out, that was the biggest factor in determining your grade. I'm not going to pretend that my analysis deserved higher grades but I did expect more consistency, at least. My assignment grades were as follows: A1 - 77, A2 - 97, A3 - 73, A4 - TBD. They're pretty inconsistent, as you can see. One common thread between the lower A1 and A3 grades is that those assignments involved me using the data sets I chose, as opposed to A2 where optimization problems were used instead. It's possible that my data sets were "uninteresting" which is another problem with this course. You are required to chose datasets that are "interesting" by a somewhat subjective measure. Regardless, the fact remains that the grading is pretty subjective and there is no rubric for helping guide what you should include in your reports/analysis. The assignment FAQs were helpful. I mostly stuck to those and my grades for doing that are out in the open to judge. Others in the class seemed to obsess over what exactly to include and it seemed to be to their own detriment. Several of those I saw asking the most questions (i.e., splitting hairs over basic approaches or graphs) complained the most about receiving low grades and not being sure how to improve them. So I recommend sticking to the FAQ, observe some of what others may be including in the assignments, and don't fret over your grade. There is a lot of subjectivity and until they start providing a grading rubric, there is no use in stressing over it like I and others did at times. I will also mention that the feedback I received on my papers was too generic to be helpful. Things like "You could've included more discussion on this or that" or "Good discussion on this, but you could've included more". Since there was no rubric, how was I to know what was expected? Since more analysis/discussion can always be done, how much is considered enough? Some apparently received excellent feedback but I was not one of those. We were also expected to incorporate feedback from assignment to assignment but were given feedback far too close to the due date of the next one. We did get extensions on assignments because of this delay but even a day or two was not enough time (some of us work and have families so two days is like two hours of actual time to work on things).

    Exams were actually the high point for me in this course. They're worth a hefty 50% (25% midterm and 25% final) so they're huge. They were entirely conceptual (i.e., no derivations of equations, no code, no calculations of any kind) so they were definitely testing something unique that assignments did not directly cover. The resources for knowing what to study were lacking though. We were only given problem sets that contained some practice problems covering topics we touched in various modules. The style of them was nothing at all like the exams. They did point me to what topics I should focus on but they did not directly help me study. I took a gamble on the midterm and opted for using ChatGPT to guide me on specifically what I needed to study regarding the various topics and algorithms we covered. This worked out very much in my favor. I got a 92.75 (with an additional 10 points added to everyone's grade). So I stuck to the same strategy for the final and felt pretty good about it (grade TBD).

    This course was tough. Sometimes it was tough because of ambiguity and other times it was tough because I was learning something new that required time and effort. I think assignments helped me learn some very practical concepts about ML but I wish they would've been more fun. I was too concerned about what to include or not to have fun "exploring" my data. I think the course is probably on the up and up as the new professor seeks to improve on or completely revamp the way it is conducted. I spent a significant amount of time on this course and it made my life very difficult for the past few months. I'm glad to be past it but I did learn quite a bit. I would likely not have taken this course knowing what I do now but ultimately I'm glad I did it. If it's the hardest/worst course in the program that most have taken then I'm glad to be done with it now.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • DSdQsZmZzvqw7RWvN+ipRQ==2023-12-12T15:35:06Zfall 2023

    I think this course is very helpful for understanding machine learning algorithms, and your appreciation of it will heavily depend on what you aim to learn. The OMSCS program is generally suited for individuals looking to advance or switch their careers. Writing reports and analyzing algorithm behaviors are crucial for career progression. Many OMSCS students have a mindset where 'coding is good, writing reports is bad'. But let's be honest, in job interviews, it's unlikely you'll be asked to implement a specific algorithm. Instead, it's more about the analysis and understanding the underlying mechanics of each algorithm. This course excels in helping us grasp the mechanisms behind each algorithm.

    I acknowledge there is some ambiguity in the assignments. However, by reading the FAQs and instructions for each assignment carefully, I've managed to secure decent grades. I believe some previous comments about the ambiguity are somewhat exaggerated.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • w8O28GZbi4QsOKRokvPQ3w==2023-12-12T03:13:46Zfall 2023

    I'm currently on the cusp of a B or an A, depending on where my final exam and Project 4 lands. Like some of the other people here, I'm a senior engineer and have worked in industry for 15 years, but unlike (I think) a lot of of other people here, I also have a non-STEM writing degree from a liberal arts college.

    The central tension in this class, as noted by other students, is that the assignments are presented as if they are open-ended exploratory analyses of data and algorithms, but they are graded with the expectation that you will follow a certain golden path. This is all well and good except that the golden path is intentionally obfuscated, leading to a lot of wasted time trying to figure out what to do and not enough time exploring the data and doing the analysis. Additionally, the feedback I received was next to useless, and the idea of a 'grade lottery' is pretty spot-on. This stands in marked contrast to RL where the papers are much easier to understand (and are still open ended-ish!), more difficult to implement, and much more rewarding to do.

    The exams are extremely heavily weighted, and are very difficult to prepare for ; this is a survey class, so there's a ton of material, and the study guides that are given don't do a good job of giving you a feel for what sort of questions will be asked. This semester we were allowed to look at our answers for the midterm and this helped with the final since those questions were drawn from the same bank, but with the sea of topics to cover, a more targeted study guide would be welcome.

    Basically, what I think it comes down to is that the class doesn't respect your time and revels in ambiguity. I understand that exploratory analysis, writing, and a bit of pain are required for internalizing difficult material, but when I'm working in the real world, clear communication of expectations is paramount. Like other posters noted, this class was a gigantic time sink and caused a lot of difficulty with managing other aspects of my life.

    All of that being said, I think there's an excellence lurking in this material, and with a bit of tweaking and management of expectations (my suggestion to the TAs and professor was to replace one of the projects with 6 mini-projects that exercised what they were looking for in the essays, similar to how RL has 3 projects and 6 small programming assignments), this course can be fantastic.

    So, if you've gotta take this course, know that at least for now you're gonna be in for a bumpy ride, it's gonna hurt, but you'll probably be OK.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • boEmhD+fxaxEI2v/J8Bktg==2023-12-11T22:48:38Zfall 2023

    I guess I'm feeling like being a bit of a contrarian thanks to the doom and gloom that this class seems to generate on any number of sites (Ed, Reddit, Slack, here, etc.) but I had an overall positive experience with a small handful of negatives in the class and I want to expand on the course in a way that isn't just "ML IS BAD, AVOID IT" for prospective students.

    My job is in automation of control systems, my only real academic experience with ML comes from ML4T, arguably a very weak introduction to the subject. I have a background in EE and was under the impression that this course would be destructively difficult (more on this in a bit) due to lack of programming experience outside of the program, where this is my 7th class (RAIT, ML4T, HCI, CV, CP, AIES previously, in order). I submitted my final exam yesterday, my grades on assignments have been slightly above average while my midterm grade was not stellar and I submitted both of the optional problem sets. Without knowing my final project or final exam grade I suspect I'll get a B but that remains to be seen with how the grading will be curved.

    I'm going to approach this with an "issue-then-my-take" format and I type way too much so bear with me please. I’ll try to cover adjustments being made to the course following Dr. Isbell’s exit from the university and this course as well; put short, his fingerprints are very much still all over the course, but changes are being made incrementally to improve quality of life in the class in a way that does not rock the boat dramatically. This review is about the first semester of the class where the instructor is TJ LaGrow. This information is all subject to change as things about the course continue to evolve.

    Issue: The lecture content is dated and a lot of the course content overall is spread so thinly that you can’t dive deep into the material. You will need to go above and beyond the lecture material by way of reading the “supplemental” course material and attending office hours/reading discussion boards. My take: This was 100% true. Because I came into the class expecting it to be so difficult, I made it a point to attend office hours where possible and watch replays if I could not attend, I watched every lecture at least once and I tried to read all of the supplemental content. Put short- it was a lot of time sink, but not without learning a lot of varied topics because I had such little background in the field. I feel like I would not have succeeded on assignments at all had I not put in all of the extra time, and my lower grades on assignments directly correlated to when I was putting the least effort into supplemental material/OH/etc. At the very least, I found the conversational nature of the lectures entertaining to watch and I found that (most) of the book reading was digestible and allowed me to do the diving into content that I thought the lectures lacked. Ed always seemed to have discussions and great dialogue to help learn, too.

    Issue: The assignments for this class are overwhelmingly vague and stressful. My take: I have mixed thoughts about the assignments for this course. From a high level, yes, they are extraordinarily vague and the TA’s rely almost entirely upon our written analysis for grading rather than checking for an autograder submission or even checking that our code is unique. The descriptions of the assignments paint very broad strokes without keying you in about expectations for how you convey what exactly is being asked of you to allow for maximum flexibility. The course actively encourages use of existing packages and code (yes, they use the word “steal” but it still feels dirty), including a few made specifically for the class like bettermdptools, rather than synthesis of our own code; this decision is made so that we spend more time experimenting and trying to generate “compelling” analysis rather than seeking correct answers. At the beginning of the class, "compelling" seems highly subjective and almost impossible to gauge without a rubric, and the time needed for grading such widespread assignments shows because you will be submitting assignments pretty much right after you get grades and critical feedback from previous assignments. Going back to the previous subject on office hours and Ed- they will become your best friends for understanding these assignments. Get ready to spend a significant chunk of time reducing your numbers of figures and your total word count to fit some very, very tight page limits for assignments later in the course. New this semester, the TA’s introduced assignment FAQ posts on Ed that helped clear up a whole load of ambiguity with every single assignment in the course, while still allowing for tons of flexibility in our approaches. Had they been delivered in a bit more timely fashion they would have been the perfect resource, but most of the time they were released between 1 and 2 weeks after an assignment window opened. The new instructor for the course, TJ, and the most present of the TA’s were in attendance for every office hour and regularly would answer questions on Ed. This is conjecture and maybe generalizing a bit, but many of the people on Ed that seemed most verbally upset by grading or assignments were the ones not in attendance for office hours or re-asking and disregarding entire pre-existing posts and questions on Ed. I personally felt like there was never a situation where if I didn’t have enough information about expectations on assignments, I couldn't ask about it myself or review somebody else already asking a similar question since TJ and the TA’s were so present all of the time.

    Issue: The grading is overly tough, extenuating, and not transparent enough. My take: I would tend to slightly agree with this, but I think it’s just stress from seeing low numbers as compared to my usual grades. Things that, on paper at least, seemed insignificant in the grand scope of assignments ended up with pretty significant penalties to my grades. From reading other students’ posts on Ed, it seemed to be the case for them as well. Regrade requests require pretty substantial evidence for them, as they can penalize your grade without submitting for good reason, and they also have grade clarification requests available to get information before submitting a bad regrade request; the clarification requests are penalty-free. The averages and medians and for the semester are as follows (not including folks that dropped the course): A1 71.29, 75. A2 70.51, 75. A3 63.72, 67. A4 TBD. Midterm 81.12, 82.7. Final TBD. These grades, according to the TA’s, are the highest the class has seen in years, and I’m inclined to believe them based on historical grades and drop rates for the class. TJ and the TA’s have regularly expressed to us that if we focus on the assignments, the grades will turn out just fine. Historically, of those that do not drop the class, 50% or so get A’s and 40% or so get B’s. If you can ignore the stress of the low-looking numbers long enough to complete every assignment (I definitely recommend doing the optional problem sets as they are mixed difficulty with good content refreshers) and wait for them to adjust the grading cutoffs, it seems like it will all work itself out. This is corroborated by any number of posts from people on Ed and Reddit trying to ask if they should drop or not based on assignment grades.

    Overall, the course took a few hundred hours of my life, it was the 2nd most difficult course I took behind CV, and there was a lot of work that I had to do personally to stay on top of things in the class. All of that and all of the issues above considered, I still really, really enjoyed my time in the course. I learned about a ton of topics that, although slightly dated, can be easily rolled into existing applications or used as a basis to learn about technologies that have come out in the decade since the lectures were recorded. TJ had to overcome a very difficult course to adopt based on what I have seen about previous semesters of the class, and I personally feel like he and the TA’s did a pretty stellar job of being concerned first and foremost about our desire to learn, rather than assignment grades or trying to gamify rubrics. This is the first class I took in this program where I felt like I could actually stretch my legs and do experimental dives into things that I found interesting, rather than spending time writing about topics I don’t care about or trying to maximize points on an autograder. It’s not easy, but from my experience personally, I feel like a lot of the negativity about this course is very overblown and stems from things the new staff are actively working to fix. Make of this novel I just wrote whatever you will, but if you decide to take the course in the future, best of luck and I hope that your experience was overall as positive as mine or even moreso :)

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • br09Dorz45zpn9ySp+NC7g==2023-12-08T22:12:23Zfall 2023

    Honestly I am an experienced data scientist and I learned nothing from this course. I also agree with the other reviewer that this is the worst course that I have ever taken in my whole life, for the following reasons.

    1. Ambiguity in assignments. The assignments take a big chunk of the course load, and usually it is supposed to be the most fun and learning part. However, due to ambiguity in the assignment, you end up spending most of your time figuring out what the professor actually wants, instead of conducting all the work. TAs say that it is purposely made ambiguous so people can learn. However, the only thing it does it to confuse people, force people to go to TA sessions, and still struggle with the assignments all the time.

    2. Course is cheaply designed. The videos are old and not relevant to assignments and you don't learn much from them. Assignments are all very open and show no designs or any work involved in the designing process.

    3. The game theory part of the course is kind of like inserted there by force. Instead, more recent developments in machine learning should be included. Seems like professors are really fond of game theory because it is related to their research areas. However, not that suitable to the general student population.

    Unfortunately this is a required course for the ML specialization, and it is a shame. I would consider switching to another specialization just because of this course.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • B9ODZY/BT5HrZA2E/KF9WQ==2023-12-02T07:40:30Zfall 2023

    This class has been the worst class I have ever taken in any learning institution I have ever attended. I am a senior software engineer and graduated summa cum laude from a public American undergrad. I have A's in all my courses so far and am doing the ML specialization.

    The amount of work required for this semester for the satisfaction of grade is the lowest ever and this has been an extremely demotivating experience. One of my classmates accurately described submitting her assignments as "entering the grade lottery". I have reservations that the TA's even read the reports at all.

    Most weeks I spent nearly all of my spare time on this class, especially the assignments. I am a very calm person and I actually get mad and almost exited this review thinking about how unfair the grading was for this class for the amount of effort put in. I think I spent around 150-200 hours per assignment (this includes perfecting figures, writing captions, making proper references, etc.)

    This class caused tension with my family because I was so occupied with it, and now nearly done with the class, I can only say that I mildly learned machine learning techniques (ML4T already went over most of them) and I learned that I can sit for very long periods of time. It wasn't even that technically difficult, I finished the programming really fast. It was just writing the reports that was so painful. It was absolutely not worth all the work and made me decide to load on easy classes from now on and just finish out this degree. I went from loving this program and enjoying every bit of it to deciding I need to finish it and wipe my hands clean. It's just not right to do this to a person. I love a challenge, but this was just completely ridiculous and not challenging in the correct ways.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 33 hours / week

  • 8wXZRCEKm3to+KkJTb6xVQ==2023-11-30T23:41:16Zfall 2023

    The other reviews do a great job of summarizing why this course is awful so I don't have anything new to add really. It really is the worst class I've ever taken, and I took an online physical education course in high school. Seriously. I wish I was making this up.

    This is my ninth course in the program, I only have GA left. If I wasn't so close to being done with the degree this class would've caused me to drop out. That's how unbelievably terrible my experience has been this semester. What an unfortunate waste of everyone's time -- both for the students and the TAs. This is coming from someone who got As in other courses like ML4T, DL, CV, etc. I just want to get a B and be done with it.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • TvHCXn/nv2gzUMufKRR79w==2023-11-30T17:45:47Zspring 2023

    Do not know what happened but GT is not top 10 CS universities in the United States. UCB,STF,CMU,MIT,UW,UIUC,Cornell,UT Austin, UCSD, Princeton are all definately better than GT. It should be ranked at 10-20. Unfortunately, I was not admitted to their MS program and chose an online program to get a degree which is good for my career.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 38 hours / week

  • +ErIfA2u4YLqniq/bY77hA==2023-11-28T16:40:19Zfall 2023

    I am writing this before the final, but I'm on track to get an A even without doing the optional problem sets or stressing over meeting every single assignment requirement. I came into the course with an intro to ML course in undergrad and having taken ML4T and Simulation which covers much of the statistical knowledge needed to understand the course.

    The key to do well on the assignment is to have a very well-structured paper where you focus on developing hypotheses of how various algorithms will perform, making experimental charts to validate, and connecting results back to the structure of your data sets and algorithms. You need to watch office hour recordings to find what experiments to perform, but the head TA now posts an FAQ that mostly covers this information.

    For the first assignment, i would recommend choosing 2 SIMPLE toy datasets that have different properties so that you can highlight differences in them. You get points for having a clear, targeted analysis. I got a 95/100 due to this even though my datasets were relatively small and simple. You don't get points for working with a complicated dataset or having elegant code. The same idea applies to the Optimization assignment, choose SIMPLE problems that will behave DIFFERENTLY with respect to different algorithms, so you can easily generate good hypotheses and make targeted experiments.

    Realistically, I waited until 5-6 days before the assignments were due. The assignments are very time consuming, but I still did better than average on all assignments without completing all requirements because my analyses were very targeted and interesting, which the TAs care about more. For example, on the Randomized optimization assignment, I implemented all 4 algorithms but i didn't do the last part of the assignment where you had to combine optimization algorithms with a neural network. For the unsupervised learning assignments, I only implemented all the algorithms on one of my datasets rather than both, essentially cutting the required code i had to write in half, but i got a 79/100, 10 points above the median score.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 13 hours / week

  • 4kluWNzA+TUcEksL17C2JA==2023-11-28T14:52:40Zfall 2023

    So I wasn't going to write a review but saw the others and am now motivated to do so. I came into this class with a fairly good understanding of ML from undergrad and having published a research paper in the area. The lectures are good for this course but I would recommend supplementing them with a textbook or 2 like 'The Elements of Statistical Learning'. The average grades for the assignments/exams was usually in the 60s. I've done above average or well above average on all of these assignments/exams. What the other reviews say about vague rubrics is true. This combined with the fact that I imagine most students have little experience writing these types of reports explains the majority of the bad grades. What was baffling to me was the number of times the feedback on my assignments stated 'Need to cover X' when I explicitly did so (sometimes even dedicating a whole section on it's own). This clearly shows that at least some of the TAs are not reading the reports thoroughly and just ends up leading to more work for them down the line since it will certainly lead to more regrade requests. Furthermore your grade is highly dependent on the TA you get as there were times where I felt I didn't cover something as well as I should have and didn't receive any deductions. This certainly isn't unique to this class as the same thing happened when I took RL and even happened in undergrad so I'm used to it at this point but it should be something you know going into this class (if you haven't experienced it in undergrad/other classes). I'm not too upset about all these issues though since 1) I'm on track to get an A and 2) This is the first time the new instructor is teaching the course. The instructor has already greatly improved the course by revamping the ridiculous exams to make them more reasonable. Given this I have faith that they will continue to move the course in a more reasonable direction.

    P.S. There's a review further down where a student claims to have faked their data and basically wrote BS analysis that sounded good and managed to get above 90's on each assignment. Sadly as the course has been conducted in the past, and even now tbh, I don't find this too be very unlikely. Make of that what you will.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • bN3vnLn+lzTt0WDrDXTQEQ==2023-11-28T02:35:32Zfall 2023

    I'm on track to get a B. I rated the course a 5/5 but the concepts of ML aren't actually that difficult to understand. My literal day job is a data scientist. I've built models that are making my company millions right now. I completely understand these algorithms and how they are used in the "real" world. The pain, as everyone has pointed out, stems from the oblique requirements. I watched every office hours, combed the FAQ they now provide, and read every slack/ed discussion to make sure I covered what the TAs were looking for. I then spent night after night refining my report for A1 and received <50. I got heart palpitations after that. My entire motivation for the course evaporated. I was pushing hard for an A and to learn the material. Note that there wasn't a single piece of feedback regarding the content of my analysis. No mention of the soundness of my logic regarding my results. Just incredibly vague "could've done deeper analysis". Indeed, the entirety of the feedback amounts to "could've done more of X, Y, Z". I suspect this is because the TAs don't actually read your report and this an easy way for them to justify literally anything when you request a regrade. Because of course you could've done more of something. That is the nature of having finite time and space to conduct analysis. Afterwards, I spent less time, effort, and thought into A2 and got >70. I then incorporated every single piece of feedback from A1 and A2 into A3 and got <60. I legit have no idea wtf these TAs consider a 100. I'm absolutely amazed that there are people making a 100 on these reports. Oh, also the midterm had questions that were not at all covered by the material. It seems like the new instructor combed through scikit learn documentation and picked arbitrary algos to test people on. There was a set of practice questions that had no connection at all to the exam and didn't help whatsoever. I have no idea what questions are going to be asked on the final but I do know that it'll be a complete disconnected mess. A single standard deviation for grades is usually ~30 points! The TAs insist that grading is consistent semester to semester based on statistically equivalent distributions. Of course they are because there is a 30 point spread lmao! Every distribution will overlap in that scenario. Moreover, the quality of the TAs is really revealed through the grading feedback. Some TAs are clearly more knowledgeable and take grading more seriously than others. But in general, its complete luck what you'll receive on particular report. People that received >90 for A1 got below 60 for A2 using similar report writing strategy. Isbell was the dean and that allowed him to get away with a horrible pedagogical strategy backed by troll like logic. Rubrics are well established teaching tools that help the student learn the material. And, importantly, prevents instructors from basing grades on "feelings" because there an established document that they've agreed to. There are clear indications that TAs are throwing out a score and hoping you won't request regrade. My advice, request a regrade. Don't fear the incredibly punitive and anti-student regrade requirements. The current TAs are parroting the same nonsense Isbell spewed for decades to justify an objectively horrible class format. The OMSCS program is full of working adults that are delivering value to corporations and they're being treated like kids who don't know how the real world works. The best advice has already been given below:

    "Don't take this class too seriously"

    Because a serious person didn't create this course, serious people are not running it (otherwise they would pivot from this format immediately), and the graders are clearly not serious about reading your analysis to understand what you're saying.

    I turned in A4 yesterday and fully expect a score between 0 and 100. Yes, you read that right. Its the final report and I still have no idea if what I wrote will pass any muster. Btw, bettermdptools sucks full stop. I spent enormous amounts of time, had heart palpitations from stress, poured myself into reading garbage documentation from niche libraries, and I'm on track for a B because I TA went "hmmm I think this is a 50" and called it a day.

    For instructors, hire better and more TAs. Clearly the amount of papers they have to read is too much per person because there is no effort done to actually read and understand a student's analysis. Also, the quality of feedback from TA to TA is too vast. I'm sure this is the case for grading distribution as well but they will never release that sort of statistic for review by the public. Its clear that certain TAs grade way lighter than others. Again, another problem solved with a rubric.

    Everyone is right. This is among the worst courses in the program. Good luck all ye who enter here. The great unfunny troll has left to another cave. But his mark is all over the course and the blemish can only be remove using dynamite and recreating the whole course anew.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • kMYgqqacF6Lt7DFp2C/soQ==2023-11-27T12:35:09Zfall 2023

    Currently on track for a B. As others have said, this course is only difficult because of the ambiguous requirements, however, the pedagogical methods in the class I believe are great. The entire instructional staff are very well trained in science, and are very present in the class forums.

    I will say you wont have many weekends, and you will feel burnt out at A3.

    I also want to note the dude on here saying "GT is not top 10 CS in US" went on an extremely unhinged rant that was taken down by TAs. He insulted the entire staff, questioning their intelligence, insulted the entire American culture, and insulted his fellow students. Pay no mind to his opinions, he is a sour human being.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • TvHCXn/nv2gzUMufKRR79w==2023-11-25T14:58:56Zfall 2023

    This is the worst course every seen.

    First the class is recorded and outdated. And it is not relavant to the exam. You need to find other resources to pass it.

    Second the grading policy of assignment is a mess. The guidance of assignment just tell you the direction you should do. Like you should analyse the relationship between time and iteration. But even you draw the graph and writing a paragraph about it. The TA will still saying there is "limited" analyse. Nobody knows what is expected.

    Also, they alwasy miss some part of the assignment and give feedback which is not included in the requirement and FAQ at all.

    The TAs are MS students and maybe there is a junior PhD students with really low level and lack of training. Sometimes they are irresponsive and sometimes you can not understand what they are saying. This is the worst class I have ever taken in my life. I really do not think GT is one of the top 10 schools in CS in America.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • q6trpxTPsHBgDOfX/ZnYUA==2023-11-24T02:23:48Zfall 2023

    This course needs a lot of improvement to stay as a required course.

    First of all, the lectures are outdated. The professors try to be funny but really they do a poor job of explaining the core concepts in machine learning. Too many concepts are being taught at once and everything feels like it's being crammed into a ML course just to make it comprehensive per se.

    Secondly, the assignments are graded poorly. There's no transparency in the grading structure. You spend a lot of time wandering on Ed, interpreting what the TAs wants other than actually writing and learning about machine learning code. Grading has been delayed multiple times throughout the semester. This is especially frustrating for working professionals because we have to plan the assignments around our busy daily schedule.

    I do not recommend this course. There are better ways to learn machine learning other than taking this course. This is painful. GT should either improve this course or stop making it a requirement.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • dMm1haDMXeUZVEfruQPYOQ==2023-11-17T04:47:48Zspring 2023

    Challenging course, best advice is to not overthink the assignments. Overall I learned a lot and it changed the way I think about ML. It was my first class and I pushed too hard for an A.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • TvHCXn/nv2gzUMufKRR79w==2023-11-08T05:24:30Zfall 2023

    Worst class ever seen. Too much meaningless workload. Weird grading. Refuse to release the grade policy. I think they grade by their mode.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • ijwyo+lHyowSh99JVOv5Ig==2023-11-03T23:13:03Zfall 2023

    Dr. Isbell is gone but his stain is still all over this course. Terribly unoragnized, outdated, and superficial. The lectures are full of nonsense banter coming from two people who love to hear themselves talk and laugh at thier own jokes. This class is in desperate need of an overhaul. Avoid this class if you can.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 32 hours / week

  • pU0LST5DrmwZL3BC26FbGA==2023-10-30T21:55:42Zfall 2023

    Grade expected: B+

    The course format is disgusting. The ONLY reason this class if difficult is due to how they obfuscate instructions. It'd be about 3.5/5 difficulty if they didn't obfuscate instructions.

    About half the time in this course is spent searching for instructions in handouts/forums/office hours and combing through your code/report to check off each instruction. The other half of the time is spent learning ML. Due to the massive waste of time on instruction compliance, I don't feel like this course actually covers much machine learning for it's workload.

    In other words, the course covers n concepts with a time complexity of O(n!) because students must repeatedly rerun their code for each hidden requirement they missed due to the instructor's poor written communication. However, they could cover n concepts in O(n) time by simply including the X required charts and Y required metrics in the initial handouts instead of hiding them throughout the course.

    Regret class. Wish I took AI instead, so that I'd at least learn something for my effort.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • jmfiFcAgrIkA21mM7HP3og==2023-08-11T19:36:53Zfall 2022

    I wanted to write this review once I was done with my masters program so that I could understand where the ML course stood in comparison. This was my first course in the program and I had to ramp up quite a bit on python/probability to get myself going. This course is a foundational course for specialization in ML , for a reason. It covers a vast range of topics and has a lot of breadth which could also mean that some topics might need more digging. Some Dos and Donts that I can suggest for future students : Dos

    It will help with a pre-preparation in Python and Probability in general. Go through all the video lectures but take them more as guidance and use it to dig further either in books or other online sources. There are some online sources that explain certain topics really well and one should use them. Do all the assignments without fail . See if you can be part of a study group.


    Dont get setbacked by any exam grade or any assignment grade and keep chugging along.

    This course is supposed to grind you down but then it also has basics which come handy in other courses like RL/DL/AI.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • baNGNg8RAfqQOInsZqb6Pg==2023-05-18T03:25:57Zspring 2023

    Fun course. Assignments are very open-ended so it can be difficult to know where to begin. Prompts for the assignments pretty much just tell you roughly what to do and expect you to find something interesting to write about. My initial strategy was to just start playing around with the algorithms/datasets and try to find something interesting. A better strategy is to begin by researching the algorithms heavily and go into the assignment with a good understanding of each of their pitfalls and caveats. Start experimenting with a good idea of where you get interesting results with each of the algorithms as opposed to blindly experimenting and hoping you manage to find something interesting.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 19 hours / week

  • DTG5zt0goEu1YWof6DKxUQ==2023-05-16T02:35:13Zspring 2023

    The course videos are difficult to understand. The two professors just chat with each other and at times it is hard to follow. I learned way more by watching the Q-learning videos from ML for Trading course. I suggest Dr Isbell to go and watch Dr Balch's course lectures for ML for Trading to learn how course lectures should be done and to redo the entire course videos.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 35 hours / week

  • DTG5zt0goEu1YWof6DKxUQ==2023-05-16T02:27:05Zspring 2023

    Before I start, I'd like to mention that I got an A in this course, so anything I write is not because I am upset about my grade. However, if I could go back, I would change my specialisation to AI just to avoid this course. This was my fourth course and it was the worst. It is very poorly designed. The course videos are terrible. You sometimes think Dr Isbell and Dr Littman did not prepare for the video and they just arbitrarily say things they remember from the Mitchell's book. There are moments they make mistake and correct themselves multiple times (really? can't you just re-record the video?) that makes it very confusing. Dr. Isbell's comments on Ed are also condescending and rude. This poor design of the course leads to so much time being wasted from the students. I do not recommend this course.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • uP+rQXzxAZtsrsGopBoU4A==2023-05-09T06:10:43Zspring 2023

    The course material itself was not too difficult, but the banter between the two professors made it challenging to understand at times. I still managed to get an A grade, though.

    In spite of my dislike of the format, I appreciate everything that Dr. Charles Isbell has done for the OMSCS program and us. Wish him all the best in his new role at UW-Madison!

    Rating: 3 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • e0KUjdqAVcl35UfRdTIymQ==2023-05-09T02:56:20Zspring 2023

    I didn't particularly enjoy or dislike the course. I came in with a goal of getting a B on the 80/20 rule and that's exactly how I walked out. Some projects were more difficult than others but there wasn't one that couldn't be done in half a week. Of course, your performance will be higher if you start earlier. The opportunity is certainly there for those that want to learn ML at a competitive level.

    Didn't do too much to prepare for exams, I watched the lectures on 2x speed and reviewed or chatted with ChatGPT about some aspects. I scored right on median for both. The class is heavily curved, a 53% on the final exam was median.

    All-in-all I found RL more interesting. It was a smaller class and the projects and lectures were, in my opinion, way cooler.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • 9fCBAbPexj2fyIKTPG7vNQ==2023-05-05T06:48:34Zspring 2023

    The worst ML course I have taken in my life. (I have taken several ones at CMU, Gatech, and some other online sources like cs229). I strongly advise against taking this particular course as your first one into the field. And I don't think the ML track at Gatech is a good path (I also heard bad feedback from the computer vision. However, the computer vision and deep learning at CMU are super duper and lead in into the world of ML.)

    Here are some points I don't like about his course:

    1. The lecture covers a wide range of topics, but not deep enough. I don't think it provides the necessary knowledge for students to gain a strong understanding.
    2. The projects are time-consuming and tedious. A lot of redundant work are required. It can help you think and analyze to learn some knowledge, but wastes too much time.
    3. The grading is awful. For projects you can get low grading for no reason. I spent similar efforts for projects, and fulfill the requirements in instruction one by one, but can get up to 30 points difference. But I feel bad for the TA, as they have to read the long boring 10-page paper. And lots of the things inside can be not exciting at all, just as when I write them.
    4. As a required basic course for the ML track, I believe it is unacceptable that the course wants students to import libraries for all ML algorithms instead of writing their own code. This approach may be suitable for a higher-level course, but not for a foundational graduate-level ML course. Writing code is crucial for students to gain practical skills and knowledge and start the career as MLEs or SWEs. Just as a metaphor, it is ridiculous that you only need to analyze programs instead of writing them in your Java/C++/Python 101 course.

    Personally I don't think this is an effective and interesting ML course. I really hope Gatech can remove it from the required courses to graduate.

    For us students who have to take this course, here are some advice:

    1. Choose your data wisely for projects. As simple and straighforward as possible. Don't make your problem hard, regarding to pre-processing, drawing plots, and etc.. Try to make the analysis stand out.
    2. For exams, do questions with more points first. Time can fly really fast in the exam.
    3. Seek help from others, and keep a good mood. Don't be bothered by the grade.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • S78RS7R+u7f4F2O2XdfQuw==2023-05-03T19:55:52Zspring 2023

    Overall, I learned a ton. It was difficult, but certainly fair and not impossible. Expecting an A. Grades: A1: 100%, A2: 95%, A3: 78%, A4: ?, Midterm: 41%, Final: ?.

    I don't think I'm an overly smart person. This was my 8th course though, and I've taken a bunch of other ML stuff (ML4T, AI4R, AI, KBAI). I definitely over-anticipated the difficulty of this course based on the reviews. It's not too difficult, but you definitely DO need to do the work. Study. Read. Understand. Plan your coding carefully.

    What I did to succeed:

    • Read through all the reviews on OMSCentral and took notes
    • Listened at 2x speed to the Office hours (usually the first hour of the ones he talked about assignments; ignored the others); wrote down everything they said then condensed it. They tell you all their expectations very clearly so this whole "hidden rubric" complaint is kinda dumb (maybe they're just much clearer now).
    • Wrote a lot of Python code to make my life as easy as possible (Python; Jupyter notebooks to auto-generate a ton of different graphs in different combinations of things I needed). Made it as easy as possible to explore / play around with different algorithms and hyperparameters.
    • Used LaTeX with 2-column IEEE formatting for very nice looking reports
    • Keep notes while you are experimenting of interesting findings because there's a lot going on and you will forget
    • Give yourself at least 3 full days to compile the report.
    • Try to keep up-to-date with Ed (forum) because people will discover useful modules / libraries that will help you succeed.

    What I highly recommend NOT doing:

    • Trying to just copy / modify ChedCode or any other pre-made code for this course. This isn't just advice to "avoid getting caught for plagiarism". This is advice that spending too much time looking at that crap will greatly defeat your ability to understand the material and the assumptions going on. It's fine to glance at it once or twice to see how certain methods are called, maybe. But there's a lot of assumptions people make when writing code, and it's important for you to realize these assumptions on your own. It's very important to the learning process, and gaining understandings of what you're doing. What matters in this course is the understanding part, and being able to write out that understanding nicely.
    • This doesn't mean you shouldn't review other codebases for ideas: but it's much much better, easier, and faster in the long-run to write your own code. The libraries that exist for these materials are extensive and easy to figure out.

    What I don't understand:

    • The hatred for this course. Honestly, the instructors enforce learning. It's designed to grind you. You need to put your head to the grindstone. I think the hatred comes from people who have expectations that learning means implementing existing algorithms in Python and running them against an auto-grader. That's not this course. Sorry.

    The TAs and instructors were incredibly polite and kind and respectful. No bad experiences from my perspective.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • nub3PuFS5hQamHCj06AlaA==2023-05-03T04:53:35Zfall 2022

    Machine Learning (CS-7641) is like a colonoscopy. I know that sounds terrible, but stay with me - I'm trying to make a serious analogy. This course is like a colonoscopy for four reasons:

    First, it is necessary but painful. What you learn is essential but the process is not much fun.

    Second, the course is training you to be a doctor - not a technician. You will not be taught how to perform the procedure, but rather how to treat the patient. You will learn the inner-workings of the technology, how to interpret the results, the strengths and weaknesses of alternatives, and how to optimize the outcome.

    Third, the TA's are the nurses. There will be many moments in which you will feel stressed and anxious, and you will contemplate quitting. Many students do quit! The TA's will be there doing all the thankless work, but their primary job is to take care of your mental health. They are the ones who will be patting your hand and reassuring you that everything will be OK.

    And fourth, like a colonoscopy, the course starts off a lot worse than it finishes. If you can get over the truly awful midterm and past the first three mind-numbing projects, then you might even start enjoying yourself!

    Rating: 3 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • 5AsRNx90ZPAS1MjLrgnEEQ==2023-05-01T12:27:46Zspring 2023

    I'll summarize this as follows:

    1. Watch the recorded Office Hours. That's the only way you will know what is expected/required for the project reports. The instructions on the official assignment page do not mention any rubric or specific info on what is required.

    2. Projects: Start early. Don't waste too much time on picking datasets for projects. Pick widely discussed ones from reddit. Start the report early. Learn how to plot numpy subplots to include 3 or 4 figures in a row and multiple columns to save space. Or use online tools for quickly combining images of the plots. One can change the font size in their JDF to meet the page limit. The TAs are not that particular about the report formatting.

    3. I felt the assignment 1 and mid-term are graded unnecessarily harshly to make more people drop the course. So put more effort into them. Do not get disheartened by poor grades in A1 and mid-term. You can still recover decently to secure a B. Or even an A.

    4. Do not expect to learn much from lectures. Need to read notes and also look at lectures and supplementary reading.

    5. It will test your self-learning and self-motivational capacity. There is no spoon feeding. They do not answer your questions on Ed or Slack directly. You are mostly met with sarcasm. Use the supplemental readings. It's all about getting used to this.

    6. Start early and take notes when watching lectures or studying from notes.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 24 hours / week

  • /AYno5q+5GPR3+XWWOtdTQ==2023-04-25T20:36:26Zspring 2023

    Background: 3+ years working in Defense + several FAANG companies both as a software engineer and ML engineer.


    The class is incredibly flawed and has some really awful problems but you'll still learn a lot, more than you think. Expect to work anywhere between 15-20 hours a week for this class. I highly advise pairing this with something like InfoSec or AI & Ethics since those classes tend to have forgiving workloads that complement this one. It's got some redeeming qualities but it almost made me reconsider the ML track from how brutal the workload could be some weeks and the course's bizarre structure. I think a majority of the criticisms of the class are valid but also many are unfair statements. The problems boil down to vague assignment descriptions and an incredibly strange emphasis on grading based on a hidden rubric. Keep in mind I love to complain and nitpick so take this review somewhat with a grain of salt.

    Tips for future students:

    • Start as early as you can on assignments, if you're taking more than one class, try your best to prioritize this one first because it will definitely overwhelm you the more you leave it off.
    • MOST IMPORTANT: When doing the assignments, think of them as three parts: the data, the algorithms, and the result. The goal of your paper is to try to use the analysis to tie all three together. You're graded almost entirely on the analysis, do your best to connect the dots. Your graphs do not count as analysis, your results are not analysis, and you explain why putting the data into the given algorithm produces the result IS the analysis. How do you write this out? Pose things as questions then answer them. You need to justify everything you do. don't skimp on explaining.
    • Watch the office hours and read the Ed Stem posts
    • Even if you do poorly, don't give up, this class is a war of attrition.
    • Reading the book is stated as required but you could pretty much get away with just doing the lectures and problem sets for the midterm and final. Don't feel compelled to memorize the most nitty gritty things because most of the time they're looking for something fairly specific anyway that you most likely won't remember.
    • First portion of the class is for Supervised learning with an assignment where you analyze two datasets, next portion is unsupervised learning where you do randomized optimization. The final portion is Reinforcement learning. Make sure you pick solid datasets for the first assignment since they're also used later on for other assignments.
    • Just use the Joyner Format template for your assignments, it's the easiest to use.


    3/5 for the rating because the class just wasn't for me teaching-wise, I think you would like the class a lot if you like writing reports and making plots. I really enjoyed how much critical thinking is applied but I disliked how much time is wasted on other things 4/5 for the amount of needless busy work and the amount of impracticality in the assignments.



    • You will walk away with a very strong foundation in ML knowledge, if nothing else, this class will challenge you to understand and apply core concepts in creative and unique ways. That is a quality of the class that I think is actually really amazing, even as a guy who thought he knew the foundation of ML, there was quite a bit in here that I picked up as new material. I've worked a lot in the industry and a lot of the foundational understanding of ML taught in this class is actually pretty relevant.
    • Lectures are bite-sized and you can honestly knock several sections out in one day with good focus. I actually found the lecture material to be alright considering it's supposed to be a high-level overview of the material, there are lectures that are straight-up bad though.
    • Assignments will challenge you to do proper analysis and highlight things. The professors don't expect you to code the algorithms from scratch which is a plus, but in return, you write unbelievably lengthy reports and analyses.
    • The curve for this class is way more forgiving than the professors let on, even if you know with 100% certainty that you're not going to pass, just stick it out, miracles do happen. Pretty much just give it your best shot and you're virtually guaranteed a B.
    • The TAs were quite helpful, other reviews talk about them being condescending talking down, or being unhelpful but I didn't see any of that this semester. The head TA Daniel, in particular, was very helpful.
    • The tests are fair, you'll definitely be challenged and are expected to know the high-level concepts for all the major topics you study. I saw maybe two questions out of maybe forty on the final and midterm that I felt were fastballs that most people (including myself) wouldn't be able to answer. I felt like the time given was kinda short for what they gave (90 minutes for 17 questions that are short answer form) but I didn't feel the need to rush. While I ultimately failed the midterm I still felt like it wasn't totally rigged. I will go into detail in the cons section on what the problem with the exams is.


    • Grading for the exams is a whole other ballpark. While the questions asked were fair, I think maybe there needs to be more specifics as to what they're looking for, or maybe ask questions that aren't so open-ended. I did really poorly on parts of the exam that I genuinely thought I answered thoroughly and concisely but maybe that's me just thinking I know more than I actually do.
    • For some reason, Professor Isbell has this weird approach to interacting with the class. He always responds in witty/cute responses which makes him come off as kind of mean. A lot of students don't read the instructions or FAQ so I can definitely understand how he (and the TAs) might be frustrated. A lot of students ask questions that are already answered in pinned posts or FAQs.
    • Assignment descriptions are ambiguous and sometimes you'll feel like you were scored poorly for something that wasn't apparent to begin with. This is one of the worst parts of this class that make it really hard to do well. In a sense, this is amended by the curve but if you watch the office hours you get a better idea of what they want. You'll often struggle to know how you're gonna start the papers and how you'll code the assignment. One thing that is especially egregious for a graduate-level course is the fact that there are mandatory graphs that aren't explicitly specified that are required. You need to go to the office hours to get more details about this.
    • Be ready for a lot of explanation and analysis in the assignments. This is what I would say makes the class borderline unbearable. So much of your time is writing and constantly having to generate and get metrics. They encourage you to use outside code for the assignments but it's still a lot of work to set up and get things going. Someone else in the reviews here said this is an English class and as funny as it sounds, it really is. If your analysis is spot on you're pretty much guaranteed a B in the class. This is upsetting because if I spent 20+ hours working on the code to get there I get no credit. Be ready to generate around 8-12 plots for each assignment where you'll spend the majority of the time taking out and putting in different algorithms because your results weren't "interesting" enough.
    • Grading is harsh, and I mean HARSH, they will scrutinize your work for everything because ultimately this is a report writing class. I understand there is actually a hidden rubric and it is based on the assignment descriptions but based on the point earlier about vague assignment descriptions, you have elaborate on everything you're doing. I had a nightmarish time getting things right as a result because I'm not sure how much and what kind of analysis is being asked for, and was dinged points for the most insubstantial garbage. I had this same exact problem in Reinforcement Learning with the same professors where the assignment feedback was something along the lines of "Analysis didn't have enough justification" without enough to work with. This ruins the fun of the assignments and I deliberately wanted to finish as quickly as possible because once we hit the 3rd assignment it was just unbearable.
    • In regards to feedback, the TAs and professors say that you'll want to integrate the feedback from previous assignments into future work, but this doesn't apply in practice when the grading for assignments comes out 2-3 days before the next assignment is due. If they actually expect you to do so, then they're out of their minds.
    • Most people are going to have varying workloads for this class based on their backgrounds, with all my experience I was still putting in 15-20 hours a week. This is mainly due to the insanely long reports you need to write as well as the necessity to generate graphs. Assignment 3 in particular is brutal for how many combinations of graphs there are to generate and the amount of metrics and other things you have to examine. 4 feature reduction algorithms, 2 clustering models, reintroduce an old model from assignment one, have graphs for 16 different combinations and also compare and contrast. You do get to pick what you wanna highlight, but it's still pretty overwhelming.
    • There are times when the lectures just don't do a good enough job of explaining things, this is a result of trying to frame the problem in a cutesy toy problem but it ends up getting muddled. I have to say MIMIC was really poorly explained in the lectures, this is one where I have to give both professors a big L for doing a great algorithm such a disservice in the EdStem lectures. While writing assignment 2, I had to pull from multiple papers written by the professors to actually figure out how the algorithm works because even the high-level explanation they attempted did not do a great job.

    SERIOUS SUGGESTIONS FOR IMPROVING THE CLASS (and a semi-rant): Please, Dr.Isbell, I know you (or at the very least someone from your instructional staff) read these reviews, this is an earnest request to seriously consider restructuring the class using some of the suggestions provided below.

    • One of the most damning things about this class is that pre-processing isn't covered in any meaningful way in the class. I'm absolutely baffled why you wouldn't at least have a basic set of lectures covering the core of pre-processing and why it's important. Things like codifying your columns, scaling the values, normalizing, etc. A majority of the work of data science projects (particularly the ones in this class) are setting up the data pipeline and adjusting them so that they can fit ML models. Even the infosec class I took this semester alongside machine learning had an entire assignment dedicated to just that. If you're argument against this is "People will learn that naturally as they work on ML projects" that's a pretty bad justification for not including it. I understand this course is already packed with an insane amount of information so I can see why they might not have it, but at least have some articles or something so people know that they're not going crazy. I saw many edStem posts talking about data and how to handle it and I thought many of them could've benefitted from this.
    • High-level overview lectures should be just that, high-level. There were many lectures (particularly in the latter half of the class) that I felt like just were incohesive because the lecturers had to write out the proofs that made something that was already clear, completely incohesive. If you tell us to read the book and they already have the formulas, have faith that we're going to do it or just assume that we can operate without it.
    • A common justification I hear from people who take the class and the instructional staff when someone complains about the vagueness of the assignment is "Why didn't you just watch the office hours if you weren't sure what to do?" (paraphrased) <- The problem with this statement is that everything they said in the office hours should've just been in the assignment description, like literally word for word. I watched every single office hours to get direction on the assignments and would still get bewildering remarks on my grades. I got all the feedback after assignments were due saying that I didn't include certain things that they would've liked to have seen but I'm not sure how it doesn't match what they describe. I understand how nuanced this is so it's not really solvable but ultimately it's a symptom of the open-ended assignment design. I can't say I'm faultless here, I'm sure I wrote some bad sections for sure, looking back I definitely could've spotted some bad writing if I spent a bit more time reviewing the submission, but sometimes there's just not much to say in general in the assignment. If a model performs poorly on a dataset and it's a pretty basic model, I can only stretch so much information to make it sound like extensive analysis before it becomes redundant.
    • To follow up on the above point, fix the assignment wording, specifically for assignment 3. There were multiple things I got penalized on because the wording of the steps gave me an entirely different impression of what was expected. This is including watching office hours, that's how confusing some of the steps were for me. Once again, vague assignment descriptions need to be fixed.
    • Most of the students intend to pursue ML career positions and many interviews in the field are based on practical knowledge about how you handle specific scenarios with data and explaining why you would use certain models over others in particular scenarios. They want to know how you handle edge cases, and how you think on your feet. They'll parse your experience and try their best to pick at the cracks in your responses to see if you know your stuff. This class definitely prepares you to explain why you would pick certain models for certain problems, but it lacks so much practical application with real-world problem problems these models are used for. Models rarely, if ever, exist in a vacuum, they are almost always part of a pipeline where things like latency and model size matter A LOT. I think the idea of picking a real-life dataset is a great way to begin helping students get a grasp of how to answer these questions, I like the analysis making you think critically about how the data and the algorithms interact with one another and asking questions about the model and latency are both huge plusses that I rarely see in other MOOCs I've done. That's applicable experience, but if you can't explain how it fits in part of a bigger system, then you just lose the opportunity.
    • I don't understand who this class is for, if you're an ML engineer, there are a lot of things it lacks that you need to pick up on your own, which won't come from working on the assignments in this class. If you're a data scientist, great, you're going to know how to write a report and make basic visual plots that aren't industry standard. It's great that there's an emphasis on comparing and contrasting things in assignments, but the wrong impression is left on where a majority of the work is focused.

    This is pretty negative so far, so here are some things I will give credit for:

    • I actually feel really bad for the TAs when it comes to grading, I remember hearing somewhere there's one TA for every fifty students. Assignments in this class go about 10 pages on average, so they have to grade 500 pages worth of student-written content every 2-3 weeks based on how assignments get released. The TAs work a thankless job getting paid barely above a living wage to try and manage an unreasonable workload on top of their classes, I would honestly cut them some slack. They do a great job replying to people (I should say pretty much only Daniel since that's usually the only person I see respond to students outside of Professor Isbell).
    • Responses from staff and other students are quick, everyone in the staff is super helpful to try and answer questions (even if some of them are sassy). Dr.Isbell is not at all antagonistic in any way shape or form. He's pretty nice and really does give me the impression that he cares about the students learning something.
    • There's some self-insert material from the professors in the course. I actually found it really cool that we get to study published work with the same professors, both professors are incredibly accomplished and it really shows how much work they've published.
    • The lectures are fun to watch, those never felt like a slog (even at the cost of many other things described in this review). Even though the lectures are a mixed bag, the good lectures are VERY good, and can really help give you context on things that you didn't think you'd get.
    • To address previous student reviews, I feel that some of the criticisms the class gets are unwarranted, but a lot of the complaints and criticisms are definitely coming from a genuine place. I really do feel like this is more of a problem with the amount of material there is as opposed to how they teach it. When you think about how many concepts they cover in one semester it's kind of bonkers. If it wasn't for the boring, impractical assignments, you actually cover a huge berth of ML that'll be foundational to understanding other concepts.
    • If you ever go into Defense or Research, you will have a really solid idea of how to write papers. This is the most ideal class to take actually if you ever wanna go into those fields.
    • Even with all my experience I still learned a ton of new stuff, that speaks to the breadth of some of the teaching material, even if it wasn't necessarily from the lectures themselves, the exposure to the topics I saw was pretty cool.
    • Exams are fair, which is really rare for a course like this, it usually either goes too easy or too bonkers.
    • Allowing students to use whatever tools they have to make the reports is really cool of them, they could've easily pigeonholed everyone to use the same things, which they didn't. I think this is a great thing and more classes should do it on broad topics like this.
    • Problem Sets actually do a decent job of preparing you for the midterm and finals, they're always doing and reviewing. It gave me the right mindset on what to expect.

    Final thoughts:

    This class really makes me NOT want to recommend the ML track to people entering the program. I did learn a lot and I really had to push myself hard to get through but it's honestly the worst class I've taken so far in terms of how much stress it's caused me and the risk/reward ratio. It's at best, a really bizarre tedious class where you learn a lot, and at worst, an awful confusing slog through some of the most difficult topics in computer science and mathematics. Is it a bad class though? I wouldn't say so, I just don't think the class style is for me. It's terrible in a lot of ways but it really does push you to think critically in the assignments which is one of the biggest strengths outside of the breadth of material. Ironically, I think the class is mostly good ideas balanced with terrible execution, I learned so much while in the class but I can't help but feel the approach was entirely sink or swim. While I think there's a lot to like about this class and a lot to learn, it's so unpolished and is such a slog that I feel like I really could've learned a majority of the material on my own in half the time. Yes I know, hindsight is 20/20 and everyone on the internet is a genius outside of the class, but there are problems when even the Head TA openly admits during the first office hours that no one should take another class with this one. I had an insane amount of anxiety because I honestly didn't know where I stood most of the time. A part of me understands that the material itself is inherently difficult, there is a lot of complex information that you need to know to actually understand the algorithms and this is Georgia Tech after all, the expectations are high, but this is unnecessarily padded out for the sake of 100% completion. If we want to make a fair comparison, the MIT OpenCourseWare class has a much better-streamlined way of teaching you the material. The lectures are as thorough as they need to be and there's no additional BS associated with the course itself. The last assignment I almost couldn't finish because the thought of having to generate another set of plots and make proper analyses and justifications made me roll my eyes into the back of my head. I've had experiences where I had to present scientific results in front of a crowd consisting entirely of PhDs and have them scrutinize each part of my work, I would rather do that again than write any of these reports. Believe me that I have no problem with a lot of work, many of the other classes in the program definitely make you feel the heat but I enjoyed it when I was actually challenged with an interesting thought problem, not extensive busy work.

    I feel evil writing this much of a critique over a single online class but the catharsis I've internalized over this semester made me ask myself what the hell am I doing in this program? This honestly has the foundation to be an amazing class, if the fluff is cut out then there's room for this to be one of the best classes in the program.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 19 hours / week

  • kvPa6la34yWHjWl74L9X9g==2023-04-22T18:25:40Zspring 2023

    Aside from the usual recommendations (i.e., start report as soon as they're released, go to TA office hours, etc.), I'll add the following:

    • Read formal research papers currently published in conferences. Just google on, or search around reddit for some papers in fields that interest you. The content doesn't matter, the tone/presentation/approach of the paper authors matter quite a bit. Aside from something that a grad student should be doing if they're interested in academia, if you can learn what paper authors care about, what they present, and how the information is structured from these research papers, you'll be in much better shape than going in blind. ML4T, in fact, prepares you for this to an extent as that course explicitly tells you how to format/structure your writing for their reports (which can be carried over to ML).

    • Latex/Overleaf, learn it. The amount of time/energy/pain going into formatting papers with the results/plots you'll need to post should be negligible. Using research paper formats to abstract away the tedium in adjusting font size/plots/etc. gives you more time to worry about writing your analysis.

    • The 20 hrs/week workload that myself and other students experience is a bit of deceptive. The actual analysis, studying, and writing takes all of 10 hours a week for me personally. The other 10 hours (or more) comes from finding good code bases, splicing code to produce plots you want, hyperparameter tuning, and waiting as your computer crunches numbers to produce results. I've written much of my analysis in the last 3 or 4 days up to the deadline because of this, and that can be painful.

    As anecdotal evidence, I've received high marks by doing this and am currently on track for an A in the course.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • ijwyo+lHyowSh99JVOv5Ig==2023-03-02T00:13:12Zspring 2023

    Assignments: The assignments require A LOT of work, and their focus is to develop your analytical skills and ability to interpret the behavior of your models. My only gripe is that the grade is heavily weighted by the thoughtfulness of the analysis and not the 80+ hours of prior work required to get there. It is true the rubric is vague and you will have to scour ED and attend office hours to get the complete picture of what is expected.

    Exams: I have never seen exam questions that tested your understainding of the material so well. Bravo to those who constructed them. However, you are left with very little time to answer them. The professor claims this is "to distinguish between the A and A+ student," but what it actually does is distinguish between A+ students who are very fast vs. everyone else. In other words, if you're an A+ student who is a slow processor/typer, then you will nevertheless fail the exams, especially the midterm.

    Lectures: The lectures are high level, superficial, and rife with unnecessary banter from the instructors. If you want to learn anything of real substance, then read the outdated textbook.

    Professor/TAs: The professor is clearly knowledgable. Unfortunately, he interacts with students in a way that is easily interpreted as condescending, with an empasis on being intellectually cute rather than helpful. I'm not exaggerating when I say his responses are often curt and somehow never fail to highlight your inferiority. I do get the feeling he quietly chuckles at how clever he is every time he responds to someone on ED. The TAs are way more helpful, but his persona rubs off on them as well.

    If you don't need this course, then don't take it. Read a book and do some Kaggle challenges instead. If you specialize in ML, then you will have to take the course. Read the textbook thoroughly; get started on all assignments way early; and after every exam allow yourself to have a good cry. You'll be okay.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • LoMRg6TqRJ3sWHkzMBY17Q==2023-02-13T18:57:10Zspring 2023

    My review is just another reiteration of many other reviews. The class structure was disappointing, with nearly worthless lecture material and vague assignment requirements. Completion of assignments did not result in any practical knowledge or growth. Instead, menial aspects of assignments were emphasized, such as correctly naming files. Much of the workload consists of reviewing repetitive discussions, seeking external references independent of anything mentioned in the course.

    Instructor responses seemed to be structured to prioritize being cute or witty as opposed to constructive feedback: 'This course is a meta analysis of machine learning', 'Your conception of grading is overfit', etc. While none of these types of responses were ever directed at me, I found them distracting and discouraging.

    I've been thoroughly enthused with my experience in OMSCS to date, but my experience with this course has certainly dimmed my position.

    Rating: 1 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • U08vEmPO9I6wVcUmKBnNtQ==2023-02-02T00:29:41Zspring 2023

    A horrible class. The most condescending teacher I have ever had at any level of my academic career. This class alone is not worth the ML specialization and I will be changing my specialization for the sole purpose of never having to interact with this teacher or this class again. The assignments are all these "big brain" style assignments that are arbitrary in the grading mechanism. I can go on and on but its not the material that makes this class unbearable its 100% the teachers and the assignments. Take at your own risk.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 23 hours / week

  • zDItZBTNIhVmIEEic0jcsw==2023-01-10T15:35:33Zfall 2022

    This is the most unstructured, planned exploratory class in some regards which some students would love and others mayn't. I am in the later bucket. For starters. I scored a solid A. This class has a tough curve i.e having a cumulative score >= 66-68% has a very high probability of ending up with "A" grade. I scored 84%. Reason I mention that is to remove any attribution of why I disliked some aspects of the class structure to how I fared in the class.

    Cons: Class assignments are 1 pager. That's all one gets as instructions. Rest one has to figure out from office hrs and fellow students and questions in Piazza/ED. This is so inefficient esp because TA has to repeat themselves in multiple office hrs the requirements of assignments. I don't know why assignment instructions can't be expanded to include all that matters. Students would still ask for questions but many like me don't have to take running notes of office hrs and we won't need long office hrs (>1 hr). This is my biggest gripe. I have to sit down listen to recorded OH where 60-70% of it doesn't matter (noise) but the fear that I may miss something important, I force myself. It certainly improves ones' listening skills !

    Midterm and FInals. Both the exams are tough except for Finals has more time for the same number of questions as in midterm. SO Midterm in that regard is even more challenging if u aim to finish it. I bombed midterm partly due to technology issues but I learned my lesson and paced well for finals. Also finals has twice as much time. I don't understand why limit midterm to only 90 mins for the kind of questions we have when Prof himself acknowledges that its a challenge to finish it. IF the aim is to know whether students know the concepts or not, give enough time to answer the questions as it's never True or False.

    Finally assignment datasets are open ended. So for newbies of ML, one would sweat if our dataset results are going to be interesting enough to talk abt in the reports. Reports is everything by the way for assignments (Which I thought was absurd but I think I understand why it's not a bad thing as classes focus is not the implementation details but analyze the results)

    Pros: Now I don't want to give the impression that all is bad with the class. The lectures /videos are fine but I relied on some AI and CV lectures as well ( Bayes and PCA) that have better explanations. One upside to having the assignments so open-ended is u are forced to pick different datasets and try out. This builds some perspective on how to handle different datasets or avoid certain types of datasets. It forces students like me to get out of the comfort zone of a structured and yet a hard assignment. One has to get used to "The lack of structure". If u are ok with it, U would love this class.
    Assignment reports look for through analysis of what worked what didn't why it worked and why it didn't. That really opens us up to think critically. It's not simply coding and generating results (good or bad). Even good or bad results are subjective and require reasoning.

    Finally, I like the exam content and how they challenge us to think out of box. Just the complain was why artificially limit the midterm duration to only 90 mins.

    Conclusion: U would learn a lot in this class and it lays the foundations of ML well. One needs to go in with an open mind and work through it. I feel, I now know a thing or 2 abt ML not some superficial words thrown around :). Would I still take this class? Yes

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • +hugBIUtrUsUh05/ug49XQ==2023-01-08T07:13:48Zfall 2022

    I thought this was a great class and it doesn't deserve the criticism it often gets.


    I would rate the lectures as good but not amazing. I personally liked the back and forth between the Prof Isbell and Prof Littman. They try and introduce the concepts from the ground up and provide the intuition behind different algorithms. However sometimes this is a little hard to follow and feels quite non-linear. I did find the Mitchell textbook fairly useful though so would recommend that to get a more straightforward introduction of the topics.


    The coursework is 4 written assignments describing the outcomes of some experiments you ran (typically applying some algorithms to some data). They are open ended which I personally liked, and really force you to use your brain and think about what you are doing, and why you get the results you do. The assignments directly follow from the lectures, so you are made to really understand the material, which also translates nicely to the exams.

    The assignments are a lot of work and probably why this class is considered one of the toughest in the program. They take a lot of time because you have to run lots of experiments. I did pretty well in them (96, 85, 94, 90). The key is pretty much exactly what the assignment descriptions say - look closely at your results and try and explain why they are happening. The 'why' is the crucial part. In many ways I see this as a class in data science. It is about creating hypotheses, running experiments and analysing results. I think lots of OMSCS students come from engineering backgrounds are used to building things (as opposed to analysing) and having their code auto-graded. This class is nothing like that and one reason I think some people tend to struggle.

    Another common complaint is about the 'hidden rubric'. I partially agree with this. The open-endedness of the assignments does generate a lot of Qs, which leads to a lot of discussion and clarifications from the Head TA on Ed about approaches. This can be useful to monitor, however doing so takes a lot of time. If you're working full time and don't have hours to dedicate to scanning the OH threads on Ed, this may get frustrating.

    However all that is actually required is i) read the assignment description and ii) watch the 15 mins overview at the beginning of the OH where all the requirements are outlined (take detailed notes!). If you only do these two things only, you should be okay and can probably block out the rest of the noise. For the most part I don't think the rubric is hidden and this is evidenced by students who do consistently well across all assignments. The key is to read the assignment description and listen to the OH carefully and do exactly what is described.

    Something I really liked is that the assignments are marked by TAs. In other 'analysis' type classes this is often done through peer review which often ends up being a bit meaningless. You get detailed feedback and can use this to improve over time.


    While the assignments test your empirical skills, the exams test your understanding of the theory. I did a lot worse on these (52, 53.5) though these were still around average for the class. I think the key thing here is to make sure you understand the lectures and the answers to all the quizzes. I sometimes see people recommend that you brush up on maths (stats, linear algebra etc) before this class but the maths is fairly minimal. Sure there are some equations, but neither the exams or the assignments require you to remember or really understand these.


    Overall in terms of learning this is easily the best course I've taken in OMSCS so far, and the course design I think is excellent. I would absolutely recommend it to anyone who wants to work in ML.

    Having said that, it is also a lot of work and quite stressful. If you're a computing systems person who just wants a peek into ML it's probably more stress than necessary and I would recommend ML4T or IAM instead.

    If you do take the class my advice would be to start the assignments early and engage on Ed / Slack. If you do this and follow the instructions from the professor and Head TA you should be fine (the curve is real after all!).

    Rating: 4 / 5Difficulty: 4 / 5Workload: 21 hours / week

  • nxSQb6FOcVHHJT2ueblSNQ==2023-01-07T18:21:26Zfall 2022

    It is a very nice, but hard and stressful course, I honestly thought I would fail it, but I decided to play the risk, and I finally passed it with a good mark (B). I give the advice you to avoid leaving it unless I imagine you get something below 40% in the 1st project and Midterm: this could damage your final grade -I say that percent taking the data on THIS term, this might change, but I assume it would follow always a similar distribution, and you can check in any case, as they ALWAYS publish it, especially quick before the withdrawal deadline.

    Projects: this is not about implementing algorithms, but about using then, hyperparameters, and tuning these. You might use libraries, that is OK, but understand them. Datasets: you will use the same for several of the initial projects (not RL, for example): this can make things more difficult, try to find a not-too-hard but good dataset, avoid huge datasets, check the structure, and take into account that training can take a lot of time, try to have RC model 1 week before the deadline, you also need time to write the reports. Advice: explain well your graphics, do not get obsessed with adding a lot, just do it about explaining well whatever you add. Explain well your tunning parameters, choices, etc.

    The Midterm exam is too long and hard for a short time (2h), the Final is better, 1 hour more, although still hard, but not as much as the Midterm.

    The Professors are funny and seem charming, they explain well the topics, just one time I used ML4T class videos to have a better intuition (ensemble learning), as it was not very clear to me after ML lectures.

    The TAs do a good job, although sometimes I find their notes a bit too generic: it is hard at the beginning to know what you have to write in the reports, and after the project 1 remarks, it helps, but they could be more specific. Still, good job.

    Summary: I recommend it very much, but be patient, avoid withdrawing unless you see that you are much below in the published Midterm/P1 statistics, avoid feeling frustrated and stressed, and understand it is hard for everyone, everyone novel on this as I was will be struggling wight it... and have candidate models for the projects 1 week before the delivery date!

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • h/Zgy6NlXCdw2FxeSESgyA==2023-01-02T05:24:45Zfall 2022

    Good breadth of material. Lectures are entertaining. It's tempting to leave a bad review, because it seemed like an unnecessarily stressful course. If you aren't careful, you can spend more time trying to beat it than master the material. It's a good reality check if you are used to getting an A and not used to struggling. It's also a good assessment on what you should work on once you've completed it.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • cPK+TmN6/KwzOWcHPZd/Gg==2022-12-31T08:38:07Zfall 2022

    Background: I'm an ML engineer with 6+ years of work experience in Big Tech. Have spent tonnes of hours studying ISLR, Pattern Recognition & ML, watching CMU/Stanford Lectures, and reading papers on SOTA ML.

    I have two major gripes about this course -

    1. The assignments: Firstly, the good part about the assignments was that they helped you run algorithms and observe their performance on the same dataset - this would help you choose between algorithms in future. But I was utterly bored by the nature of the assignments and practically learnt very little else. Being forced to write a 10 page report everytime, I found myself rambling on about the results and observations even when they were inconclusive/non-discriminative between algorithms. The TAs are very quick to shave off major points if you missed even a small thing given in the requirements. You also loose points quickly if your observations in the report do not cover aspects that TAs expect you'd cover. It also makes the grading very subjective.

    Coding assignments, as in other courses, would have helped absorb the material much better and would have been far more engaging. I don't think doing these assignments made me better at writing academic papers or absorbing the course material. These assignments are the biggest reason I hated the course despite my love for ML.

    1. Depth of the material: The course syllabus is similar to ML courses from other major universities, but the material doesn't go too deep. I found myself watching lectures from CMU a lot to understand MLE vs MAP or PCA etc.

    Recommend this course to those who are very new to ML and are looking to get an overview of what algorithms exist. If you're expecting to deepen your ML knowledge, maybe give this one a pass and watch a course from CMU/Stanford instead.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • d27Y/joY1HRdqNilhWvq1w==2022-12-21T19:41:38Zfall 2022

    First the details: Final Grade Received: A Time Spent per Week: 5-40, depending on the week. I spent a few 25 hour weekends, which was really painful.

    What's Good: -The lectures are decent. Dr. Isbell and Dr. Littman are entertaining, incredibly knowledgeable, and do a good job of going over the high-level stuff. The videos are well-produced and not boring. -The material is genuinely interesting. -The assignments force you to get to know the algorithms in terms of hyperparameter tuning and getting results -The TAs are wonderful. Shout out to Dan Boros, John Mansfield, and Sunmin Lee.

    What's Not as Good: -The lectures give you a very high-level, shallow overview of many things but won't teach you how the algorithms truly "work". You won't be coding any of the algorithms unless you want to subject yourself to more stress. -The python tools, such as MLROSE, MDPToolbox, OpenAI-Gym, etc. don't seem (to me) to be very well implemented. Many experiments took HOURS to run, which made the essay writing very painful. The python implementation of Q Learning didn't even converge for me sometimes and I used pretty simple problems which should've led to rapid convergence. I did not try the Java tools but I feel like I should have. -You aren't given instruction on what tools to use... You literally have to spend hours of listening to office hours in order to figure out which python packages are useful. -The documentation for the python tools is terrible. For example, there is a subtle different between MLROSE and MLROSE-HIIVE that you may not realize until the last week of an assignment. I wish that recommended tools would be listed, easily accessible, and well-documented. -The rubric is vague. This is by design, as Dr. Isbell has stated many times. I see the point of it because it does force you to figure stuff out, but it's painful nonetheless -The midterm and final test you on things you have never seen or thought of before. Dr. Isbell wants you to "synthesize" what you've learned. This is all well and good, but I think it optimizes for a wide distribution of grades rather than for people learning the actual material. -Generally, you need a lot of free time for this course. From office hours to experiments to essay writing. This makes it difficult if you have a full-time job.

    Tips for someone taking this course: -Start all assignments the day that they are released and work on them steadily and incrementally -Use the IEEE Conference template for assignments. Show lots figures, plots, graphs, tables or whatever as you can to justify your answers. Show that you ran tons and tons of experiments. Describe the problem well, and come up with lots of hypotheses. -Do the optional homework assignments -Don't freak out if you get a bad grade on your first assignment... I got the lowest grade in my academic career for assignment 1 and still got an A in the class by learning from it and doing things differently for assignment 2.

    Overall, I can't say that I enjoyed this course. But I did learn a ton and have a sort of hard-fought appreciation for it. Dr. Isbell treats the students as machine learners - you start off knowing very little and aren't given much direction at all. Like a learning agent, you're supposed to figure it out by watching, experimenting, doing assignments, and internalizing the feedback received. It's a stressful and painful process and it led to lots and lots of frustration for me and no doubt most people who have taken the course. But there is some twisted beauty to it.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • 2PPM1Rj0WP+GPtdeS2HoWg==2022-12-21T17:20:47Zfall 2022

    Assignments and exams are a pretty garbage assessment. I've honestly never experienced such a garbage return on time invested as this course. Staff seems unwilling to actually do anything that addresses the repeated criticisms for this class.

    If you aren't willing to invested 100 hours per assignment chasing vague rubric items you will struggle.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • 77SdkVEMx3q00GPX8P66jw==2022-12-21T16:57:27Zspring 2022

    I don't usually write reviews. But I'm reading the reviews, and it seems like nobody is saying what this course really is. I'll say it right now: this is an English course. Yes, this is an ENGLISH course, not a Computer Science course.

    To do well in this course, you just need to think back to high school and remember how to write well analytically. That's literally all you need. For my projects, I faked most of my plots, wrote some fake code that didn't necessarily produce the plots in my paper, and just started writing papers based on the fake plots (You're only graded on your paper so why waste time on the code?). I threw in some points that were mentioned in lecture and kept writing ANALYTICALLY, while maintaining a CONFIDENT tone in my paper (even though the things I wrote were probably wrong; heck I had absolutely no clue what the hell I was talking about). As a result, I suspect that my projects had much more text compared to plots than most other students'. It must have worked, because I got a 100 on 3 of the 4 projects and a 90+ on the 4th.

    With those project grades, it doesn't matter what I scored on the exams. But even so, the exams are essay format with no right or wrong answer, and my opinion is that just having decent writing skills is enough for someone to score at least the median.

    Overall, the course is a very easy A, because seemingly nobody else in the class understands how to write properly. However, because I hadn't written essays since high school, the projects took forever. Not to mention that I learned close to nothing.

    Rating: 1 / 5Difficulty: 1 / 5Workload: 40 hours / week

  • zvbMYuqQm6qf4P5/LRKOpQ==2022-12-20T23:57:33Zfall 2022

    Writing this review right after the final grade was out.

    This was my 7th course in OMSCS. I was very concerned as this course is one of the very unliked and unpopular courses, which is a shame because it is a fundamental course for ML specialization. So what makes it have such a bad reputation? I will list the issues:

    • Lectures: Can't deny it, professors Charles and Michael are good and both have good wits and chemistry. The problem is, they deal with lectures as if two professors are memorizing ML fundamentals rather than having a clear curriculum targted to students. Their notes on board are mere scribbles, so it can be hard to use for studying and them describing the mathematical aspects don't help much either. Also, lectures will not help you with the projects as all and you'll definitely need to get back to the textbook and the mighty internet to understand the required fundamentals. You can watch the lectures on Udacity about any ML topic and you'll finish it scratching your head with more questions and no clear answers.

    • Projects: Four projects to do in this course. The problem? There is NO rubric whatsoever. You don't know how grading will be. There are no clear requirements and you will definitely end up missing important points to tackle in your project if you cannot find some "guideline" on how the report should look like and what sections should be added. You cannot work on your own here and you need to scan ED discussions to decipher what is required. The projects can be fun and they teach you a lot of ML practice but the stress of uncertainty and the need to write 10-page reports take the fun from it. To be fair, the TAs don't care where did you get the code from, and they clearly say "steal" in the projects' descriptions, they care about your analysis so take care of your report.

    • Problem sets: 2 optional problem sets to work on. You don't need to unless you feel your scores are very low. These problem sets are helpful to study for the exam. The problem? The solutions are not well explained. So again, you'll end up in discussions and the internet to understand the solutions.

    • Exams: 2 exams; midterm and final. These exams are what makes this course different: Unlike all OMSCS courses (that I am aware of at least) they are NOT multiple-choice questions. You need to write and discuss your answers. Not open book, no calculators allowed, so you should study well. The exams are not necessarily hard but you need to fully understand the fundamentals of the different algorithms "taught" which I found the lectures very, very useless. The exam has about 10 questions presenting a statement you discuss whether they are true and false and why. Each is 3 marks. Then, the rest (6-8 questions) about various problems each can be of 2-3 parts. Each is 15 marks.

    • Grades: Unlike all OMSCS courses, the standard final grading doesn't apply here. Rather, the TAs calculate the median grade for each project and based on that they set your final grade. Since this course is ML fundamental, you may feel stressful trying to get a B at least. Here's some good news: As long as you show your dedication and hard work and do every (required) project and exam and don't fret and drop out, you're good. So, if you are getting low grades, DON'T panic and keep going. You'll make it.

    Tl;dr notes:

    • Lectures are very useless. Don't use them as study material.
    • Projects don't have clear rubric. "Steal" the code and work on your analysis well.
    • Exams are not multiple-choice and not open book, so sharpen your keyboard and critical thinking.
    • Problem sets are optional.

    My grades:

    • Project 1 - Supervised Learning: 73/100
    • Project 2 - Randomized Optimization: 64/100
    • Midterm Exam: 44/120
    • Project 3 - Unsupervised Learning and Dimensionality Reduction: 78/100
    • Project 4 - Markov Decision Processes: 76/100 Finals Exam: 38/110

    Final grade: B

    Rating: 3 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • nynMnCH7hMXJ11JI336vnQ==2022-12-20T22:52:50Zfall 2022

    Really great course with very difficult material. Everything is subjective grading unfortunately. Very large curve, my canvas showed a 68% but received an A. You will learn a ton if you make it to the end.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • YJsqI0daonQZWcwuhRHNdA==2022-12-20T06:46:44Zfall 2022


    • Assignments are open ended, you choose the datasets of your liking and play with them as you want. You are evaluated on analysis instead of getting some extreme performance or exact answers. So, even if your models are not doing well, you can get marks as long as you understand why,
    • Some ML courses focus mostly on Supervised learning with some Unsupervised learning. This course also covers some Optimization and RL.


    • Lectures are mostly high-level intuition rather than proper theory or proper practical stuff. That may be good for undergrad, but I do not feel I have learned graduate level ML, it was more like a MOOC.
    • I did not like lectures at all and found very hard to learn from them. This teaching approach may work for some but did not work for many including myself. Had to learn from MOOCs, Udemy, Youtube etc.
    • Grading rubric is very subjective and opaque. There is some strange way to decide line between A and B, it is said that if you have positive gradient then your grade may bump from B to A. Similarly, if you do very good on finals, then it can override your midterm. But what is "well"? Are people who did great in first half but had negative gradient punished? We don't know.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • yDLjYZSnL0WZX+N59lDC+A==2022-12-20T00:07:23Zfall 2022

    I took this course along with computer networks. I scored B in this subject but A in computer networks. I have done 2 subjects before this and they both have an A. So I am a bit bummed with my overall grade in this subject.

    This course challenges your thinking or dimension of thinking. First taking 2 subjects at the same time was a mistake. Although CN was easy , it took time away which could have been spent otherwise on this course.

    My grades in project were 75, 59, 84 & 66 with midterm 41 and final 60. Overall percentage was 61. I still ended up with a B and I am quite bummed with it. The professor had said they will replace the midterm score with final score. In addition to it, they said if we were borderline in grade assignment they would see if we had done the problem sets. I guess none of that mattered in the end.

    What I didn't like about this course was lack of transparency in grading. The final results were given to us on the last day and there was no opportunity to request regrade or rescore. Infact requesting is frowned upon. Secondly, there was no answer key provided for the finals.

    I would say for projects, include as many graphs as possible. cover as much material as possible. Look at following things :

    1. Compare your datasets.
    2. Display graphically the choices that you make.
    3. compare different algorithms on assignment and explain the results you get.
    4. Choose small but simple datasets.
    5. Literally steal the code , dont spend much time coding but much time writing your report.
    6. From the variations I saw in my grades, the more content, graphs your report had, higher your grades were.
    7. Definitely discuss biases , limitations of all the algorithms
    8. Definitely show / discuss how the results vary as problem size varies.

    I am sure they were looking at quality of your report , enrichment of content , rather than to the point answers and a few visuals.

    I didn't do full justice to projects 2 and 4 and honestly the project where I had highest grade, I thought I was in the dump. For the first project I got only 75 for including something like 25 graphs with only feedback "Bias variance trade off was not discussed".

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • 8XVGv5zwJOAeU+wI6gt6cA==2022-12-19T08:49:13Zfall 2022

    This is a great course that focuses on both the theory and practical aspects of ML. Littman and Isbell do a great job covering the various topics in the lectures while clearly presenting the intuition behind algorithms. For assignments, you must at least watch the overview of each assignment presented in office hours even if you do not have time to watch all of it - it is hardly 15 minutes per assignment but will be make a big difference in the score you get for each assignment. I was able to get 100/100 on all four assignments and would suggest to structure your analysis as per what Dan (the TA) suggests in the OH - you will get high marks if you try to be inquisitive with the results and try to intuitively justify the observed behavior of algorithms, while also trying to compare and contrast the behavior of various algorithms across various problems (for example, for A1, why does K-NN have a low bias but high variance, but SVM has both low bias and low variance; why does NN perform best on 2nd dataset but all algorithms do well on 1st dataset for A1; etc.).

    A1 and A3 use sklearn; A2 uses mlrose-hiive and you will need to look at the source code on GitHub since it is not well documented and you will likely have to modify it to suit your plotting/graphing requirements; A4 uses mdptoolbox-hiive and will need to be looked at on GitHub because of similar reasons.

    I would suggest to definitely use Breast Cancer Wisconsin dataset as one of your datasets since it is very simple but provides great room for meaningful analysis across first three assignments; For second dataset, I chose Steel-Plates-Fault dataset since it has more than 2 classes and is slightly larger than 1st dataset; Be very careful and make sure what you will get yourself into if you choose a dataset with categorical attributes or some unstructured data like text or image - my advice would be to only choose tabular data with all continuous attributes. For MDP, you should likely choose Frozen-Lake - other choices are BlackJack, Forest Management, RiverSwim, etc.

    Kaggle is great for running assignments since it automatically allows to backup the code, create versions, not much installation issues, and also run the entire notebook in the background without keeping your laptop screen on - this is simply awesome and I would urge to definitely use Kaggle to sidestep a lot of issues that hamper productivity.

    I would suggest to use Latex IEEE template for reports since it allows to easily fit a lot into 10/12 page limit and looks very systematic, especially considering that you will have at least around 15-20 figures/tables per report.

    For the exams, I found lectures to be sufficient (i.e., readings and textbook were not very useful) - make good notes from the beginning, and you will feel easier during exam preparation since there are a lot of concepts involved for both exams. Mid-term is like a sprint and will require you to have the concepts on your fingertips to even stand a chance of doing some justice to all questions. Finals are like a marathon and have much more time, although the level of difficulty does not change at all.

    In all, do not fret too much about scores in this course since it is heavily curved at the end but instead focus on the learning outcomes and try to gather all you can from this excellent course (since you will probably not find another such course that is so much into "analysis" in your entire lifetime, let alone in OMSCS).

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • fQ/bg5s0unLSoJuhK8f7Bg==2022-12-18T05:20:32Zfall 2022

    This is the worst course I've taken. TAs grade assignments brutally (average of assignment is 50-60, mid term average is 40+, not sure how final would look like) but they say "don't quit, the majority would get A and B". A good course should be able to motivate students to learn, not discouraging them. Such grading strategy just prove that the course is not well designed. In addition, the feedback for homework doesn't carry a lot of effective information and the grading criteria is vague. I lost almost 50 points by missing one "discussion on xx's effect" and one "analysis lack of details" for my last assignment. I assume they raised 10+ questions and not answering 2 would only be -20 points but it is actually much more than that. I would rather they fail students brutally like they grade students, at least that proves that they maintain a consistent standard. This is my 8th course and I would try to avoid this course if it is not required, but sadly it is. Still needs to mention that the lecture videos are good, not perfect but good thanks to Michael and Charles. But these are free to watch on YouTube...

    Rating: 2 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • pJ4fa7DzSARaJUErQY6aww==2022-12-17T21:34:03Zfall 2022

    What can be said about this class that hasn't already been said? I think by now everyone knows what they're getting into (open-ended reports where only the analysis matters - no points for the code, difficult exams, heavy workload). Instead of reiterating the same points, I'll just leave some practical tips:

    Watch TA office hours recordings, where they tell you exactly what major beats you need to hit in the report

    Your analysis needs to be 2-3 levels "deep" in order to get the points. Level 1: graphs + reporting/restating the results. Level 2: why did the algorithm perform that way on that problem? What theoretical constructs from lecture are applicable? Level 3: Show that an experiment or change you make to either the problem, the data, or the algorithm addressed the performance as predicted, i.e., validate your hypothesis. If you do Level 2, you should be able to get 80%+ on the assignments, and doing Level 3 will get you to 90%+.

    Even though Prof. Isbell likes to say "just steal the code! so easy! haha!", getting the code, setting up the problems, and running experiments takes a LOT of time. Start the assignments early enough to give yourself at ~a week before the due date to feel good about your results/charts and think through them and write up the analysis.

    The exams are applications of first principles that come from the lectures. In order to prepare for this, re-watch the lectures and try to explain why the principles hold true. Do the problem sets cold (no resources / googling / etc) without time pressure (they are pretty long) to measure your readiness.

    Don't quit; I think the vast majority(probably 90% or 95%) of students who take the class get an A or B.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • nzCXg5JowGYIPWMssU2N0w==2022-12-05T15:17:59Zfall 2022

    Totally useless and the wrong way to teach machine learning. A practical subject should never be turned into a writing class. All assignments are not focused on coding (which they should be), instead, focus on how we craft the analysis (why? why? why?). Don't consider me a loser, I've been all straight As and worked as a machine learning engineer during day time, and I'm not doing badly in the course. If you believe you want to learn machine learning the right way, you are better off going to coursera and learn that from Andrew Ng

    Rating: 1 / 5Difficulty: 2 / 5Workload: 30 hours / week

  • nzCXg5JowGYIPWMssU2N0w==2022-12-05T15:13:34Zfall 2022

    Totally useless and the wrong way to teach machine learning. A practical subject should never be turned into a writing class. All assignments are not focused on coding (which they should be), instead, focus on how we craft the analysis (why? why? why?). Don't consider me a loser, I've been all straight As and worked as a machine learning engineer during day time, and I'm not doing badly in the course. If you believe you want to learn machine learning the right way, you are better off going to coursera and learn that from Andrew Ng

    Rating: 2 / 5Difficulty: 3 / 5Workload: 27 hours / week

  • vn6EeoAIJ3qVb/G909qosQ==2022-12-02T05:56:28Zfall 2022

    From all reviews you can tell this class is brutal.

    For all reviews that says this class is hard, it is very true. The reason this is hard class is due to the workload and the amount of thought that needs to go into the project is seriously a lot. However, once you go through the course, the amount of confidence that it gets you is really great; hope it doesn't make me egotistical. You will succeed in critical thinking in your career field.

    How do you prepare for it?

    • Learning scikit is one way but nothing to fancy to really succeed.
    • Matplotlib - here you just gotta know how to plot (and subplot). Take ML4T class and that is more then enough.
    • ML4T - have you read my last point about Matplotlib? + you gotta know how to write paper and format to use (Thanks JDF Format!)
    • Linear algebra - Glibert strangs course in youtube is great and knowing projection is good thing for this course
    • Stat - Will help if you can get this done. Search for "stat 110" in youtube
    • Start your homework on time; I am sure you can write a day before but your computer might not be smart enough to build model for you in your chose timeframe; so, yeah start really on first hour first day!

    Is the pain worth it? Yes! I was pretty sure I would fail the class and drop out of GATech but I have survived in flying colors (so far! and fingers crossed for final). Now I am sure I have new skill that will help me survive my career.

    Tip: Don't worry too much here about grade; you are here to learn and Charles really wants to see you learn and there is an emphasis on learning but not grading/scoring. He will do the right thing and you just really don't worry.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 45 hours / week

  • goFnn6XP+xXH9klLc0jGMg==2022-12-01T01:04:22Zfall 2022

    C/P from my CIOS review:

    In my opinion, Dr. Isbell views teaching or being involved with this course as beneath him. The assignment descriptions lack guiding information, and Dr. Isbell explains this by saying that this is purposeful so that students focus on exploration and writing analyses. However, the assignments are clearly graded against some type of preconceived notion of what "good" why not tell students what that looks like? It is disheartening to have to scour 5+ different sources of information (syllabus, multiple Edstem posts, multiple hour-long office hours, multiple Slack posts) just to find out what the TAs really want. Then - to top it off, when students are confused and ask question on Slack, Dr. Isbell responds with "why are you like this?" - insinuating that students are stupid. One course review on OMSCentral put it best: "Many students ask so many questions on Ed/Slack and Dr. Isbell responds sarcastically most of the time as if the answer is obvious. Clearly the answer is not obvious if multiple students ask similar questions after reading your horrible instructions." I was so interested in the Machine Learning specialization, but it isn't worth my time and effort to wade through any other courses, and I'm instead going to switch to Computing Systems. Just disappointing more than anything else, this course has so much promise. Not that anything will change, students have written this same review many times, and nothing has changed.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Zq3SFFnDQC2lDaCBCAD2ug==2022-11-22T18:27:52Zspring 2022

    This course was hard but thoroughly rewarded. I would say this course has the best lecture set up of all the courses. You have to world experts just talking about the problem space as you learn. I found it much more enjoyable and engaging than just being spoken to.

    The assignments do not provide a lot of guidance, which can be quite stressful but once you get the hang of the pattern you have a lot of leeway to do your own thing and still get a good grade. Treat each assignment like an experiment, iterate over the independent variables and write up what you find and you do well.

    Make sure you dedicate a lot of time to this course, and that you start the assignments as early as possible as running large amounts of ML code can take a while and definitely slow you down.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Smf7Z97eH4TBkgc1bGEOZw==2022-11-07T08:30:16Zfall 2022

    I had read lots of reviews, watched Youtube videos about this course, before I decided to take this one and tried to prepare as much as I could.

    I've seen lots of negative feedbacks, but this is one of the core courses, so I had no choice.

    I just finished the 3rd assignment. still 1 more to go. I got 58 from A1, 75 for A2. I got 30 for mid-term. It's hard, but as I spend more and more hours, I start getting why and how this course is structured this way.

    I love this course and how it's organized and open-ended. Most of the courses ask you x, y and z and grade your work based on given instruction. It's not difficult to follow the clear instructions, but that's not how real life works. This course show you and teaches you how you can really apply ML algorithms in real life. You pick two data sets anywhere online, then apply various ML algorithms, then you have to analyze what you see, how you can make better, why you see in such a way and so on.

    I got confused at the beginning and got almost mean score because I wasn't used to this type of assignment, but now I understand the style.


    • open ended
    • generous grading policy. As long as you do all 4 assignments, you have a good chance to get at least a B. I see why doing all 4 assignments are not easy tho. it takes again considerable amount of time for each assignment. You better start as soon as you can
    • TA is very helpful. I saw other students that TAs are not good, but how?? i don't get it
    • fun if you like ML


    • You need considerable amount of time, so don't think about taking another course with this
    • You don't have much time in reading material. especially the recommended book. I shouldn't have bought the book. it's just waste of money. I already have the text book from AI course and it's much better resource for this course

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • sLjnM3uSISaOrOqTkfkUBg==2022-08-16T22:17:34Zspring 2022

    I think this is a great class. Yes, it is different from many other classes in that you are graded on your quality of analysis without a clear list of say-x-do-y, but I actually think this makes some sense (or at least worked to my learning benefit). Lots of us are busy and want the quickest route to the best grade, but this course is just not designed that way.

    It is designed to force you to think through your choices: what experiments did you conduct? why those? why not some other experiments? If you aren't spending the time to understand the algorithms and the data, this can feel unfair. But if you take the time to think through your experiments, you'll find that it's very doable to figure out what kinds of metrics, tuning, etc., make sense to do. Especially given that theses issues will be discussed in office hours, which are recorded and available for review. There is a highly active Slack channel and lots of activity on Ed. Plenty of help is available for people struggling to understand. Just bear in mind that if you take this course, you'll probably be one of those people at some point. (And that you may not have much else going on in your life while taking the course.)

    Take this course seriously, be thoughtful, and give it the time it needs, and you are quite likely to get an A. The exams are very challenging but are, again, designed to make you think through what you have learned---not just memorize the factoids you were tested on in weekly quizzes or whatever. If getting a B is really that awful and stressful to you, this course might not be for you. But pretty much everyone who stays in and turns in all the assignments will get at least a B.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • jmISiTBGzj9ZV5pQjHLU1w==2022-08-14T06:49:16Zspring 2022

    The course focus on analysis. In order to write a good analysis, you would need to have a good understanding of the ML algorithms.

    Professor grading is generous. If you do all the projects, focus on understanding TA's review feedback, and try to improve in the next one, you will be fine.. Don't give up due to low score. My score : P1: 27 P2: 64 P3: 52 P4: 65 Mid term: 25 Final : (can't recall the score, something around== 70)

    I have done RL, AI, HDDA, Bayesian Stats. so none of the material is foreign to me, yet I think I did learn quite a fair bit in the course.


    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • ZN9uVRB/TlU1+5KZLa6fUA==2022-08-12T05:51:36Zspring 2022

    This class was really hard. I go over it in a 5 min video for helpful tips and tricks to get through it

    Rating: 3 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2022-05-05T23:43:26Zspring 2022

    This really sucks to say because the learning material for this course is great and really really fun and really well done, but I strongly recommend not taking this course. Tons of mental strain trying to figure out awful instructions for the projects and insanely vague grading standards. Each project was ridiculously painful to complete, not only did they ask for like a thousand graphs of pointless stuff, but in addition would ask "now discuss your results" and you're left with an insane amount of data and code and most of it totally inconclusive.

    Like try to discuss why running K means clustering on data reduced by ICA on some dataset you found online for which ICA is totally irrelevant has a different convergence pattern than K means run on the same data reduced by PCA... ????

    The instructors seem to be completely obtusely aware of the fact that their course structure has massive downsides and do not care at all, and try to provide any range of justifications on the forums, despite the fact that this is the only class I've ever taken in undergrad or 9 masters courses where the students had absolutely no clue what their final grade would be, and had no clue the standards for any assignment. It's just silly.

    The professors seem to have really funny sarcastic personalities, and these are truly fantastic for the recorded lectures, but they somehow aren't able to turn it off for stressed out anxious students asking "please tell me if i'm going to fail this class" or something similar in the discussion forums.

    I talked to someone who took the in person section and apparently it's like an actual course with real assignments and a group project... why not just do that online?

    the lack of guidance and the grading standards left me zero motivation to try to have any insight at all on my assignments. I just pumped out garbage for the last two and since there was so much busy work (the third one specifically asked for like a thousand graphs to the point where I had to reduce margins as low as possible to fit within the required 10 page limit), I guess that drowned out the crappy work, and i got higher grades than the first 2, which were about 50%s, which was just about the median grade, which apparently corresponds to an A? I have no clue. It's just dumb

    Rating: 1 / 5Difficulty: 3 / 5Workload: 8 hours / week

  • Georgia Tech Student2022-04-26T14:15:45Zspring 2022

    Just got done with this class although none of the meaningless grades have been returned. If you want to do well, just watch Josh Starmer's StatQuest videos.


    • Talks about ML which is cool I guess
    • Can give you the baseline of what to research on your own
    • Grades are tbd but from what I can reckon, if you submit all your work, you will get a B


    • Grades are all over the place. So far, i've gotten pretty good grades on everything so I expect an A but I have no idea.
    • The Professors preach that grades don't matter but then turn around an require a B or A to pass courses in your specialization
    • The schedule of the assignments is made just to mess with you. No reason there should be a week period with 3 items due, but start the the class with 4 weeks of nothing.
    • The lectures. I know people say they are good but there is much better on youtube. StatQuest videos are the way to go.
    • I'm only 1 of I think 3 people that got any points on a random test question just because I knew the answer from statquest while the real lectures never mentioned it
    • The professors seem like great people but get lost in talking in riddles. Don't ever expect a direct answer from anyone.

    I took this class with IAM which I'm glad I did because IAM had much better lectures, so I was able to learn from those lectures and apply my knowledge to this class.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 27 hours / week

  • Georgia Tech Student2022-04-26T04:12:00Zspring 2022

    This course has some very good things and some very bad things. I am into ML and have done a couple of MOOCs and work on NLP projects in my company. So I come from a very solid understanding of ML from an applied side but this course pushes you to think beyond applied ML and into the empirical side of it. Here are a few things Good and Bad things:


    1. It's a fun way to learn about the subject through 2 people discussing it (Check why this is also bad)
    2. The topics are very well selected and cover a good spectrum of ML. However I think it should be broken into 2 courses (I and II), there are so many things that didn't get covered.
    3. Office Hour helps answer so many questions and Dan is awesome and tries very hard to answer all the questions.


    1. Projects are open-ended & excruciating and students spend the majority of their time chasing them. It hampers their learning. I didn't get any chance to go over Mitchel chapters. Let's be honest, most are chasing grades and GPA.
    2. The style of teaching is sometimes complex and often complex math is introduced without explaining the concepts well. It took me some time to get a grip on MDP's until I stumbled upon a Stanford Lecture on it. Check this and you will see how well it was articulated -> (
    3. Grading is a blackbox without a Rubric.

    Overall i am Ok with the course, learned a lot of new things but the experience was bitter. I might have thought multiple times to quit it. Today I gave my final exams and I look back and would say, its was OK, just hang onto this class.

    Lastly, come prepared by taking some ML MOOC classes and also refresh your linear algebra and predicate calculus concepts before taking this course otherwise you will be amongst 33% of dropouts.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2022-04-20T18:14:11Zspring 2022

    Echoing what others have stated. The lectures are great and I feel I learned a lot and had fun watching them. The assignments are brutal. Office hours are a requirement if you want to remotely know what the TA's are looking for. A big part of the assignments that bothered me was their open ended nature. I'm sure many students will learn by "exploring" the subject but for me it was just stressful and anxiety inducing. I need hard requirements like it IHPC where if you want an A you are asked to get the program to run below x seconds. Asked to "explore" does not work for my learning style and I feel i did not learn nearly as much as I would have had I been tasked a more focused assignment.
    Switching to Computing Systems after taking this class in fear that any other machine learning classes are remotely like this one (plus computing systems has a ton of classes i'm interested in)

    Rating: 2 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2022-04-11T18:18:51Zspring 2022

    Previous assignment grades are released after submission deadline of next assignment.

    This is the case till now. So how do we use feedback from previous assignments?

    It’d be a miracle if we get grades for A3 before A4 due date

    Edit: we did not

    Rating: 3 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2022-04-06T01:09:24Zspring 2022

    The course videos are OK but the TAs are Terrible. I strongly suggest the TAs let go of their arrogance and clearly describe everything required in the assignments. Students do not have time to play such boring riddle games with you.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2022-03-06T17:07:32Zspring 2022


    • Open-ended. Keeps us on the edge. Can share own inputs
    • Tests understanding instead of guessing
    • Good Exam Structure


    • We haven't received any grade back at all. A1 - no grade so far ; Problem sets aren't looked and graded. Exams aren't graded yet (at least that's understandable).

    • No way for a student to incorporate feedback from previous assignment to the next one.

    • Harsh schedule. Having midterm and due date for A2 on the same week is not right.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 40 hours / week

  • Georgia Tech Student2022-02-10T17:37:25Zfall 2020

    This class could really do a lot better, the material is very interesting but the grading is not done right. The class has multiple HWs all through anaconda so get familiar with that quickly.

    To see my full review on the course, check out my youtube channel:

    Rating: 3 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-12-30T01:47:17Zfall 2021

    This was my 9th course in OMSCS and so far best where I learn most which I apply in real world example. The best part of course is its pragmatic approach on focusing on analysis instead of code. OMSCS is course primarily created for experienced working professionals. And we all know real production grade application use stable libraries and reuse code instead of creating from scratch. This course thankfully understand that and focuses more on analysis. My advise would be focus on assignment questions very well and make sure you address add justify all answers instead of just providing statement. Do not get alarmed if you score less on Mid Term or Final exams. The course is designed to make exam tough. However if you are persistent and improving consistently you can still get good grade. So do not give up. This is must have course for anyone in ML or Interactive Intelligence track.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • Georgia Tech Student2021-12-22T08:48:44Zfall 2021

    Only take this class if you absolutely have to, and if you do, don't drop the class. This class is needlessly difficult and the grading is atrocious. The whole class is taking already implemented machine learning algorithms and running them on data you select and then writing a 10 page report on it. You are encourage and told NOT to implement the algorithms with your own code which takes away a a key way to truly understand how the algorithms work. Half the class is also reinforcement learning which is taught much better in CS7642 Reinforcement Learning where you actually implement your own code on some cool examples.

    Like I said above, the grading is horrible. Very little comments back on the reports. There is no rubric so the grading is subjective and varies quite a bit from TA to TA. With all grades in including the final I sat at a 42% and still got a B in the class.

    Summary, don't take the class unless you need to and don't worry about your grade if you do. As long as you put in a little effort you should get at least a B.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-12-22T06:36:17Zfall 2021

    If you need this class for the machine learning specialization then take it and don't drop it. There has been a lot said in previous reviews about the worthlessness of the course. I won't belabor that point. Instead, I'll give some numbers for anyone thinking about taking the class (and more importantly anyone planning to drop it). For context, I had a serious life event the week of assignment #2 and exam #1 that essentially made putting 20+ hours a week into the class impossible for the rest of the semester. I was going to drop it but decided to see it through. Anyway, the following is how the course progressed for me.

    Assignment 1: 86

    Assignment 2: 10

    Assignment 3: 36

    Assignment 4: 48

    Exam 1: 32/120

    Exam 2: 27.5/110

    Overall Grade: 37.5%

    Letter grade: B

    Rating: 1 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-12-22T05:15:57Zfall 2021

    Overall: I did not enjoy the course. In fact, I'd say that this is the 2nd least favorite course out of the 6 I took at OMSCS (Info Sec is the clear winner of the worst course ever, mostly because of the immature, paranoid TAs). There are two main reasons for that:

    1. I tend to agree with most reviews here that the class tends to be very tedious for no particular reason. I believe that there seems to be a misconception about what graduate school is about. Some TAs and students that liked the course indicate that 'of course it is hard, it is graduate level course' when referring to the general amount of time spent on the assignments. I disagree with these statements. If the homework is to write 'I will do my homework every week' 100,000 times then it will be very time consuming, however, that does not mean that it is graduate school level work. Graduate school is about diving one step deeper, relative to undergrad, into a topic/field that one chooses to study. This class is a very general, non in-depth overview of general ML topics.

    2. I found myself spending way more time writing the reports than experimenting with ML or writing code. This is a Master's program in Computer Science. My expectation is that in every class the majority of the time will be spent writing code. I found the coding component of this class to be minimal. The code is not even graded or looked at. The code that I submitted was completely disorganized, with no comments and I am not even sure whether it fully worked on some my assignments in the end after all modifications made along the way. Additionally, all the assignments are structured so that you do not implement anything on your own. For most projects you just call scikit-learn or some obscure libraries created by former students of this course that you will never use ever again. This was neither helpful in learning the algorithms and their implementations nor a reproducible knowledge that one can take advantage of in the future.

    Lectures: I enjoyed the lectures. The material was clearly presented. I enjoyed the little jokes and student/professor role play. Probably the most enjoyable part of the course. I do wish they went into a bit more theory, but I understand that the course is for more general audience.

    Assignments: There were four assignments just like any other semester. I found the assignments to be easy to complete from the perspective of figuring out the code and running the experiments. What took the most time is writing the mind numbing 10-12 page reports that the TAs only skim through and look for specific key words. This created a particular frustration during the semester as the grading was very inconsistent. Further, (as opposed to Farther) the comments provided from TAs were often incorrect and displayed either a lack of knowledge on ML concepts or lack of effort to read the assignments. I do realize that there are nearly 700 students in this course and that the TAs were overwhelmed but at the same time, if this is the case, perhaps the structure of the assignments needs to be reconsidered. There is nothing more frustrating than spending a significant amount of time on a project and to receive a bad grade with abysmal feedback. After about the 2nd assignment I stopped paying attention to any TA feedback as I realized it is a complete waste of time.

    I am guessing people who went to office hours got some more guidance as to what exactly to put in the assignments in terms of graphs + language in order to improve their grades. If you really care about getting good grades on the assignments it may be good to attend these.

    Problem Sets: There were two problem sets, that I found pretty interesting. I am not sure of the grading on these as we never got them back, but definitely look at them and solve them. It is good for your knowledge and can help your final grade, or so the class staff said.

    Exams: These were much more enjoyable than the assignments. A lot of the questions were open ended so that left a lot of room for 'I expected to see this but you wrote this'. Since the midterm and finals were both after the 2nd assignment I never checked to see what the feedback was or what I got wrong. I just kept it moving. The exams are based on the lectures. I noticed that the questions later in the exam were worth way more points than the questions at the beginning. I'd recommend working your way backwards as time is limited (especially on the midterm).

    Summary: I completed this course without attending any office hours or interacting with slack, ed discussions. I have previous knowledge in ML and am decent at coding. The reason I took this course is for the ML specialization. I would highly recommend for students in the ML specialization who want to learn ML at graduate level to try and find a different program that offers the course and transfer it. If you are worried about your grades know that it does not matter what the actual score is on the assignments or the exams. If you get 10/100 and everyone else got 8 or less you are the best student in the class. Rather than focusing on the actual points that you received on the assignments or the exams, look at where you are relative to the average of the course. My grades on the four assignments were in the 70s, 80s, 50s and 60s in no particular order. My exam grades were in the 60s and 70s. I ended up with an A. I was above average on all but 1 assignment (I was right at the average for that one) and i was above the average for the exams.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-12-22T04:45:04Zfall 2021

    I only took this one class in this semester (with a not-so-busy full-time job), yet I found I literally had to work every waking minute in order to get things done. I ended up with a solid A but I am skeptical on the learning to effort ratio of this class. In my opinion, the effectiveness of this class could be significantly improved if the grading rubric could be made more transparent.

    On the positive side, Prof. Isbell and the TA's have been quite active both on Ed and on Slack. The final grades turned out to be quite generous despite miserable assignment and exam scores. Packages and libraries made by previous students significantly lowered the difficulties of some assignments. Former students' advice and comments on Slack have been very valuable especially in getting things started.

    In general, I regard this class as a carefully designed psychological experiment in order to shatter and rebuild one's confidence and self-esteem. As it transpires, if you bite the bullet and manage to stumble through this class, it may just be enough to turn yourself into a believer and practitioner of machine learning. For that, I think this class serves its purpose.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-12-21T20:18:13Zfall 2021

    One of those classes where it's occasionally more tedious than difficult, and most people either love it or hate it.

    The professor and TAs are probably the best out of any class I've taken. They're active on slack, give good office hours, and answer pretty much all reasonable questions.

    I think the issue most people have with this course is the subjective grading of the reports and exams. Being mostly stem majors, I think most are used to submitting their code in Gradescope, which spits out exactly how well you passed your tests cases. This class is not like that. The TAs talk about some of the report requirements in their office hours, but it's easy to confuse these things as all you need. I did poorly on my first report, bombed the midterm, and was on the verge of withdrawing. I decided to ride it out, and on later reports really hammered down my analysis, explaining my charts and anything else that could be compared, and what that said about the datasets. As a result my report scores greatly improved (also think I did get luckier with graders). For the final I mostly took my own notes, studied George's notes, did the ungraded problem sets, and ended up doing very well.

    Overall I think this course has shown me the value in really understanding your experiments and the accompanying analysis. While the average grades are pretty low, as long as you stick it out, something like 60% of people end up getting an A after the curve. Even though the class was a rollercoaster, I don't think I've ever come out of a final this satisfied with the progress I made throughout the semester.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-12-21T00:25:11Zfall 2021

    I'm sort of conflicted about my final rating for this class because I feel it's taught extremely well, but the projects and tests are abysmal.

    The professors do a great job of teaching the material. They're charismatic and relatable, and they're able to make very tough content accessible. Professor Isbell and the TAs are available pretty much any time and very responsive - sure, they're a little snarky sometimes, but they're also very helpful. I cannot complain about the teaching component of this class. It is genuinely one of the best teaching experiences I have encountered in this program.

    But, the big but, is that everything else is absolutely awful. Some other review characterized it as a "hazing," and that feels absolutely true. Tests are intentionally designed too long to be completed by anyone who is actually here to learn the course without already having a strong background in the subject, leaving you to throw away points simply because you can't answer the questions in the time alotted. Projects are even more enormous, but the metrics by which they're graded are neither transparent or accessible - nor are they objective. In fact, they're so subjective that you cannot learn what it is that you can do better, because it's going to depend more on your grader and the mood they were in when they graded it than anything you could possibly put to paper. Worse, asking for a regrade comes with steep potential penalties, so you're better off just accepting your score than risking a lower one. Tests can't be regraded at all, near as I can tell, but are just as subjectively graded.

    None of these things are unknown to the teaching staff. Professor Isbell and the TAs brag openly that the median score is low every semester, as you can see in any review here. Sure, a curve exists, but a curve doesn't help you learn how you can do better. It doesn't help you figure out where you are in the course. It certainly doesn't motivate you to learn. It's largely just a degrading experience that serves no purpose other than to delight the course-runners - you know, a hazing.

    For the record, this is my second to last course in the program. I've scored an A in every class up to now, with a 100% or higher in many of them. I put in the time in this course and every course before it because it's meaningful to me. ML is the first class to give me a B, and I put in twice as many hours as any class before this one. I'm sitting at the end of this thing and I don't know what I could have done better, and I'm kind of angry about it and the dent this terrible course had in an otherwise perfect GPA. I simply could not have learned more. I've always made fun of those students who become combative with TAs and professors instead of putting in the work, but I couldn't have put in more work if I tried. Maybe I should have been "that guy" and fought for more regrades, but the course was exhausting enough as it was and I just didn't have the energy left to be a jerk about it.

    Skip this course. Are there people who are happy with it? Absolutely. That's the result of subjective grading, especially in a program where it's very likely that many enter with domain knowledge. Some people have a good time. But most don't, and it's a terrible learning environment. I don't know why Dr. Isbell decided to sabotage fantastic lectures with horrific coursework, or why it has continued for years and years, but it is a decision and it's probably not going to be one he changes if he hasn't changed it by now.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-12-21T00:19:24Zfall 2021

    This is one of the greatest courses on this subject ever made, no matter how deep is your background in ML you will have a few jaw dropping moments.

    The support you get from the Prof himself, lead TAs, fellow classmates, alumni over Ed/slack is unlike any other course in entire OMSCS program(in my opinion).

    My 2 cents:

    1. You have to trust the system/course, and believe that the TAs genuinely want you to do really well in this course. So listen carefully and follow their instructions.

    2. Get a split keyboard, and make sure your setup is ergonomic etc. Your mind will love learning but your body will feel the pressure from all the typing.

    3. Focus on understanding rather than knowing. Optimize on having fun with the subject rather than optimize for scores/grades/GPA.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-12-20T02:21:36Zfall 2021

    This is one of the worst courses of the program which is either designed to fail students or lower their grades. The lecture material vs the projects/exams are in no way relevant, and you are at the mercy of the grader. This course will do its best to make sure you struggle in every assignment and exam and you don't learn anything at all. If you are surprised to see all these negative reviews here, well it's because it is indeed handled & designed very poorly. Unless you have a group of friends who are taking this course together so that each one will take turns for exams, it is very rare to score over >70 (You can check the grade distributions for the proof when you take the course) Overall, Prof. Isbell is an enthusiastic professor and very accessible but doesn't change the fact that this course is designed to fail students, there is a difference between challenging a student vs harshly prepared and graded projects/exams. If they do an internal review for this course, they might have to refund every dissatisfied student for their loss of time and money.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-12-20T00:42:14Zfall 2021

    Honestly I really hated this class. I started off getting awesome grades in the class and I slowly drifted down until I ended A4 with a less than average score. I started off the class with a like 90+ on one of my assignments. The exams were very hard and I bombed them every time and was below class average there. I have something like a 50% in the class according to canvas. Hopefully I pass when they actually release the grades. As for learning well I got some general knowledge on ML which is useful, but other than that I learned how to BS very well. I would not take this class literally ever again.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-12-19T19:18:19Zfall 2021

    TL;DR: Despite all the reviews this class is fair. The "hidden rubric" is more that they don't tell you how to do the analysis and expect you to figure it out on your own.

    My Background: This was my 8th course, I am doing the ML spec. I am SWE at a non-FAANG (non-MANGA?) company that has background in python and other backend languages. I had some background with ML. Mostly basic stuff from ML4T I took as my 4th class and undergrad course. I have an undergrad degree in both CS and Stats.

    Overall Review: This is class is fair. Its stressful, but fair. This course expects graduate level work, it does not hold your hand. Everyone refers to this course having a hidden rubric, which is a half truth. You are graded on criteria you don't know about. However every assignment is about the analysis of your experiments. If you can understand how to compare and contrast the different algorithms/problems and relate it to the outcomes of your experiments you have met the criteria. This means comparing everything from runtime complexity, to accuracy, to actual runtime, etc. You also should not BS any information. They will deduct more points for wrong information than information not represented in the report. My grades on the assignments were 100/90/100/75. The last assignment I had some issues come up and wasn't able to start until closer to the deadline due to family issues. Even still it was higher than the average for this class. The assignments take a long a time to run so make sure you have some kind of strategy for parallelizing and storing your experiment results. After taking this course I can't understand all the hate. This may sound mean but this course will not hold your hand and requires you to put in the work. If you can understand how to compare and contrast two experiments then there is no reason you shouldn't be able to do well in this course, even without knowing what the hidden rubric requires. For the record I attend the office hours once.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-12-15T09:48:00Zfall 2021

    The thing that makes Machine Learning hard is that is asks you to think differently. You get no points for how elegant or efficient your code is. In fact, the graders don't even run it unless there is something fishy in your report. What is important is showing that you understand the topics and how they interconnect with each other. After so many classes with autograders and multiple-guess exams, this was a little hard to get used to at first. However, I can say with confidence I have never come out of an exam remembering more than I did after completing ML.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • Georgia Tech Student2021-12-12T17:09:39Zfall 2021

    Despite what everyone else is saying, I want to make a point for why this class is not hard or unfair. Disclaimer: I have a strong background in software engineering and python, but did not have any experience with pandas/matplotlib and other libraries, and had not done data science before. This was also my first course at OMSCS.

    Time-management: The schedule is quite challenging, with assignments, (optional) problem sets, and exam study periods overlapping frequently. You will have an average of three weeks per assignment, which for working people means three weekends. This time is contested by exams and problem sets.
    The good news is that problem sets are very good for preparing for exams, so complete them as part of your study process for exams. Being good in the assignments doesn't necessarily help with the exams, but the lecture content is useful for both the exams and the assignments, so you'll want to make sure to watch the relevant lecture content first.

    How to write assignments: Imagine each assignment as a three week block. You'll want to focus your first block on watching all the relevant lectures for that block. E.g. for the supervised learning assignment, watch all lectures that are categorized as supervised learning. Make sure to take breaks in between, take some notes, really do the the mini-quizzes in the lectures. All the usual techniques for effective learning apply. Possibly watch on 1.5x speed and pause where necessary. If you already use a system for flashcards, make some flashcards, otherwise just quickly review your notes every week. Then, take a look at the assignment requirements and description. They will be slightly ambiguous, but to keep things simple: always use python, always use the libraries suggested either in the assignmnets or in slack, don't implement anything you don't need to (use libraries for everything!). Before starting, take a look at those libraries. Your general goal is to run some experiments and then plot the results and talk about them in your submission. As for what to plot and discuss: you can either think about this hard and choose what makes sense for you (and include your reasoning), which takes some time, or watch the office hours that go over that assignment and just take the straightest path to the plots and discussions that are mentioned there. The reason why we do all the lectures in the first week of every block is that you can then watch the office hours before actually starting to take the assignment. If you care about people, summarize what you learned from the office hours and post it in the course Slack, possibly discuss there. From here, it should be easy to think about which plots you need, and how to generate them. You'll have 2 week chunks left for the implementation. Again, sometimes you'll have to sacrifice one of those chunks for studying for exams, but it should be easy to get 60% on an assignment with <20 hours of coding/analysis.

    General tips for coding and running experiments:

    • Save your results to a csv if possible and then plot later as you need it. This will also save you from having to re-run experiments if you mess something up.
    • If your experiments take a while to run, run them on a shorter example or smaller chunk of the dataset to test out how the plots might look like, and then run with larger datasets overnight. You can also totally only use small datasets and never have anything running over ten minutes on a decent notebook.
    • Write your analysis while you code.
    • Focus on getting that first graph out, even if it's not the one you'll use in the end. Discuss in your writeup, give reasons for why things look like this, and you'll notice when you're missing a basis for your arguments.
    • Your machine learning models do not need to perform well. You only have to run interesting experiments.

    How to learn for exams: Watch the lectures and think about the content. Make sure you understand all the concepts mentioned. Try to come up with some example exercises that are similar to the mini-quizzes and do those too. Then do the problem set and re-watch the lecture about those topics if you can't yet solve some of the problems. Watch some youtube videos about specific topics if you have a hard time grasping them.

    Overall, I feel like I've learned a lot, especially intuition for all the foundational concepts and skills in doing data science with python. This review is for 2021. Things might change so be careful with any advice, though it's unlikely major parts will be different.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 18 hours / week

  • Georgia Tech Student2021-12-09T10:36:14Zspring 2021

    It is a very hard course, takes a lot of time and devotion but you also get a lot back. I learned so so much and this is the best OMSCS course that I did by far.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-12-07T18:03:27Zfall 2021

    Machine Learning is a must take class for 3 specializations, much to the detriment of the topic. The class is too broad, the needs of the students are too broad, and the skill range of the students is too broad. In fact, the entire class can be summed up as frustratingly broad.

    The class contains 4 vague assignments, each 3 weeks long, that are at least 10 pages of writing in addition to a midterm and a final. In order to succeed on the assignments, which require a significant amount of work, you have to watch the office hours. This is silly. Rather than having the assignments detailed enough instead we're required to figure out what to do based on an optional part of the class. Because of how much material the class covers, you're allowed to use existing libraries and borrow code from the internet to complete the assignments. Worse, the feedback from the graders is detailed but not actionable. It's hard to know what you did wrong for a report. It takes 2-3 weeks to get grades back because of how long and broad the reports are, which prevents students from getting a real feedback loop to improve as the class progresses. Exams test your theoretical understanding of the material and were fine for the most part.

    This class has had the worst quality Ed discussion and Slack discussion out of any class I've taken at OMSCS. A third of the posts are about theory, a third are about some very specific library problem, and a third are about the assignment requirements. Many posts were left unanswered and it was frustrating to see such an interesting topic not motivating discussion among students.

    I was very disappointed by this class. It should be reworked so the material can be focused. Maybe split into multiple classes. Assignments shouldn't be black boxes. Prof. Isbell is involved with the class and clearly cares about students, but the needs for the class are beyond what the current course can handle. This class isn't even that difficult -- it's just stressful for no reason and offers little support.

    Some suggestions: the problem sets are interesting! Some of the theoretical proofs were unexplored in the class. To reduce how long it takes to grade, include some sort of coding assignment or quiz. Reduce the big report size or number.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-12-06T16:22:26Zfall 2021

    To preface this, I want to state that before taking this class, I have taken ML4T, RL, CV, and CP. I feel that these classes were good preparation for taking this class. I also have 5 years of experience as a Data Scientist with a very heavy math background working primarily in Machine Learning, and went into this class already knowing sklearn and general data preprocessing, along with experience in reinforcement learning.

    Projects: Beating the dead horse, but these were the bain of my existence. I get that these are made to make us search and learn, but CP did a much better job of making us do that, with reasonable expectations of how to try and get the best grade possible with growth and exploration in a reasonable fashion. The requirements passed to us wouldn't be so bad if there didn't seem to a inconsistent grading standards and expectations, and the hidden rubric.

    Problem sets: These should be done, even though they are ungraded. I found that they were trivially easy, but did help in pre-pairing for the final. Do all the problems in each to have a decent preparation for the midterm and final.

    Tests: After having taken RL, I was prepared for the brutality of the tests, and while I found them challenging they were relatively accessible with adequate studying.

    Recommendation: Don't take this class unless required, you will get more useful experience in the other ML focused class. This class is just hazing, and is not worth the stress. I like machine learning, but this class made me feel resentment for the class design and I had no interest in the projects, and felt like a battle of attrition.

    A1: 72

    A2: 88

    A3: 70

    A4: 85

    Midterm: 63/120

    Final: 75.5:110

    Final Grade: A

    Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-12-06T15:38:08Zfall 2021

    Prerequisites: I took ML4T and RL prior to taking this class and I think it was extremely beneficial. The background you will get from these other classes will definitely help to make your life easier when looking at the material in this class. This class can be done without them because it is an introduction class in theory, but the workload makes it very hard to practically spend time mastering some of the basics. If you were feeling ambitious I would say watching the lectures on Udacity ahead of time would be extremely beneficial in terms of time management with this class.

    Assignments: These are by far the biggest test of your time, patience, and knowledge. While they are fair for the most part, the amount of data you need to generate can be pretty crazy and the analysis you need to put into it is very time consuming. The rubrics they give you are fairly vague but there is certain criteria they are looking for. To get this you NEED to go to office hours. Office hours are essentially not optional if you want to get the best grades on these assignments. Don’t spend a ton of time making your code perfect or trying to make every graph pretty. Get the data and move on. Start typing your report ASAP because I promise you will learn something along the way that will make you change your code anyways. I’m almost positive they rarely look at the actual code in the end.

    The big thing here is they make you choose two datasets which you will use for your first three assignments. You DO NOT want to have to change these during the course - it will just make more work for you. For people who aren’t familiar with Machine Learning I felt it was a pretty tough ask since you don’t really know what good vs. bad data really is. They say to pick “interesting” data but it’s pretty vague. I personally recommend picking one binary classification dataset and another with multiple. It’s a good contrast. Don’t pick something with a million data samples either - I would say keep it all under 10k and even less is probably fine. You will want every minute back when your learners take forever to run.

    Most people used Python and if you took another ML class before this you will likely already be familiar with SKLearn. This is heavily used in this class. Do get familiar with it if you aren’t already. For ease of use and consistency, the datasets provided in this library are ok to use. I wish I had in hindsight.

    Exams: I feel like these tests are strategically written. They are fair but there’s definitely questions which are intended to separate the best students from the pack. The average is usually insanely low so don’t worry if you don’t do amazing - you aren’t alone. I personally didn’t spend a ton of time preparing for them because I felt there was a point of diminishing return and I think i was correct in my assumptions.

    Problem Sets: These are optional but resources are readily available online. They seem difficult when you initially read them (and some of the questions are) but it’s worthwhile in the long run. It can help your grade and in hindsight they will help you prepare for the test. Just do it even if you have to get better understanding later - you will already be in a time suck anyways!

    Summary (TL;DR) / Tips and Tricks: Picking datasets is key for making your life easier here - look at what SKLearn has and stick with those or something similar. Don’t get crazy unless you really feel confident. They are just used to show understanding of concepts, not to reinvent information theory. Start writing your reports ASAP. Even just get the introduction done, explaining your datasets, etc. Just start writing and it will save you a ton of time later and it will let you know what you really need to code sooner. Just do the problem sets - even if you just get something down and make a valid attempt it could help you.
    I personally got a subscription to Medium & Towards Data Science online. The articles on these sites are invaluable. Join the slack channel. Don’t go it alone. People like collaborating and you will learn a lot and be able to ask questions faster. Office hours are key for understanding what you need to put in assignments - I won’t say you NEED to attend all of them but when assignments come out, definitely be there.

    Overall Impression: I personally feel like this class is much harder than it needs to be. The time you need to put into the assignments I think takes away from the learning experience. There is a lot of value to be had in this class and I think most people feel similarly to me. I’m not going to bash it like others because Isbell is a very good instructor and this is graduate level coursework. Just expect a big time commitment and don’t give up!

    Rating: 3 / 5Difficulty: 4 / 5Workload: 35 hours / week

  • Georgia Tech Student2021-11-29T17:13:41Zfall 2021

    Ugh! I just wrote a detailed review and it disappeared without posting. But read the review below that starts with how this class "... so blatantly disrespected my time and effort". That statement perfectly sums up this class. Lectures are terrible. Professor IS sarcastic and down right rude. content is insufficient. Grading is arbitrary and, frankly, the TAs doing the grading are not even reading the assignments. For example, I got 40 points off on one assignment because (according to the only feedback provided) XXX is missing. But it wasn't missing. I even started a sentence with "Next I did XXX" and then went on for 4 pages explaining XXX, including multiple graphs and tables. How can they get away with not even reading it?!?! So frustrating. If you don't absolutely need this class for ML specialization, do yourself a favor and skip it entirely!

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-11-27T00:14:57Zfall 2021

    As someone who works with machine learning models on a daily basis, my expectation of this course was to dive deeper into the essential aspects of the models and algorithms that empowers students to explore and experiment. However, the setting of the course makes it extremely hard to do so. With all common supervised learning, unsupervised learning, optimization and deep learning (game theory) packed into one course, for each section the instructor could not get too far on the topics except for general understanding and philosophy. I cannot images what it was like for the ones who don't really have much experience in machine learning to take this course, since the videos are usually at elementary level, yet the assignment is asking for almost a review paper of the machine learning algorithms, and scores of the assignment are just frustrating.

    I understand that the goal was for the student to explore, but it could save the students so much time if the instructions on the assignments could be a little bit more specific. I took this course together with a computer vision course, which is equally time consuming because of the large amount of content that the teacher would like to share. Yet the computer vision course takes most of the time in sharing the overall structure of the computer vision academic field, almost like set a book shelf of the field, which enables students to fill in the content via more reading in a flexible manner. The CV instructor spends time to set the overall environment for the homeworks, so that students could spend time to understand and practice the core algorithm part. With limited time we could spend on each course, I just hope that the instructor of this course could spend a little more time on setting up the environment and the knowledge structure for students to learn the most out of the course.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 50 hours / week

  • Georgia Tech Student2021-11-26T06:10:38Zfall 2021

    cleared because omscentral founder is being a bitch

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-11-25T05:47:06Zfall 2021

    This course is miserable. I have never before taken a course that so blatantly disrespected my time and effort. The biggest problem with ML is that the Professor and TAs will insist that things work. For example, they will stubbornly defend that the assignment descriptions on Canvas are “complete”. No. No they aren’t. Don’t take my word for it. Take the dozens of reviews below mine. But the teaching staff seemed very indifferent to student feedback about the course.

    Assignments: Students will need to listen to 1 hour of Office Hours every week just to figure out what they should do on the assignment. And each Office Hour matters — you might think you have everything working until the week before the assignment is due where the TA specifies “Oh yes by the way, you need to show X”, and then you’ll need to go back and rework your project so you can show X. Want to work ahead? Lol, forget about it. Yes the assignments are released weeks in advance. No, you will not have weeks to complete them. You’ll likely be juggling other assignments and exams. You can’t even start on them until you have listened to an Office Hours that tells you everything the assignment description lacks.

    Exams: I actually was fine with the midterm, and kind of liked the format. It does really encourage students to have understood the material (rather than just memorizing formulas and such).

    Lectures: The lectures are great for some subjects, and meh for others. I felt like the Supervised Learning lectures were phenomenal. We didn’t get too into the math, but we did do a couple proofs that I enjoyed. There is a good focus on building intuition. I thought the Reinforcement Learning lectures were quite difficult to follow, and didn’t distinguish the different algorithms sufficiently. I still haven’t really grokked what the difference is between Value Iteration and Policy Iteration.

    Environment: The professor is…condescending? I’m not sure what the appropriate word is. Maybe he perceives it as sarcasm, but sarcasm only works well when it doesn’t come from someone in a position of authority, especially when you go to that person with earnest questions about something you didn’t understand or are struggling with. Charles is the Dean of the College of Computing, and clearly a super smart guy. But if you don’t have something nice to say, maybe don’t say it?

    Grading: ATROCIUS. The grading is completely subjective based on whatever TA you get. It’s sort of the old proverb “This too shall pass”. If you’re getting great grades, be aware it may not last. If you’re doing poor, there’s hope yet. The flip side of this is that I never knew whether I should be confident in my understanding of the material, or whether I just didn’t learn anything. Sometimes I felt like I understood the material very well, but my assignment didn’t quite meet all the tickboxes on their hidden rubric. Assignments were also not graded on time. We didn’t have Assignment 2 feedback in time for Assignment 3’s deadline. We still don’t have Assignment 3 feedback in time for Assignment 4’s deadline. I don’t know how I’m supposed to improve in this class? I just do my best, spending +30 hrs/week trying to piece together something I think has compelling analysis. And then I get an awful score because I “didn’t go into detail about ___”. It’s just disheartening, and by far the worst experience I’ve had in a class.

    At the end of the day, this class was exhausting, especially for someone with a full-time job. We have a massive project due the weekend of Thanksgiving. It was the closest I’ve come to quitting this program, but some of the other courses here remind me that there is so much more to be enjoyed with OMSCS. As a data scientist, I thought I’d really enjoy sharpening my ML knowledge as I complete the ML spec. I was wrong, and even with what I’d consider strong time management, I struggled week in and week out with this course. Classes should be designed to encourage learning, inspire students, and provide useful feedback about whether the student has successfully mastered the material. This course has done none of that. As we wrap up, I just have burnout and frustration.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 35 hours / week

  • Georgia Tech Student2021-11-25T02:03:12Zfall 2021

    This is my first semester in OMSCS, and the semester is not yet over, but I am doing better than the class average so I assume I'll get an A if everything goes well.

    For a school as prestigious as Georgia Tech, I really would have expected the core ML class to be a lot better. The instructions for assignments are very vague and you are forced to watch office hours to get some more clarity, but even after than it is still pretty confusing. It makes no sense why the professors/TAs can't give better detailed instructions.

    Many students ask so many questions on Ed/Slack and Dr. Isbell responds sarcastically most of the time as if the answer is obvious. Clearly the answer is not obvious if multiple students ask similar questions after reading your horrible instructions.

    The first assignment is probably the only one that is good, in my opinion. Doing hyperparameter tuning and comparing performance of different supervised learning techniques using sklearn is actually what I do on the job as a Data Scientist. The other assignments are not horrible, but because of the massive reports that are required and all of the wasted time spent figuring out what to actually do, everyone is encouraged to import obscure libraries like mlrose-hiive or mdp-toolbox and try to figure out how to make them work for the very specific application of this assignment.

    The midterm is not very difficult, in my opinion as long as you watch all the lectures and do the problem set.

    It seems like this class was designed in such a way to waste the most amount of time while learning the least. I am very much looking forward to taking classes like ML4T next semester where the class is more well-structured and the assignments are more clear.

    PS: Some people get really into this course for some reason and it can be a little unnerving/intimidating. There was this guy who constantly posts in the Slack, but he says he finishes all the assignments early and had a baby this semester. I feel so sorry for his family. If you are done with your work, please go spend time with your newborn and your wife, instead of spending multiple hours a day debating Q-learning with your classmates. There is this guy named jontay who is also constantly sending messages in Slack even though he took this course several years ago and already TA'd it. Don't these people have anything better to do??

    PPS: If anyone in the administration is looking at this, PLEASE reconsider having this course as a core class for the ML Spec or at least design a better ML course that is not a waste of students' time.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-11-01T14:29:30Zfall 2021

    It truly is a polarizing course. The course is graded on a massive curve where a traditional failing grade could be an A. To have success in the course (which is defined as better than class average), you must attend office hours to get the specifics on what the TAs are looking for in your papers. There are no "hidden rubrics", just "hidden expectations" which are clarified in office hours. Unfortunately the office hours recordings are an hour long a session, but they are timestamped so you can quickly find the relevant information. However, even if you do try to incorporate all the components, I still found the grading rather arbitrary.

    The midterm is ridiculous - no scratch paper or notes. You're answering nuanced machine learning questions in a text box. However, the final is more relaxed and if you do better than the midterm it can pull up your grade.

    I was not a fan of the lectures. The professors take a jocular approach and banter with each other throughout the series, playing dumb at several moments. It's a huge waste of time, especially for busy professionals with full time jobs and other OMSCS courses. I also found Prof. Isbell unnecessarily sarcastic on Ed Discussion to the point where he was coming across as rude.

    What I liked about the course was the survey style across supervised, unsupervised, and reinforcement learning. The projects are massive (3 weeks a piece), and give you an opportunity to do deep exploration on self-selected datasets.

    Get ready to work. The class is straight gas, and I would never pair this class again with another course if I could do it over. It's not impossible to pair, but you simply won't get the most out of the class if you don't dedicate 30 hours a week. This class certainly gives OMSCS its credibility.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-11-01T04:58:21Zfall 2021

    One of the best classes in the program. ML really pushes you to get outside your comfort zone and learn.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-10-27T04:58:39Zfall 2020

    If you just want to pass, make sure to do the ungraded homework, and just give up the graded homework. You can also work very hard on the graded homework by going to the office hour where you will get the real requirement for them. After all, you can get a B with as low as 40%. If you are not familiar with the topic of machine learning this will be a good introductory class for this topic, as it covers some in-depth concept in a rough and fun way. The homework, if you try hard, covers some general items on how a data scientist evaluate a model. You will find this course pretty useful if are looking for a job in this field. The exam's question is similar to a set of interview problem ( but easier).

    Rating: 4 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-10-14T19:01:09Zsummer 2021

    Course arrangement is very strange - assignments are "open-ended" on the surface but quite framed when it comes to grading. However, that is not the real problem because I'm sure the curving will help most students out. What frustrated me the most is the amount of effort I had to make just to figure out what the instructors want. (One suggestion, if we truly want a free and self-driven learning experience, let's get rid of assignments and exams, let the students explore and test them with interviews.) Also, it makes me a little bit uncomfortable to see the amount of sarcasm from the professor when it comes to Edx posts. Yes, some of those questions were obvious, but it really created a toxic learning environment.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-08-01T14:09:27Zspring 2021

    Caveat: I dropped the course because of the workload, so take this review for what you will.

    The course projects are very open ended. You have to choose pretty much everything, down to the language to use. I really suffered in the first project because I didn't have too many data cleaning skills. I spent way too much time cleaning / gathering data instead of actually working on the important parts of the assignment. I wound up dropping because this course ate so much of my time, it wasn't worth the effort for me.

    That being said, I really enjoyed the open-ended nature of the assignments. It's nice to be able to implement everything from scratch and have control over every aspect of the project. However, if you suffer from analysis paralysis like me, be warned. Certain decisions will beg your time, but you need to just make a decision and start working.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 29 hours / week

  • Georgia Tech Student2021-05-15T11:25:07Zspring 2021

    The funny thing about this course is you don't actually like it while doing it but will only understand how much you learned after you are done with the course.


    1. Assignments prepare us for real world Machine learning problems
    2. Prof. Isbell and TAs are highly active on piazza


    1. Assignment description is not well documented. You need to follow Office hours, piazza to actually understand the requirements
    2. Lectures are very boring and make you fall asleep. They only cover uber level understanding of the topics but not the math behind
    3. Grading rubrics are not revealed

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-05-13T16:04:12Zspring 2021

    I really liked this course, but I felt like it was a lot of work (four 10-page analysis papers in addition to the midterm and final). As someone who had never taken a machine learning class before, I thought this was a good survey of machine learning, both practically and analytically. The grading scheme is definitely something that you need to get used to because most of the assignment averages were in the 60s (meaning that a lot of people score BELOW that, and that's normal and okay for this class). Dr. Isbell cares a lot about learning and improvement, so if you do badly at first but work hard to improve, it should pay off in the end.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-13T05:15:33Zspring 2021

    Worst Course I would have ever expected to be. Take this course only if you are already into ML and have good knowledge on Mathematics. Practice writing Analysis even before entering into the classes. Lectures are another bunch of worthless videos. Do not expect the feedback to be useful for the next assignments, all are cryptic.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-05-12T16:37:31Zspring 2021

    This course was one of a roller coaster. The lecture videos are very engaging and well executed. The course provides a broad overview of different ML techniques, so depending on one's background, the takeaways could be limited. As many have pointed out, the assignments could be a nightmare given the amount of pseudo open-endedness it has. The key to ace the assignments is to attend the Office Hours and carefully jot down all the requirements the TA's mention and include each of them in the report. The grading is solely based on the report, so there's no point in putting unnecessary efforts in writing a well structured code. Keep atleast a week of time for writing the report, seriously. The page limitations on each assignments are a real concern. All the experiments, results and explanations across the required number of datasets need to be compulsorily included. In my first assignment, I ran out of pages, so, while for one dataset I provided elaborate explanations, for the second one I presented only the results, hoping that TA's will consider the code and annotations. Unfortunately the graders marked my assignment as incomplete and deducted almost 50% points even though i had coded for both the problems. The midterms and final are also brutal to say the least. However the class is heavily curved, so grade B is doable, if not A. Lastly don't let your experience with CS7641 stop you from taking CS-7642 (RLDM). I took 7642 before taking 7641 and it has a all together different philosophy.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-05-12T16:19:46Zspring 2021

    Worst course I have taken. As mentioned in other reviews, this course purposefully makes you feel bad in the beginning. And after the dropoff, everything becomes easier. This is a weed off course.

    I have learned more about ML and RL at ML4T in this new format of ML. Nothing useful is taught. It is more like "go do X" and tell us your analysis. Nothing about what you should put in the analysis, you find it yourself.

    Some might disagree and say that it is through self learning over the internet to guess the grading rubric is where they learn the most. I disagree.

    I think this is waste of student's time, inefficient, and the worst of everything.

    If you are wrong, don't expect them to tell you anything. The assignment and exam results are very generic feedback.

    If you don't even know why you are wrong, how can you improve? This is just crazy.

    I repeat, nothing you will need to learn to be successful in the assignments is taught at all. They waste your time by telling you to read the textbook and the papers and multiple resources, but those have 0 relevant to the grading rubric.

    This is a required course for ML specialization, but it shouldn't be. This is just a circlejerking and bullshitting together course.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-05-12T08:23:40Zspring 2021

    People either hate or love this course; I am part of the latter for different reasons than most are posting here. I came to OMSCS because of cost an the reputation of the university has kept me motivated to finish. I have joined countless machine learning MOOCS and always quit before getting through half; but I knew this course would be different, because it's GaTech and I would have a shiny degree afterwards. I was extremely motivated to study more than I really had time for and experiment with the datasets more than I needed to. Yes, it is by far the hardest course I have ever taken in my entire life; it deserves the high difficulty rating it has but not because the material is so difficult, it's because they have such specific ways of grading your work but they give you such generally vague instructions on what to do with your projects. So panic sets in and you rethink your work a million times before the deadline does not allow you to do any more updates. Exams were the most fair I have taken after 8 courses now, so don't worry about the 50% of the overall grade from the exams; it is literally the reverse experience from the database course. Just listen to all the office hours multiple times, that was the only reason I had a clue what they expected and why I ended up with a B. Just set the playback to 2x and listen to each one multiple times.

    My strongest advice to keep your sanity and not comeback to omscentral with an angry review: avoid piazza entirely. I did not ask a single question the entire semester and got a passing grade. You will not get help and yes, I saw other posters get condescending, unhelpful 'advice' that was just unnecessary. Just watch the lectures and office hours multiple times and read every article / watch every video on YouTube about each subject you have time for; you won't get help on piazza. I honestly think that's the best way to learn on OMSCS in general: avoid people at all costs and learn completely on your own. Lol, 'online community building', yeah not here.

    They make this course hard for a reason: the only way to do well is if you work your ass off and try as many ways to represent your work as the space on your report allows. I learned so much I really didn't mind not having weekends for an entire semester; it's still Covid times so not much else to do anyway. Not knowing to the last minute if I was going to have to retake the course and hurt my GPA was the mind numbing part. As an deep dive into ML, I think it's a great course but I had a lot of experience coming in and yes, ML4T is a great prep course; not sure why they say otherwise. The guys saying this course is bad didn't listen to office hours multiple times; if you do you should be able to squeeze in at least a B and learn a ton.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-05-11T15:46:47Zspring 2021

    Machine Learning was my 8th course and very different from the others I have taken. The initial few weeks were tough because it takes time to get a hang of this course. I liked the lecture delivery and would have liked some mathematical proofs/derivations. The TA’s are knowledgeable and helpful. Prof. Isbell is active on Piazza and Slack.



    1. The assignments are open ended. You select the data and you analyze what you see.

    2. You get to use any external library. That lets you explore various hyper parameters of the learning algorithm that would not have been possible if you were to implement it. I have implemented Decision Tree in two other classes but I only experimented with a few hyper parameters (since that was the requirement of the assignment). This also enabled exploring multiple learning algorithms in a short time.

    3. You need to analyze your decisions and the results. This helped me better understand each learning algorithm and what effect different hyper parameters have.


    1. The project description does not has all the requirements and the TA’s have to discuss them in office hours.

    2. Grading at times seemed ambiguous.

    I scored 96/99/80/96 on assignments. I would say that don’t overthink. Analyze and justify all your choices and results. Do not put anything in the report that you do not wish to analyze. Attend office hours to get an idea on how to analyze.


    The exams test how well you understood the material. I scored 66 and 79 in exams and would recommend to watch and understand the lectures, read the text book and spend less time on True/False questions.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-05-11T00:37:52Zspring 2021

    I hate this class so much. As an engineer in machine learning field, I cannot imagine I will hate the machine learning class so much at OMSCS. It is not hard, it is just the whole experience that makes you feel uncomfortable.

    For TAs, if your purpose is to make the student go to your office hour and show results/graphs as you expected, why don't write a clearer outline, instead of making students believe they can really submit their creative assignment? TAs are rude and not open-minded at all. The assignment instruction makes you believe you can be creative, but it is not true. TAs may have a list that contains everything they want from your report. If you catch up on everything, you're lucky. Otherwise, be prepared to be surprised by your grade.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-05-11T00:31:56Zspring 2021

    This was by far the worst OMSCS course I have taken so far.


    1. Assignments are straight forward but you need to plan way ahead.
    2. Exams are brutal but also tests your ability to synthesize the content.
    3. If you just do decent work on your assignments, you will easily get a B
    4. Slack channel is very helpful.


    1. I don't exactly know the reason behind this but it seems that almost everyone (TAs + Professor) has this habit of not answering the question directly. They will keep beating around the bush but will never provide answer to your query.
    2. Professor will not miss a chance to brag in front of you.
    3. Due to some weird unknown reason, they have decided not to provide all the assignments requirements in the assignment description itself. Instead, you have to spent 2 hours listening to every office hours just to 'decode' the matrix. It is tough for some of us who have high work pressure and kids to take care of. I ended up ignoring all the Office Hours sessions and still ended up with an A.
    4. Lectures content is not at all good. Even for basic concepts I had to search the internet. One thing that I disliked is that Professors skim over some concepts and leave it to the students to figure it out.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-05-11T00:15:20Zspring 2021

    There are 100s of reviews of this class already. I have nothing new to add besides the following pointers:

    • Go through all the lectures up until SVM prior to the semester start date. Make sure you take notes and really understand the quizzes in the lectures. I highly recommend supplementing the lectures with statquest, datacamp, and Andrew Ng lectures on YouTube.

    • Pick 2 simple binary classification datasets. I had one with 400 rows and the other with 800 rows. I averaged 96 across the 4 assignments. There is no need to pick crazy complex and large datasets. You can use make_classification() and make_blobs() from scikit-learn to generate datasets if you wish.

    • Prior to the semester, get familiar with scikit-learn (orielley has great books on this) and know what bias-variance tradeoff means and how to create and analyze a learning curve, and a validation curve. Scikit-learn has pretty much the code for all the plots you would need. So use them!

    • You need to develop a good intuition on all the algorithms in the assignments. By that I mean you need to understand the strengths and weaknesses of each one and fit your analysis in the report accordingly.

    • Go to all TA office hours (recorded) and literally transcribe everything they say on a doc. Use them as much as you can for the assignments. They provide you all the keywords that they want to see in your analysis.

    • Don't drop the class. Pretty much everyone (95% of the students) gets an A or a B in the end.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-05-11T00:14:45Zspring 2021

    It's better than the reviews seem to indicate.


    • You'll learn a lot. I had taken a couple MOOCs on Deep Learning and had played around with that, but here you'll go back and get a good grounding in the other ML approaches you should have in your toolkit.
    • The assignments are useful, because while they are vague, they are a pretty good simulation of solving some real problems and going through the whole ML process. It's funny, but some people think they didn't learn ML in the process of doing these assignments, because you just use libraries and don't code everything from scratch. I've got news for you: this is what you do in the real world. You have a problem, and you google to find ways of solving it and you use other people's code and libraries.
    • TAs did a good job in office hours


    • Lectures are an acquired taste
    • The first test is a bit ridiculous. It seems to be made to shake out the people who aren't serious, or who can't cut it. About 1/3 of people who enroll drop the course.
    • The worst thing about the course is the vague grading of the assignments. I turned in good quality work 4 times, but the grading was all over the map, everywhere from just above the mean to well above the mean. My work just didn't vary that much from project to project, so I think there was a random number generator involved here. But in the end it doesn't matter much because if you're above the mean, you're on track for an A.

    My advice would be take this course if you are passionate about ML. If not, you probably won't like it. If you're into it, though, don't get shaken out if your first assignment or midterm grades aren't great. Stick it out. You'll at least get a B if you have the required background and put in the effort. And maybe you'll get an A with the curve (I did).

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-10T23:03:57Zfall 2020

    You might be shocked by the first assignment grades and shocked by the first exam, but it is not difficult to do well in this class. If you work smart and pay attention to what they are asking of you and do it, then you will do well. It's actually a medium/hard difficulty class, but it can be time consuming. I went in thinking I could blab on mindlessly in the reports about what I did and not study very much for the exams, but it isn't like that. Try some proper analysis in the reports (paying attention to the specific questions the assignment is asking) and closely watch the lectures for the exams (stopping frequently to understand), and you should have an A at the end. I dropped my first attempt because I couldn't handle ML and CV in the same semester. The second time through was much better because I knew what was expected (though frankly I didn't do as well on the exams as I could have). This is NOT a "very hard" class. Oh, and do all of the extra exercises to get prepared for the exam.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2021-05-10T21:14:30Zspring 2021

    Avoid this class if you can, this is the worst ML class.

    Why it's bad

    • Arbitrary grading. There's too many students to properly grade on analysis, so what ends up happening is TAs skimming through everything and if what they're looking for isn't dead simple to find, they'll slash like 30% off even if it's there. Regrading is non existent and the rest of your grades are pretty much relative to your first paper.
    • Waste of time. You don't truly implement any code, so it's difficult to gain a practical understanding of ML, yet you have to spend hours grinding sci-kit learn docs and formatting your paper just write.
    • Awful lectures aside from reinforced learning. This isn't surprising as the professors specialize in RL.
    • The exams also have arbitrary grading. It's T/F but you get graded on your explanation, which is subjective IMO especially for how fast the TAs will have to grade things.

    How it could improve

    • Create code repos with unit tests for assignments and use gradescope like every other class. You can then design what parts you'd like students to discover on their own.
    • Have a LaTex template for everyone
    • Either get rid of the exams or actually put effort into them.

    If you have a pulse (complete all the assignments and watch the lectures), you'll at least get a B.

    Rating: 1 / 5Difficulty: 2 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-05-10T16:22:13Zspring 2021

    The projects are very focused on theory, which imo is not great for getting your feet wet in a topic of this complexity. First, the project requirements are vague and basically go explore and explain your findings, if you don't know what you're findings mean make something up and try to sound intelligible. This is my second time taking this course, after flunking the first project the first time around I've learned the less effort spent leads to higher grade. I didn't have to watch any lectures (nor could i stand to) and put in some cursory research on wikipedia and did fine on the papers. Little coding knowledge is required for this class, and I think the focus on exploring in the paper is counterproductive since the TA's seem to have as little idea as the students what is required. Professor please redo the videos like Graduate Algorithms does, and cut out the fluff. It may seem funny to you, but for someone trying to understand something its distracting. Also please create projects with achievable goals.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-06T21:10:53Zspring 2021

    As someone else said, this class is indeed polarizing.

    I came in as a software engineer that has no experience in ML, although I have strong fundamentals in math and computer science.

    This course was a beast and a half but I enjoyed it thoroughly and expect an A.


    • I felt that this class gave a broad enough overview that I can go off and get deeper into areas of interest. As Professor Isbell mentioned, this class is meant to give you a foundation.
    • Unlike many others, I actually enjoyed the assignments. They took a LOT of time between coding and writing, but it was much more satisfying than being handed a rubric. The open-endedness sometimes troubles students. I found, however, that the open-endedness made me go out and explore more than if there was a strict rubric. If you generally listen to office hours and stay active in slack/piazza you'll do fine. I ended up getting a 100 on 3 of the 4 written assignments.
    • The course staff is sometimes a bit sarcastic but otherwise present and extremely helpful
    • Some alumni like to hang around the slack channel to help, so having more people is a big plus


    • My biggest con was that there was no break in the assignments (because of no spring break since coronavirus). It felt like you were always on your back foot trying to catch up with the work. You get a month for each assignment, try to do a little bit each day to stay on top of it.
    • The midterm was a bit over-the-top. It's designed so you purposely run out of time. Do the T/F last and try to get something down for everything.
    • The non-linear grading scheme is spooky if you're conditioned to other GaTech classes. My final raw score was around an 80% (assuming midterm and final are the same). Here's the biggest piece of advice: DO NOT DROP. Unless you seriously got 0s on assignments or have some sort of issue preventing you from doing the work, do not drop. Statistically, only 3% of students get below a B.

    Overall: I felt like I learned a lot, but it was not without sacrifice. This was the hardest class I've taken so far, but also the most rewarding. I think back to a startup interview where they asked me to talk about the machine learning life cycle and I didn't know what to say. I could nail that interview now.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-05-06T02:55:35Zfall 2020

    I ended dropping this course.

    The assignments are open ended - you even have to find your own data to play with. So you might think you have finished them, got a working code etc, but they will pretty much fail you because they want to read "something interesting, not the obvious".

    It was seeming like a creative writing course. I do not have that kind of time, and getting basically an F in an assignment after working 4 days flat out, was too much to handle.

    Don't take this course unless 1) you have tons of time to spare 2) you are a researcher in this field.

    The lectures are light, the prof is quite active and helpful. The textbook goes on and on. For a technical person, reading such textbooks is quite annoying.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-05-04T02:08:54Zspring 2021

    See "Difficulty" and "Workload".

    Rating: 4 / 5Difficulty: 5 / 5Workload: 24 hours / week

  • Georgia Tech Student2021-05-04T00:02:57Zspring 2021

    This class really bothered me. I don't feel like I learned what I had hoped to learn. The lectures really focus on the theory of various algorithms, and unfortunately the assignments focus on theory as well. If you aren't required to take this course, then don't take it. You will save lots of time by taking any other online course on coursera or similar, and learn just as much if not more.


    • The lectures are actually enjoyable to watch. Prof's Isbell and Litman are entertaining and are good at explaining most concepts (except for the MDP lectures)


    • the assignment work is very monotonous and unexciting. you will spend lots of time setting up experiments and figuring out how to run them efficiently and make plots describing the results. very theoretical, not very fun. I wish the assignments focused more on applied problems faced in the world
    • you'll have to watch all the office hours in order to understand what to do in the assignments, since the assignment description does not explain the best/expected approaches to take. In my opinion, office hours should be for those students who didn't understand the concepts presented in lecture. They should NOT be to explain how to do the assignments.
    • Personally, I think I could be great friends with Prof. Isbell- he's a funny and intelligent. However I think the way that he communicates is annoying- sometimes it seems like he is intentionally being vague and convoluted

    All in all, I got very high grades on the assignments but didn't put in as much work as many other people. My advice for assignments is watch the lectures, watch the office hours. do what the TAs say to do in the office hours. in your analysis, try to relate concepts you learned in lectures to the results you see from your code. They don't need to be perfect, just explain them using concepts from the class.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 16 hours / week

  • Georgia Tech Student2021-05-02T16:22:12Zspring 2021

    This is a terrible course that provides little value to the students and should be avoided. The course requires a large amount of effort to learn very little. There are several free machine learning courses available that are significantly better than this course.

    This class seems to be solely designed for the professor to not need to make any updates to the class. The assignments are extremely vague and 2-6 hours of office hours are needed for each one to describe what is actually required. The reason the assignments are not improved is because what is actually required is trivial, and the course appears hard as students struggle to figure out how to meet the vague explanation rather than spending time learning something.

    The only improvements to the course have come from students creating libraries for the assignments, making up for the lack of effort put into the course material by the teaching staff.

    Overall there is a ton of effort required by the students just so the professor doesn't have to make any changes to the course. You end up learning very little compared to the time spent because there is actually little content. The course passes anyone that turns in the 4 assignments so it fails in every regard that a course could be measured by.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-05-02T04:48:19Zfall 2021

    Lectures are fine but way too long and includes too much useless distractions in my opinion; some people like that style, for sure, but as a core course, I feel like it should really stick to the content even if some people find those drier and less interesting. If they cut out the meaningless banters, they could save students about 50% of the time without missing any actual ML content... Besides, they claim that in these conversational lectures, one of the professors is unprepared and is reacting to the questions given by the other professor - however, in multiple instances I'm pretty sure the professor answering the question is just playing dumb - like how can you not know the answer to that question even if you are not prepared? I personally find this playing dumb part really annoying. In fact, I've watched lots of other lectures (e.g. Stanford ones) and found those to be much more concise, to the point, and with greater depth.

    The assignment grading is kind of a joke. I'm sure some TA's provide accurate and constructive feedbacks to some of the reports they grade, but there is very little consistency in the grand scheme of things. The trick here is to not care about the grade at all. I feel like they could save some cost by just running the reports through a random number generator instead of having TA's go through them and then spitting out a random number. Like my project 2 was kind of a hot mess but got a high grade, and my project 3 which I'm pretty sure adheres to the office hour instructions, got a barely average grade. The feedbacks were like "I know we've said this, but actually, do that" lol.

    Good thing is I stopped caring after project 1 (project 2's grade was a pleasant surprise haha). I do have a pretty decent ML background, so the exams are not too much of a challenge for me. Pretty sure I'm getting a solid A, mostly just due to the exam grades.

    Bottom line: if you can avoid this course, avoid it. If not, if you can get decent grades on the exams (at least above average), stop caring about the project grades and spare yourself some frustration from thinking about the grades - turn something in and hope for the best, you may get a high score or you may get a low score - doesn't matter as long as you get "okay" grades. If you aren't particularly good at taking exams, well then best of luck and hope you get assigned a TA that actually cares about enforcing consistency.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2021-04-30T17:29:11Zspring 2021

    This must be the single most polarizing class in the OMSCS program. For whatever reason, it also easily has the most misinformation surrounding it. The class is a good survey class to machine learning, full stop. It places a strong emphasis on intuition and analysis rather than deriving algorithms and equations, which often throws people off. And frankly, students go about the class in all the wrong ways and then give blame the class with bad reviews here.

    Follow these practical tips and this class will be so much more manageable.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2021-04-25T17:01:53Zfall 2021

    No point of really going into details for improvements because this class will never change anything, but here's some heads ups.

    IMO, first assignment is the easiest, and most reasonable in terms of the assignment description and libraries needed to use. (scikit-learn probably)

    The second assignment isn't too bad either, but it's the same week as the midterm, which makes it a much bigger struggle. (I mean seriously, the midterm could easily be a week earlier or later smh) However, the libraries needed for this, (mlrose-hiive probably) are unclear and problematic.

    The third assignment is by far the worst, with a super vague prompt, and we aren't really given any of the tools needed to do well on this assignment IMO. (Visualizing clusters is vaguely discussed, but turns out to be super crucial for this assignment)

    The fourth assignment is also frustrating because the libraries are problematic again (mdptoolbox-hiive probably), and unclear assignment prompt.

    Office hours are bizarre, they essentially just answer a stream of Piazza questions with vague common sense answers and a hidden assignment prompt detail here and there, which if that's all there is, I'd prefer they just type out the answer, so at least we can ctrl-f.

    Also, some people spend stupid amounts of time on experimenting (i.e. 10 hours on one small piece of assignment which is silly IMO), I recommend trying to put an upper bound on the amount of time you want to wait for an experiment.

    Also, some people hate on lectures, but I think they are pretty good. Readings are nice bonus, but honestly more supplementary and can be skipped.

    Tests are silly hard also, but at least they hard for everyone.

    Anyways, biggest gripe is by far the assignments, but hey at least the class is curved, and there's a pretty grading curve so it's all justified.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 14 hours / week

  • Georgia Tech Student2021-04-17T13:56:52Zfall 2020

    Do not take this class for any reason

    If you are in the machine learning concentration it is worth changing concentrations to not take this class.

    This class is a giant waste of time and is an embarrassment to Georgia Tech when comparing it to the several other freely available Machine Learning Online Course which are significantly better and actually teach something with the time taken on the course.

    The assignments in no way help the students learn machine learning concepts and the grading does not correlate at all to whether students understand the topic of the assignment.

    The professor claims that the assignments are very vague and open ended to allow students to explore the topic but in reality this is just so the professor doesn't have to change the course and can just rely on the T.A's to grade off the hidden rubric that takes about 4 hours of office hours for them to babble through.

    If the assignment rubric was actually written out it would take about 5 sentences to get all the useful information required for each assignment.

    Again, do not take this course, you will learn very little and waste a significant amount of your life for nothing. My only suggestion if you decide to take the course is to sign up for another course so when you realize how terrible this course is you can drop it.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 32 hours / week

  • Georgia Tech Student2021-04-02T15:54:02Zfall 2020

    If you are in HCI like me, you do not have to take this course, you can take CS 6601 Artificial Intelligence instead, and it has much better reviews. so if you can avoid this course just do it.

    The Cons in most of the reviews are true. If you are new to the topic of ML, this course can make you hate the field or burnout, I actually burned out, or at least my psychologist thinks so, lol. What I dislike most was the material, it was just not professional, I like the humor but not at the expense of learning, it was just a lazy delivery. The exam exercises were at least 5x difficult compared with the toy examples, it seems there is not a progression from easy to difficult in the lectures. It is a shame because I guess both Isbell Charles and Michael Littman are very knowledgeable and recognized in the area, I am pretty sure they can deliver better in didactical terms (they also seem like nice guys in podcasts :) ).

    The pros of this course are that you will touch a lot of topics of ML and you will have a lot of hands-on experience, just do not expect to be an expert, this is more like a survey course. The course has a generous curve, most of my scores were around 50 or even below and I got a B.

    While you will "learn" a lot, the actual information is not difficult, but the hidden rubrics and workload of the projects make this course unnecessarily hard. This is the example of a difficult course with a lot of material/projects but in the end, you felt that you learned very little compared to the actually invested time. That is, I am completely sure that one can learn much more and investing less time in another course.

    Recommendation to professors and students

    1. Please, update this textbook, it is horrible and not engaging to read (Tom Mitchell's Machine Learning). I learned more from O'Reilly's books.

    2. Office hours are important, but, please, do not use them to reveal the hidden rubrics, be clear upfront in the assignments.

    3. There are several new students eager to learn ML, just do not ruin their passion by burning them out. One way is to have preselected datasets that are no big, but enough for learning purposes. In the beginning, people just do not know how much time they will waste in iterating large or crappy datasets (students at that point do not really know what is large or good). Please be more specific.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2021-03-18T15:37:22Zfall 2020

    The class material was slapped together with minimal effort, which earns it a minimal rating from me. At least 33% of the lecture videos just fluff/bromance banter. The class producers created zero code framework to work with, forcing some heroic past students to do their job for them (e.g., make the mlrose library). Exam grading is arbitrary and capricious, and homework grading is draconian. The main professor (the dean of the CS department) thinks he is teaching people the same way one would teach a machine, which is the wrong choice and is really a rationalization to save him time and feed his ego. I urge you NOT to specialize in Machine Learning specifically because of this man. There's plenty of better ways to learn ML out there.

    Yes I got an A because of the extreme curve, and yes I learned something but only because I spent an ungodly amount of time on this class. I've taken Intro to Operating Systems, Computer Vision, and Intro to Graduate Algorithms and spent less than half as much time on any of those. This class is 5x less efficient for learning/time than going through FastAI notebooks. I leave you with a direct quote from him on Piazza, and a brief reubuke:

    "A couple of years ago, a good samaritan student would post a 'requirements' document for each assignment.

    For one of the assignments (maybe it was #3), he missed something that was written down explicitly in the assignment and talked about during office hours and on piazza (he just forgot to put it in; to err is human). Some ridiculous percentage of the students missed that part because they just followed his list (some admitted to me out of band that they didn't bother with office hours, etc).

    That's amazing on multiple levels, and a lesson about how folks internalize information."

    First of all, office hours are supposed to be optional. Second, one could follow the assignment instructions to the letter and still get a zero if they didn't watch office hours. If a student needs to clarify the instructions and that many people felt the need to depend on them, don't victim-blame the students. It means the instructions failed and the teacher is a failure as a professional. Stick to being dean.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 65 hours / week

  • Georgia Tech Student2021-01-25T18:49:35Zfall 2020

    Any difficulty in this class comes from the fact that you will never know if you're on the right track as expectations are never made clear. As a result, this class actually caused me to lose interest in ML, sad, since that is a large part of my career.

    Here's the deal; The assignments are all easily completed (1-2 hrs each) with basic knowledge of sklearn or t-pot, its the writeup that are the issue. You have no clue what they're looking for, and you have 10pages to fit everything (including graphs) in. In the end I just described the trends in a few graphs, didn't even bother to think outside the box, and that seemed to work best. Essentially, dumb it down. The TAs are amateurs and won't understand any in depth analysis or methods.

    The exams are long, but not tricky. IMHO, just watching the lectures once should be enough. Since they are open ended, try to use layman's terms to ensure the TAs can understand anything at all.

    I ended up with an A in the class, but I didn't know my grade until the transcript was up. :/ If you can avaoid the class, do. If not, I'm sorry.....

    Rating: 1 / 5Difficulty: 3 / 5Workload: 6 hours / week

  • Georgia Tech Student2020-12-29T22:09:07Zfall 2020

    Review: 7641 is a highly polarizing class, you basically either love it or hate it, mostly due to the assignments. You can put in 50 hours on a project and still get only a 40, which is intensely demoralizing. I managed to get a 100/100/100/87 and solid As on both exams, so I think I cracked the formula on how to succeed, which is in my advice below, but it's not easy. The A in the class was around a 60 or higher which goes to show how much of a curve there was. I really liked this class as it was my first real ML course, but it was by far my most work intensive course of OMSCS so far.


    Things you can do in advance before the semester:

    • Watch through the SL lectures -
    • Read first few chapters of of Tom Mitchell's Machine Learning
    • Familiarize yourself with scikit-learn, figure out how to run some basic supervised learning algorithms on datasets and it'll give you a good leg up when the semester starts. Look at GridSearch and cross validation using scikit.
    • Start looking for two datasets. They should be small (<10k rows, <20 columns) and interesting from a machine learning perspective, which could mean different sizes, number of classes, etc... I recommend going with a binary classifier if possible or just a few classes, avoiding images or continuous outputs. You'll be using these datasets over three assignments, so make sure it does not take that long to run algos against them. I recommend datasets the UCI Machine Learning Repository or Kaggle. You get no points for cleaning the data or tackling a particularly difficult problem, so get a nice, clean datasets that's interesting but not too massive (i.e. Iris is too simple/small).
    • You don't need a powerful computer, but it really helps. I had an i7-9700k which I was running at 100% for at least a week, some for two weeks, for each assignment. If you have a weaker computer it's well worth looking into Google Collab or AWS to run your experiments on. But if you pick small datasets, the CPU matters less.

    During the semester:

    • Stay on top of Slack (#cs7641) and Piazza. I was reading every new message each day and commenting quite often. Being engaged in the discussions helps you learn more than anything, plus the discussions help you figure out a lot of issues you'll encounter in the assignments.

    • Attend Office Hours, or at least watch them on BlueJeans afterwards. The rubric of what the TAs are looking for gets discussed in the Office Hours, if the right questions are asked.

    • For the assignments fit in everything you can think of to talk about, cover all your bases. Basically if it can be plotted, plot it. If it can be tuned, tune it and show your tuning. If you need to choose something, explain your choice and why you made that choice. Talk about space and time complexity and whatever your metric for success is. Compare and contrast everything and explain why everything you put in is interesting. I played a lot with matplotlib making the labels and x/yticks bigger font so I could make the graph smaller to legibly fit 3-4 plots in a row on the paper.

    • Further you can steal any code as long as it was not written for this class, do so. O'Reilly has many great examples of scikit code you can copy/paste and change as you need

    • For the non-scikit assignments which use mlrose and pymdptoolbox, there are "hiive" branches which are newer/better. However the documentation still links back to the original fork, and thus many new features/parameters are "hidden" unless you read the source code to see what's going on. Get comfortable opening up the github repo for the function you're calling to see what it's doing, and what else it can do you weren't aware of.

    • As soon as you can get the basic framework of your code up and running. You'll be running experiments for nearly the full three weeks you get for each assignment. You want to start those experiments ASAP. Even if the code isn't perfect, getting something started well in advance will let you find your bugs or what you want to graph sooner.

    • Jontay offered great advice for how to work on the assignments:

    • ML assignments are long mini-project like things. You get ~3 weeks to do them. Here are some tips:

    • Plan, plan, plan. Read the question for each project and understand what you need to do for the project (it will tell you to show XYZ. Figure out what yo need to do to show XYZ). Read the other projects in the sem too, as they link up (1 ,2 and 3 are linked). You want to make choices in assignment 1 that will make your life easier in assignments 2 and 3.

    • Before writing a single line of code, you should have an outline for what you will be doing on the assignment. This will inform your report, and how you structure your code.

    • For the 3 weeks, you should spend the first 1-2 days planning, then the rest of the first week writing (draft) code. You will run the code in week 2, fixing bugs along the way (you will probably re-run experiments a couple of times, at 12-24hrs per experiment). Week 3 should be dedicated to writing your 10+ pages of report. You will get better at using the allotted space with practice.

    • Speaking of coding, there are no points for impressive. Just do what you need to do to answer the question and move on for time. I am talking here to the student who decides he (always a he) needs to run SVHN datasets with GoogLeNet. Trust me, the graders do not give a shit, and even if they do, there are precisely 0 points allocated to "OMG this assignment blew my mind", Some of you will say "but I can present it to employers" and I will reply "yeah, and you're not allowed to share reports". Go ahead and do it as an exercise if you want, but my advice is that time is tight enough in ML that you're better off doing it after the class is over.

    Review the recommendations on OMSCS Wiki:

    Recommended Texts:

    • Tom Mitchell's Machine Learning
    • George's Notes:
    • Sutton & Barto's Reinforcement Learning:
    • Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (It's on O'Reilly) - Lots of great code examples you can copy/paste
    • In general it's good to just search (being a Gatech student you have full, free access) for any and all concepts, particularly the code (e.g. scikit) to get good practical examples. I find it better than random code snippits online, such as medium, as there is a certain level of quality O'Reilly demands

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-12-19T23:48:17Zfall 2020

    A survey course, covering a broad range of topics related to machine learning. Lectures touch the surface, and supplemental readings are provided that go deeper into the theory for the interested student. The assignments make up the majority of the effort, and are a lot of busy work. Unfortunately I don't feel like I learned much from them. Little formal guidance is given to help you learn; and the feedback on the reports is very brief. In addition to the four assignments, there were two problem sets which were more useful from a learning perspective, but they are not emphasized much in the class, so that mitigates the learning. The exams are quality. Because most students do not learn much from the assignments, performance on the exams is poor.

    By throwing enough time into this class I was able to achieve a weighted average score of 80%, which met my objectives from a grade perspective. However I don't feel satisfied with how much I learned (per unit time spent).

    I don't recommend this course. Overall I think there are better courses out there for machine learning. Even self-study is probably a better option if you are disciplined enough to do so. Because this course is required for the OMSCS Machine Learning specialization, I don't recommend this specialization; and if you are trying to learn machine learning, I don't recommend the OMSCS program.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-12-15T20:42:46Zfall 2020

    This is the 4th OMSCS class I took and is by far the most difficult one. I've taken RL, AI and ML4T prior to this class. I would say this class is very open-ended compare to the other 3 classes I've taken before. There is no gradescope involved, so no assignment or exam answer is a pure right or wrong. You have to write a lot of explanation in all the exams and assignments to show your understanding.

    I've got 92/99/100/100 scores for the 4 assignments which is relative high compare to the majority of the class. My midterm is relative low (around 30%) which is mainly because of I only finished half of them, and final score is okay (70%) and got an A at the end. So here is some of my suggestions to succeed in this class:

    • The content is actually not that difficult, a lot of the topics has been covered before in other classes like AI and RL, but you still want to watch all lectures videos and understand them well before you start the assignments. Reading materials are optional, I found midterm covers some materials that's not well explained in lecture videos but in reading materials. But I didn't end up complete all readings but still did okay in this class.

    • Start really early for each assignment, on average I started 2.5-3 weeks before the assignment due date. I've seen people start 3 days ahead and end up getting not great score and they are wondering why they have a low score?? On average I spend 30 hours + on this course each week, and the assignments are taking more time than the lectures for me.

    • So all 4 assignments are very open-ended, and it requires you to pick your own datasets and write analysis using various ML algorithms discussed in this course. - The coding part usually takes me 1-2 weeks. There will be a lot hyperparameter tuning. Also sometimes when the results doesn't make sense, I need to start over with a new dataset or some new metrics for measuring. So it's very much an iterative process. You have to keep in mind, every result/graph you produces you have to write about it in your analysis. - Write as much details as you can, any assumptions you made and any hyper-paramter you tuned. Try to explain all the results you've got. That part also will involve you doing some research outside the class. For example, you will be apply different supervised learning algorithms on the same dataset and some will do better than the others. After doing research, you may find out some algorithms does worse with dataset with a lot of attributes and that explain the result you get etc. - I used some conference template for my analysis but it's not required. But the reason I use those is to 1) make the structure of my report clear so the grader can see what's my thought process 2) requirements are usually between 7-10 pages and there are really a lot of write in that limited space, using a conference template allow me to insert more content and graphs in the report. So I recommend doing that.

    • A lot of people mentioned this already. The assignment requirements are relatively vague. It will ask some questions but it won't say clearly what kind of comparison/graphs are required. But TA usually will discuss these in more details during the office hours. So try to watch each office hour recording. That will help a lot on the assignment.

    • Another thing I've heard but not sure if it's actually true is that the grade on the first assignments is going to somewhat affect the later grading. if you score high on the first one, better chance to score high on the later assignments. So try to do well starting from the first assignment! Also this is not to suggest that if you do well on the first one, you can take it easy on the rest of them.

    • The midterm is a disaster for me. The teaching staff didn't made it clear that what type/how many questions we are going to face in the exams. So I started with a bunch of T/F in the exams and I wrote a long paragraph explanation for each of them. After I finish all the T/F in the exams and there is only 30 minutes left, I realized there are 7 more questions at the end that worth 10-20 points and the T/F only worth 2-3 points each. So I didn't finish the exam and got a super low score. So my suggestion will be, remember to scan through the whole exam first before you start and better manage your time. The final has double the time allowed and a similar amount of questions as the midterm so it is more doable in my opinion.

    In general I think I still leant a lot from this course. But this is definitely not my favourite courses. If I were to make suggestions, it will be better to have a mix of written analysis and gradescope assignments which have more clear criteria and you know strictly it's right or wrong.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-12-15T13:45:14Zfall 2020

    The assignments are designed to give you the freedom to explore and experiment with machine learning algorithms in your own dataset. All the negative reviews about grading are true but a large portion of students still do well in the final grade. An A paper is one of an expert in the field, I would rather have this than an easy A. If you don't get grade anxiety easily then I highly recommend the class.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-14T23:33:20Zfall 2020

    The class has some pros and some contras.


    1. nice video lessons
    2. the assignments are actually not bad, you get to play with different ML algorithms and get a better understanding from the lessons.


    1. it is all OPEN ENDED, nothing is deterministic. Assignments are graded on the analysis reports. Exams are open ended questions only. You are subjected to TA opinions or maybe an AUTO grader with word search.
    2. as a result the GRADING for both assignment and exams are quite random.
    3. there is a mystery rubric for each assignment. There are some clues given during the OH.
    4. the grading feedback wants to be detailed with templates, but the ones direct to you are kind of unclear and make you say 'I thought I did that' more reason to think that there is an auto-grader behind

    Bottom line, lessons and pizza are not enough. OH and slack could help to solve the mystery class. Try to do things like an auto-grader will evaluate you. Overall you will have to do lot of wondering about everything. Or if you are not shy, ask as much as you can to make sure you are not missing something ...because that can/will happen quite easily.

    For the class

    1. I would recommend better descriptions of the assignments.
    2. Rotating the TAs for grading (this could be already done)
    3. At least have the assignments/exams graded by TAs twice in a blind way, where a TA does not know what the other TA avoid bias reviews.
    4. if there is an auto grader make it available to students so they can learn how they are judged

    Rating: 2 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-14T22:29:15Zfall 2020

    Mind-blowingly terrible. Professor (also the dean) had his fun. The lectures, assignments and the piazza is a place for him to show his arrogance. I don't believe this kind of course exists, but here it is. It IS a chance for you learn how the real world is -- this kind of person gets to do whatever he wants, and nobody cares, since it's an online course. Which leads to a question of whether this program is worth it or not.

    Rating: 1 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-14T17:45:18Zfall 2020

    This is a great class, and required for the ML specialization. The format is pretty simple - lectures focus on the intuition and theory behind different learning methods, the four assignments ask you to take what you have learned and use it to explore some datasets, and the exams test what you have learned.

    The lecturers have great chemistry, but there are puns and jokes that add some color to the lectures but could annoy some. Getting through lectures at 1.5x - 2x speed helps a lot. I personally enjoyed the supervised learning lectures and the reinforcement learning lectures the most.

    The graders are tasked with reviewing some crazy number of student papers, so there is a chance that your paper will only receive a small amount of attention. For this reason it is important to write clearly, structure your paper in a logical way, and use a lot of graphs. I found that when I spent more effort, I got better grades, and when I did the RL paper in a single night, my grade suffered.

    The average rating on this course has gone down over time, but the course has not changed. I saw more students asking for answers in this class than I have seen at any other OMSCS class. Take the bad reviews with a grain of salt. If you have a pulse you get a B, and the curve is very generous.

    If your goal is to get into ML engineering, data science, or whatever, you need both fundamental knowledge and trendier stuff (like deep learning). Do not skip this class to only take deep learning, as you will have a big hole in your understanding. If you only know the theory around neural networks, everything looks like a NN-shaped nail.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-12-14T16:00:27Zfall 2020

    I have audited different machine learning related courses before, either in an online or on-campus way. Since I chose the ml track, this course is compulsory and I took it in 2020 fall. I have to say this is definitely the worst one among all ml courses I have ever taken. The two courses I had before focus on theory and application respectively. Even though machine learning is sometimes hard to be understood, the courses try to combine the course materials and homework together to make it more clear. But I cannot see this course (CS-7641) provide that. The course contents focus more on theory. However, the homework is purely about the application of machine learning algorithms. In this case, homework cannot help students better understand the course materials. And the course contents cannot help better learn how to apply algorithms to actual problems. They are almost disjointed. The instructors are pretty professional in the field of machine learning but I do believe the contents of this course need some improvements. Some students in Piazza would argue that machine learning is a subject of application and defend that the course setting is good because we have the chance to apply the methods to some real-world data. But in that way, why should I pay for this course instead of just joining some free Kaggle competitions? I know application is the core of machine learning but this course did not give me at least the most basic instruction about that. I did learn something from this course, but I don't think it is systematic.

    In addition, homework is annoying. The criteria are vague. You have to spend a lot of time and energy to obtain related information from the office hour or online sources to know what is expected for the homework. And the final grade also depends on different TA's.

    So, my suggestions are: 1) If you are not in the ml track, I would not recommend you to take this course. There are definitely better choices from other sources. 2) If you are in ml track, try not to take another course with a heavy workload, and try to do the homework as early as you can. And absolutely, you need to refer to some other materials to help the understanding.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-12-14T15:44:25Zfall 2020

    I don't like this class, especially the assignments.

    1. I get the point that the instructors want to design this as a higher level course where students should go beyond implement an algorithm, but actually can understand the mechanism behind it. But given that not all students in OMSCS were trained as ML experts or even computer scientists, I think the design of this course failed to get the balance of walking students through key technical issues and encouraging students to explore ML algorithms on their own.
    2. Coming from a social sciences background, I did a lot of exercises in my previous statistics/data analysis courses that are similar to the assignment setup in this course. Basically, you are not required to write an algorithm from scratch, but you need to explore the data with a given set of models/algorithms and explain why certain things work or don't work on that given data set. The key difference is that, in my previous PhD level class, there were only 5 to 8 students in that class, which means I was given the sufficient attention from the professor to discuss my goal, my data set throughout the course, and my professor and TA knew the nature of my data set well enough to point out what could be the next step. For this class, one TA is in charge of 50 students who were working on probably 100 different data sets. The feedback is basically is that you didn't do this and you could do that. Of course, I knew I didn't do this but could do that, but what "this" and "that" are in that specific context?
    3. Along with my second point, if you absolutely have to take this course and is a ML rookie, I suggest you use your winter or summer break wisely by going through the four assignments (especially the ones where you need to choose your own data sets). Experiment on different kinds of data to see which one gives you the best results that you can discuss your your essay and have sharp comparison/contrast.
    4. I don't have a hardcore technical background, and yes, I am happy with a B (I think my final grade is borderline B/A) and I definitely will put CS/ML on my resume. Does this mean I am happy about my experience with this course? Hell no. It only means that I probably need to find other resources, take other courses, reread the text book chapters to help me feel better about my ML knowledge so I can be more confident in my future work. But, it sucks.
    5. The video ....I watched the course videos at least three times. The first time is just for me to determine which clips are totally useless and filled up with the two instructors' name-dropping, mansplaning, no-so-funny jokes chit-chat. These clips probably weren't that bad if they branded themselves as geeky podcast channel.
    6. Lack of transparency. Many comments/reviews have talked about the issue with grading rubric, hidden information from office hours, mysterious curve/grade schema etc.
    7. Generally, from my perspective, I won't suggest anyone drop that class after midterm if the main concern is getting an A. I already spent 2 months on this course, I will push through no matter what. Still learned something afterwards and check the course off list, so I can move on. I always wonder how they would handle the class if 40% of the students hadn't dropped.
    8. My roommate introduced me to the world of OMSCS. I really appreciate the opportunity. But TBH, now there are many online master program in data science, CS, and alike in US. GaTech's will face competitors. If the faculty team won't change anything or do anything about the bad reviews, if the team simply recycles dated materials without improving it, I don't know, GaTech OMSCS reputation could be gone.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-12-14T02:46:41Zfall 2020

    This class has good and bad elements to it, but I would say overall bad and my least favorite class in the program so far.

    The good part is that the assignments are very practical and can be approached like a research project with exploration and use of any tools you like (instead of writing your own algorithms). I was inspired to use some of the techniques at my work. The tests also focus less on rote memorization than synthesis of ideas which is cool. The instructors seem to have fun teaching, which is encouraging.

    The bad part is that the assignments say they encourage exploration but are really graded on a secret rubric that you must find out from office hours! You could waste a lot of time going in the wrong direction on the assignments and get a bad grade because you could not divine the secret rubric's requirements. While the instructor may be enjoying himself on Piazza (good to have fun), some of his responses end up being a vague and cynical dismissal of the question when a clear answer would have sufficed.

    If you are in the ML specialization, you have to take the course so just go into it with an open mind and be ready to sink a lot of time into this class. If not, I would spend one of your 10 course slots on something else.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-12-08T20:57:25Zfall 2020

    I don't understand why a lot of students still choose "strongly liked" this course. You should ask yourself whether you like the whole setup of this course or you just love machine learning in general! Over 50% drop rate in each term does mean something!

    To student who wants to know whether you should take this course:

    1. if your specification is machine learning, you have no choice
    2. if you are completely new to machine learning, don't take it, take ML4T (CS7646)
    3. if you are new to machine learning and you have taken ML4T, don't take it, take Reinforcement Learning (CS7642)
    4. if you have taken CS7646 and CS7642, don't take it, take Deep Learning (CS7643)
    5. if you have taken CS7642, CS7643, CS7646, dude, you should change your specification to machine learning! GOTO #1
    6. if you still don't feel confident, explore the internet, there are plenty of great resource! Be specific!

    In summary, in order to gain the knowledge in this field, you DON'T have to sacrifice your entire family time, and suffer the pain that the assignments in this class gives you. Yes, you will learn something eventually, but you would also waste a lot of time understanding the implicit standard from the graders!

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-12-08T17:20:45Zfall 2020

    This course is a joke. And anyone who supports this course on OMSCentral or Piazza is also a joke. I feel sympathy for those poor guys who really do not know what is good and what is bad. It is for sure a disaster for them to get any improvements in the ML space by not knowing what they are supposed to learn. I am not talking about the assignments and exams in this course (I am getting average 80+ in the assignments and 75+ in the exams though). Even from the lecture content perspective, the course is a joke. I do not think Prof Isabell himself understands the ML algorithms from end to end. The lectures perfectly bypass any important technical details of any ML algorithms which are important for graduate level students, which I do not think is a coincidence. I am pretty sure the Great Great Prof himself does not understand them fully. Can anyone imagine a graduate level ML course does not even mention the concept of loss function in any single lecture? Isn't it a disaster for students not to be able to answer questions like what the difference of loss function to optimize for a classification and regression problem in a job interview? Waste of time and money and I feel bad for anyone to take this course.

    Rating: 1 / 5Difficulty: 1 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-12-08T02:56:17Zfall 2020

    I loved this class. And I may be on the very few minority that love this class. This class feels and is the actual graduate level class.

    There is no hand holding and directions like do x and y and you get to z. There are many classes in this program where your work are bounded by arbitary grading rubric. This class is not one of them. The assignments are unbounded by any sort of annoying grading rubric and we are free and supposed to explore as much as we can and write a report for each assignment.

    The class has no rubric in traditional sense. But you can and should attend or watch all the OH later to hear what kind of exploration or graphs TAs expect. The you can explore and write MVP hw report and then keep on exploring further. This helps in learning a lot.

    This is what a true graduate class looks like. The report writing helps you communicate what you did. And this is all what graduate education is about. What is the point of all code and research if you can’t write a cohesive write up/journal article to tell the whole world?

    All said this class takes a lot of time. I spent on average 25 hrs/week. I could have spent more on it if I had time but I had to time box my committment for the class to spare time for other aspects of my life.

    I am staying at B for now and I am happy that I took this class as I learned a lot abt ML.

    Unsolicited advice - if you are planning on taking this class play around with python scikit packages, mlrose, mlrose-hiive, mymdptoolbox and gym open ai.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-12-08T02:27:07Zfall 2020

    Wonderfully designed course. Typically, courses have dry exams, and coding assignments. This course is designed around making the students write papers that describe solutions they developed. It is very hard to get good scores without a thorough understanding of the subject. Exams were a delight as well, I enjoyed answering the questions. The grading of the exam is very strict though. At the end of the class, I feel I learnt a lot especially the fundamental concepts of ML. The format of the class assignments aids in learning and helps in retention of this knowledge. Professor isbell is involved in Piazza answering questions.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-08T02:25:04Zfall 2020

    This is the worst course I have had among the 7 I have taken so far. It has 4 assignment and two exams. Exams are pretty decent. Midterm is quite lengthy but questions are something you would be familiar with or will challenge your understand of the subject. The assignments though are disaster.They are too open ended . They dont mention much in the assignment about what they want but will point out that there wasnt much. Even the feedback that they say will help you isnt upto the mark. well most of the time I should say. There is one feedback which i sent for review was really good but other feedbacks were useless with generic statements like your analysis is wrong or it lacks depth. I enjoyed all my classes in omscs so far, AI, AI4R, ML4T, HDDA, NetSec etc but this was where neither I felt I learnt much nor did I enjoy it. Since this is a mandatory course foe ML specialization, my recommend to students would be to start the assignment early, they would look too easy but you need to do lots of experiments and will need time. Put in as much as you can with smaller figures and multiple figures in the same row. Try to write it as if you are writinng a technical paper. simlar language or use of referrences that I felt fetched better marks. dont get too demoralised by the marks you get from assignments.. they dont reflect on you but just the profs who designed this course poorly and lazily.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-12-07T21:05:15Zfall 2020

    This course was not fun. It could have been fun, but there were a number of stylistic and pedagogical decisions that made it not so. First, the basics: this course had 4 individual assignments and two exams. The assignments required you to write code in either python or Java, usually heavily relying on third party packages for the meat of the work. Code was not graded at all, only the reports, which were limited to 10 pages in most cases. The exams were short answer format. There was no group project, thank God.

    The primary issue of this course is one that's been hammered in other reviews: the grading is awful. This is just one of those classes where you will never know what grade you'll get until it's over. You'll probably sit at a 50-70 average for the whole semester, and then there will be a 20-30 point curve. The assignments all have hidden rubrics, and the requirements are never told to you. Apparently this is by design, which is ridiculous. ML4T covers much of the same ground as this course, and I learned much more there, and I was able to make sure I was on the right track based on my project output and grades. If you want even a chance at making above a 50 on an assignment, you have to pore over the office hours to tease out hidden requirements that you'd have never known from the assignment instructions. And even then, you're looking at a seemingly random grade back, with insufficient feedback on what you messed up and how many points you lost because of it.

    Another, but less significant, issue is that the lectures are pretty long-winded. They're done by two professors, not just one, so they're all dialogues, which is an interesting idea, but in practice it just results in videos that seem twice as long as they could be. And the jokes... I won't give them too hard of a time, but sometimes it was hard to get through the videos.

    On the plus side for this course, the exams I actually found better than in other courses. Up to this point, my exams had always been either very general closed-note multiple choice questions or extremely nitpicky open note multiple choice. In ML, they're short answer exams, with ~18 questions that take 90 minutes (midterm) or 3 hours (final). I found the questions to be pretty fair and reasonable assessments of the course material, though the grading is again the very skewed sort where a 60 ends up being an A. The other positive is that every assignment does result in a detailed breakdown of the point distribution, which should give you an idea of whether you're doing globally dismal or just locally dismal.

    All-in-all, this was a tragic course that I wanted to enjoy, but couldn't. Because of the grading and the curve, you're more in competition with your classmates to make sure you're above the mean rather than just trying to score highly on each assignment. Unless you absolutely have to take this course, I'd suggest avoiding it and taking ML4T instead, which was great. If I had to rank this course with respect to the courses I've taken thus far, it would go like this: KBAI > ML4T >>> SDP > HCI >>> ML >IIS.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-12-06T06:29:45Zfall 2020

    This is my first comment for OMSCS. As people working in the industry full-time, I normally don’t take time to write reviews but I feel strongly that I need to write something for this course.

    Besides all the cons a lot of folks already mentioned about the ambiguity in assignment and grading, I also want to mention that the content setup is ridiculous. One specific example is that one of the randomized optimization algorithms MIMIC instructed in this course. The instructor set up a whole chapter just to introduce this algorithm that is a paper published by himself in 1997. I admit that the paper was accepted by NIPS and it was a great achievement. But so what? It’s just not practical nor relevant to modern ML at all.

    Compared to core ML courses from peer CS programs such as NYU, Stanford, or even MOOC like Coursera, the setup and content of this course is much inferior.

    Just avoid this course if you are not committed to ML track. Take 7643 deep learning if you’re really interested in this field. Hopefully for one day, this course gets kicked out as a mandatory for ML track. This is what a single point of failure in real life looks like.

    Rating: 1 / 5Difficulty: 2 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-12-06T01:27:54Zfall 2020

    A mandatory course if you choose the ML track, and it will actually make you question your decision to learn ML at Gatech. This course is set up in a way so that people with no hardcore technical background, people who prefer to bullshit their way up would happily get a B, and go ahead to put CS and ML in their resume. (You will see some of their "liked" comments soon.)

    For people who actually care about CS or ML, this sucks. You basically learn not much new or deep about ML, and instead of learning, you spent tens of hours writing papers, and try to guess what kind of paper would make the TA happy, -- the answer is: it's completely random. I've got scores ranging from 40-80, with the biggest difference being the font I use.

    Imagine a student with strong technical background working hard to keep a straight A, but ended up being "randomized" into a B in this course.

    My takeaway is: avoid this course, if not this program (I chose it because it's cheap), if you care about ML or CS, or your grades.

    Rating: 1 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-05T06:51:03Zfall 2020

    Note: Originally I marked this course as Neutral, but after some reflection I think it deserves a 'Like'. I think the raw frustration of the assignments, and anxiety about getting a decent grade tends to overwhelm students, which is leading to a disproportional amount of bad reviews. The assignments suck, but I don't think we shouldn't allow that to monopolize our reviews when the lectures/reading overall content is well done.

    The Good

    • Lecture content. This is my fourth OMSCS course and it's the best explaination of course topics I've had. Litman and Isabel go in depth on topics and aren't afraid to discuss underlying math and CS foundations. It's not exhaustively comprehensive - for that you have to read the assigned readings - but it's the perfect amount for a lecture. In all my previous courses I've felt frustrated about the survey-like nature of all the material - but not here. My only criticism on the lectures is that they often aren't very consistent about defining their variables, and underlying assumptions. Being more rigorous about this would help a lot.

    • Exams. The mean exam score was 51%. Difficult exams with essay and math questions. This is one of the rare OMSCS courses where you'll need a calculator while you go through exam study. I appreciate the professors didn't take the easy route and just go with multiple choice questions like other classes.

    The Bad

    • Assignments. A lot of the good parts of this class is unfortunately undermined by the frustration, and uselessness of the assignments. Not only will you learn very little doing them, you'll also get low marks. As other reviewers here have described, the assignments are open-ended explorations with a hard limit of 10 pages. You are told be selective in what you present, given a ton of work to do, and then inevitably penalized with vague for not including enough of some particular analysis in your assignment. Feedback is useless and doesn't carry over to the next assignment, and many of us students felt like we were just throwing things at the wall hoping it would stick. Assignments are really great opportunity to reinforce and synthesize information we learned in the lectures and I feel like this course just wastes that opportunity, and unnecessarily creates a lot of ill will with the assignment structure.

    • Office hours. The TA's asked everyone to post questions on a Piazza thread, then just went over each question and answered it - no matter how redundant or irrelevant the questions were. Sometimes they spent too much time answering thread questions and ran out of time to properly explain some of the specific assignment evaluation criteria. They also didn't like students to engage with them during the office hours, and instructed us to post follow-ups in the thread... which really defeats the purpose of having office hours in the first place.

    The Chaotic Neutral

    • Jokes. I see a lot of people hated the jokes and puns in the lectures. But I think these people are forgetting we wouldn't have all these great Smoov and Curly memes without those very jokes. What would the OMSCS Slack be without that!?

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-12-05T02:34:17Zfall 2020

    Did you like this course?

    big MEH... no foundational theory, hand wavy math, 4 papers with shitload of writing...not my cup of tea. TAs are good though , and some of the puns. This is more of an introduction to the field than THE main ML course of the most popular specialization at a world class university. And the lectures were more of a nerdy podcast than a rigorous graduate presentation of the field.

    Is the prof rude or condescending?

    Nah smoov is pretty sweet...


    A mess but everybody gets a B

    What’s your advice for me, innocent soul wanting to learn me some ML?

    Skip this course if you have the option, otherwise just don’t go in with high expectations (I think that's what I did wrong), and do the readings before the semester if possible.

    So there is nothing good about this course, at all ?

    who said, lectures are entertaining, they have some good intuition, and some of the puns were good

    What did you hate the most ?

    Learning the truth behind coffee and writing 4 papers of 10 pages each that graders skim through

    How did you know they skim through papers

    I would have gotten half the grades I got if they didn't

    Rating: 3 / 5Difficulty: 3 / 5Workload: 14 hours / week

  • Georgia Tech Student2020-12-04T03:01:21Zfall 2020

    This course is an embarrassment for OMSCS. I don't understand how the TAs grade the papers. I took RL for the summer before this class and found the TAs for that class to be one of the best and most intellectual people but ML it's more than the polar opposite. Anyone who is trying to do a ML specialization needs to take this class but if not then NEVER take this class. The office hours are also very crappy, in that the TAs don't interact with the students at all. I've taken 4 courses priors to this class including AI, and RL and have all A's in the classes but this class is horrendous in terms of grading and how the TAs conduct the office hours. If there is another course you can take instead of this class in the future for ML specialization, then I would strongly recommend not taking this class. This class should seriously considering changing the TAs or changing the office hours style to the RL/AI classes. Apart from how the class is conducted, the projects were not so helpful either. The first project is the only project with something that you'll reuse in the real world. I understand that the projects are trying to make us learn the practical side of ML but the grading discourages to the point that you don't even wanna do the next project. Like I mentioned I took RL before this class and got an A easily by getting perfect scores on multiple projects but for this even in the RL section, I couldn't get a good grade. I don't know what they're looking for in the projects to be honest. I would recommend not taking this class and taking other classes that provide more value to you ML skill set.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-12-03T05:07:14Zfall 2020

    This is by far THE worst course I took throughout the program. This is my 8th course, so I am almost there, but this class made me question if starting the program in the first place was the right thing to do. This is a requirement for all ML graduates, so to be this poorly managed for so many years, and for no one to fix it, that says a lot about the program.

    You just won't know what/how you're doing in this class. Unless you feel ok with getting a ~50 on papers that you spent around 2 weeks writing, then you should work your way around this class.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-12-03T02:22:56Zfall 2020

    Machine Learning: CS-7641 was my 8th course for the OMSCS program and is by far the worst I've experienced. If this had been my first course, I likely would have dropped out suspecting that all of the other courses were of the same poor quality. Out of my entire career including undergrad, graduate courses at another university, and graduate courses at GA Tech this is without a doubt the worst educational experience I have ever experienced. I can't stress this enough, this is the absolute worst class I've ever had by far.

    If the intent of the course is to allow TA's and the Professor Isbell to express their wit and sarcasm when responding to student questions regarding ambigous assignments, then I suppose it's a success. If the intent of the course is to align with the GA Tech mission statement "to provide career education, resources, and experiential opportunities", then the course is an abject failure. I learned in spite of this course, not because of it.

    The pedagogical approach to this course is despised by students en masse. I've spoken to several other students who have taken the course in previous semesters and the same general thought is shared by all, that there has to be a better way to teach and evaluate this course. Perhaps there is some reason that despite repeated feedback it hasn't changed. This feedback, like all of the previous ones, can be ignored as well. I'm writing it as catharsis, knowing that if things haven't changed yet they likely won't in the near-term. All I can do is encourage people to avoid the ML specialization due to this one absolutely terrible class.

    I hope that everyone involved in the teaching of this class seriously contemplates the punitive and adversarial way in which they approach this class and reconsider their teaching and evaluation methodology.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-11-30T15:21:59Zfall 2020

    I had a very bad experience. The main reason is that the rubric is extremely unclear and I never know what my grader wanted in those assignments. As a result, no matter how much time I put into them I got random scores, ranging from 40-80 (the average score of the whole class is around 60). And every time I got the same feedback, saying I should have analyzed more about something, which told me nothing. How can one include all figures and thorough discussions in a 10-page report??? This really ruined my interest in learning. And by the way for all assignments I didn't really "coding" machine learning; all they wanted is to apply some packages out there on some datasets and do plenty of experiments.

    Speaking of the course content, I feel this is an undergraduate level class or a machine learning class designed for other majors, not CS. The instructors assume that students have no background in very basic machine learning. I do not like the videos either - too many jokes and talks interrupt my thinking. Anyway, I do not think I learned much from this class.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-11-21T00:26:28Zfall 2020

    This is one of the worst classes I have taken so far. From the absurd curve to the extreme disconnect between project work and lecture material, this class feels really poorly planned. But actually, you'll constantly hear that it's by design. Additionally, the TA staff do try, though their efforts are mostly in vain since the objectives are so unclear, again, by design. It's one thing for a course to be going through growing pains, but another for the course experience to intentionally be so poor. I have a lot of respect for the professor and all the involved staff, though I really hope they rethink the premise that people can actually learn effectively with so little actionable feedback (such as: meaningful grades, assignment commentary, even just clear standards, which are not present). Even when a TA adds thorough feedback for an assignment, it doesn't really help for the next one, because the standards for the next assignment are going to be different - the only similarity being that the next assignment's standards will be just as indiscernible as the last's.

    For people who are still planning their curriculum, I encourage you to work around this course and the Machine Learning specialization as a whole, since this course is a requirement for it. Unless they revamp this course, I really hope it doesn't remain a bottleneck requirement for everyone in the ML specialization.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-11-20T21:04:37Zfall 2020

    Instructor / Dean Charles Isbell seems to delight in not giving straight answers to simple questions. He may know a lot about the subject he's supposed to be teaching, but he doesn't seem to know much about how to be a helpful teacher.

    For example, take this tidbit from one of the lecture videos about support vector machines, at about the 5:20 mark: "Now it's so obvious how you get from one step to the other, I'm not going to bother to explain it to you. But instead tell you to go read a quadratic programming book." Is that supposed to be a joke?

    And a little later on, this gem: "What I really need you to believe, though, mainly because I'm asserting it, is that these are equivalent. So if you buy up to the point that we are trying to maximize the margin, and that's the same thing as maximizing two of the length of w, and you buy that that's the same as minimizing 1/2 times W squared, then you just have to take a leap of faith here that, if we instead maximize this other equation, it turns out that we're solving the same problem." I get a teacher saying "Just trust me on this" for something basic like 1 + 1 = 2, but on much more complex topics like Machine Learning, saying "Just trust me on this" is lazy and bad teaching.

    I get that having a teacher be nice isn't a requirement for them to be a good teacher, but sure would be nice to have. Might even make them a better teacher. Food for thought.

    One more thing worth considering: if you can't be bothered to be a good teacher while being a dean, maybe you're spreading yourself a little too thin.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-10-05T23:47:49Zfall 2020

    This course is not hard in terms of what they teach if you've ML experiences and mathematics background. However, this course is really eye-opening. They have hidden requirements for the assignment that is not listed in assignment instructions. The hidden requirements are buried within all the office hours and piazza posts.

    What makes me feel more frustrated, is the attitude of the instructor has to the students' comments on making assignments instruction more clear. To summarize his and the head-TA responses to a lot of students' questions and suggestions - it's "THIS IS ALL YOUR FAULT. YOU NEED READ EVERY POST IN PIZZA AND LISTEN TO EVERY MINUTE IF OFFICE HOUR TO FIGURE OUT THE HIDDEN EXTRA REQUIREMENTS FOR ASSIGNMENTS".

    Many students' have pointed out that if certain requirements beyond the ones mentioned in assignment instructions required, it would be better to call it out. Then the instructor will say the intent for the assignment is to explore and do research. That is exactly what many students have been doing here, however still got so many points deducted by not including the hidden requirements.

    After taking so many courses in OMSCS and I have very good experiences so far except this course. I would say taking this ML course is very eye-opening to me. Especially eye-opening about how instructors react, defend themselves so hardly, how they comment to make students feel even more frustrated (even though that's not their intent) and I'm definitely disappointed by their lack of ability to listen to students thoughts

    Good luck to anyone taking this course. Hope one day this course is not a requirement for ML specialization anymore.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-09-18T21:55:06Zfall 2018

    Bottom line. This course is bad. Very bad.

    I took this course two years ago and I thought it was a pretty bad course. It's sad to see that it looks like it has only gotten worse judging on how precipitously its rating has dropped from 4.3 in Fall 2018 to one of the lowest rated OMSCS courses in the program as of today.

    First it is not a real ML course. It is an easy watered down "Practical ML" course you would see in some bad bootcamp or some Analytics/MBA program but you would never see a course like this in a rigorous CS program especially at the graduate level but even i think at the undergrad level.

    This is because the instructor is not very invested in this class. Not only were his piazza posts constantly mocking and making fun of students for daring to ask supposedly dumb questions but Instead of creating programming assignments and mathematical problem sets he decided to tell students to do whatever they want for the assignments with the result that you get a bunch of mediocre "data analysis" papers with no real ML rigor or theory to them.

    Some people found the grading harsh. I thought it was unbelievably easy to get 100 if you knew how to write. a paper.

    The exams are tough but only because the class spends close to time actually learning and practicing the theoretical aspects of ML so that's why you have no idea what the questions are asking when you see them. But even if you do know the questions, you will realize they are only testing your knowledge at a very high logical level rarely if ever testing you on mathematical expertise and rigor. They could make for some fun interview questions but you won't walk out being "an expert in ML".

    The actual math in ML is treated like a joke and considered something "below" investigation in this course. The hostility towards math by the instructor is baffling. Not only do they not encourage you to learn any math they will actively make fun of you for trying to be smart.

    Finally I should say that in my semester you could "go copy whatever you want from the internet". The instructor actually mocked students for wanting to write their own code. Ultimately this cavalier condescending attitude backfired because it resulted in absurd scenarios where students were copy pasting entire github repos and copy pasting the exact same charts.

    I am told that Isbell walked away from his policy next semester but I am curious if an apology was ever made to the students who had bravely tried to highlight the whole absurdity of this class.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-08-19T21:32:23Zspring 2019

    I dropped this course as a result of disliking these two instructors. I don't understand their humors and I did not appreciate as well. TAs graded your assignments casually without even providing detailed explanation why you lost points, they just said: you did not do this problem well, you did not give a good reasoning, etc. The exams were very ridiculous since they could not distinguish hard working students and non hard working ones since most people receive low scores. Finally, when I know this course is a must one for machine learning concentration, I ended up with changing my concentration area.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-08-14T22:37:42Zsummer 2020

    Not that different from the ML course for stats or CS that you took during undergrad. Definitely not that difficult people made it sounds. Workload is very manageable

    Rating: 4 / 5Difficulty: 3 / 5Workload: 5 hours / week

  • Georgia Tech Student2020-08-10T21:09:01Zspring 2020

    This is a time consuming class. Make sure attend all TA office hour or review the recordings.

    Also sharpen your python skills scikit-learn & matplotlib/seaborn would be your friend.

    For assignment 2 & 4, probably use MLRose & openAI gym/MDPToolbox respectively.

    Maximize out the report.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-08-04T05:40:31Zspring 2020

    In this course you will hone your time management skills, sharpen your mind reading ability and also learn something about machine learning.

    There are four assignments and two exams. The assignments will be judged against a hidden rubric, so the key here is to guess what the reviewer expects. You may, or more likely won't, receive meaningful feedback. In one case, the hidden rubric was returned with one of my assignments, which was interesting. You are shooting for somewhere around 75% on these. 100% would be a waste of time. Just get these over with as fast as possible.

    The exams, oddly, were surprisingly well done. It's a good learning experience, and preparation is required. Despite the nonsense posted about short time on the midterm there is plenty. Not extra, but enough if you are prepared. You probably want to be getting around 75% on these exams, or maybe a bit less.

    If all this sounds like this course is about what not to learn rather than focussing on machine learning, you are correct. I rated it as 15 hours/week to get an A(I got an A) which is probably a bit more than I spent because that is the upper limit on how much time I have!

    Rating: 2 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-07-29T21:53:02Zspring 2020

    This was easily my least favorite class in the program. I don't know why, but I just could not figure out how to succeed on the projects. I'm fairly comfortable with all the topics in the class, but for some reason, the more effort I put into my reports, the worse my grade was.

    I recently read in a slack message from a former TA (or a person who claimed to TA the class) that the graders only have a few minutes to grade each report and can't feasibly read all of them. I guess who knows if that is true, but if it is, then the grade penalty for unsuccessful regrade requests is pretty unreasonable.

    This was my only B in the program and the only class where I think the quality really suffered from the large class size. The lectures are decent so I definitely recommend just watching them on your own time and skipping this class.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2020-06-10T18:08:15Zspring 2020

    This was a class I was very interested in and found the class educational, demanding, challenging, and frustrating. This was my seventh class and while not my favorite, I did like it.

    For those saying this class was a waste of time because it's too easy. If you just want to skate by and do the minimum to get a B, the curve definitely makes it possible. If you want to push yourself to do better, this class makes that possible as well. I guess it depends on what your goals are.

    The grading on projects was absolutely frustrating. You would get a few vague sentences back and end up with a 60% on your paper. Next time you'd get a few vague sentences back and end up with an 80% on your paper, even though you thought your first paper was better. The absolutely biggest factor for me improving my grades was to go to the office hours and take notes on everything the TA's said they were looking for. The professor presents the papers as a way for you to explore your solutions, make your case, justify your decisions. Like you have some freedom in how you write it. You do not, just write what the TA's expect. They expect reasonable things, but there's no wiggle room on that.

    One thing I really wish they'd change was the fact that they don't show examples of quality work. After any of my papers, I could have learned an absolute ton if I could have compared and contrasted my work to the work of others. Or had a peer review phase of the papers. Knowledge based AI had both of these and I learned a ton because of it.

    On the lectures, I found them to be entertaining and informative, but I can definitely see the humor annoying some students. It is what it is. I enjoyed the book, but I only made it through half of the readings before I got swamped working on the projects.

    The projects were exhausting. It took a ton of time experimenting noting, justifying, and writing. Some weeks I was putting 60+ hours in just to maintain. I was shooting for doing well though, and I ended up with an A.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2020-05-22T13:21:09Zspring 2020

    ML was my 4th course after AI, RL and CV. There was some overlap between AI and ML as both covered randomized optimization algorithms like genetic algorithms and simulated annealing, as well as RL concepts like value and policy iteration. Obviously there was also overlap with the RL course since they share a few lectures.

    Stealing other students' code (past or present) is no longer allowed, so coding up all the experiments and then writing a 10 page report for each assignment got tedious fast. This is compounded by the fact that the 1st assignment was by far the most interesting. Though I attained the maximum possible score for the 1st assignment, by the 3rd or 4th assignment I was no longer motivated to produce a report that was as good as possible.

    The exams appear to be graded quite strictly. I passed both the midterm and final but my scores were worse than I had expected. The average scores were also pretty bad - failing or bordering on failing. Still, I did well enough on the assignments and exams to get a solid A before any grading curve was applied.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-05-17T00:08:40Zspring 2020

    If this class was a Manning brother, it would be Cooper.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 35 hours / week

  • Georgia Tech Student2020-05-12T05:10:25Zspring 2019

    My first course in the program and boy is it ever something. The assignments are extremely lengthy, the exams are insanely hard (I got like 30% on the first one), and the lectures are EXCELLENT. Only real complaint other than the workload is the professor is quite arrogant when answering some students on Piazza. I got an A. You need to study like mad in this one. Do not pair with another course.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-05-10T00:23:56Zspring 2020

    My experience : I have taken CP, AIR and CV so far. The amount of time I spent on ML is comparable or more than CV. ML projects were time consuming but in the end I learnt a lot. The exams(midterm and final) are brutal. Thanks to follow ups from TAs and my classmates I was able to secure an A in this class.

    What helped : Preparation: Read and re-read wikidot entry for this class, especially pay special attention to the “Pick your datasets” part.

    Office Hours: Asking questions in OH thread. TAs and instructors usually answered Qs in that thread hence the recommendation. Watching office hours(OH) and taking notes. The OH can be dense.Taking notes and updating notes when you re-watch helped. The material covered in OH was dense for me so I had to rewatch OH.

    TAs Head TAs provided answers with sufficient detail but at the same time the head TAs did not hand-hold students.

    Related Courses: I did not do this but taking Artificial Intelligence before Machine Learning will likely help. For example if you can finish up the first two assignments quickly due to AI background then you can spend a week or maybe two preparing for the midterm.

    Problem Sets: Solving both problem sets probably helped in securing an A for me because I was in A-B borderline. Either way, the questions will help towards covering material for the exams.

    Assignments: Start early. 1 week each for code skeleton, plot generation and tuning, and report writing can be a rough guideline.

    Create a google doc with notes on terminology related to assignment description. Dumping information collected from researching on Google and reading papers into one place and reviewing helped.

    Print a hard copy of the assignment. Scratch out irrelevant information from the assignment and add relevant parts after taking notes from OH. Not taking another class with ML since this class itself was demanding.

    Exams: From another student, making flashcards might help absorb the material before the exams.


    This class requires use of Proctortrack for exams. If you are using python, consider using the hiive fork for assignments. That is student created and includes bug fixes for MLROSE and MDPToolbox respectively. The class is hard but the struggle is worth it atleast for me. One might be able to make this observation towards the end of the class. Specifically am happy that I learnt a lot while struggling through the assignments. The game theory lecture video part is common between Machine Learning and Reinforcement Learning class. So in a way, the Machine Learning class prepares you for Reinforcement learning class especially for the Game Theory part. None of the information in this post is new except for the python library part perhaps. It is a summary of what I read and understood from posts here. Hope this helps and good luck to others to plan to take this class in the future.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 40 hours / week

  • Georgia Tech Student2020-05-05T21:15:53Zspring 2020

    This is a course which will give you a lot of learning. The course is structured very well with 4 assignments, 2 problem sets, 1 mid term and 1 final exam. I liked the course since it touches various algorithms used in the machine learning world. The expectation of the assignments is the analysis of your algorithms rather than code. What language you use to write these algorithms/ editor used etc are of no concern to the professor. He is interested to know how much you have understood the algorithm and how you apply it to your data and how you analyze it. The problem statements may seem vague, very random and open. It would have been better if they gave very clear instructions for assignment expectations. The course doesn’t cover (udacity videos) the basics of machine learning like hyperparameters / learning curve etc. If you take this course without any background of ML/python you are going to find this course very difficult. Also the lectures do not cover what is required for you to complete the assignments. TA are very helpful, they make sure they answer everything that is asked on piazza and in office hours. The solutions published for problem sets were with no enough explanation. It would be better to have better explanations for problem sets since they are important from point of view of preparing for mid term and finals.
    Overall a good course with lots of learning compared to other courses.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-05-05T19:53:24Zspring 2020

    This was probably my third favorite course in the program after AI4R and HCI.

    I think a lot of people get frustrated with the assignments and I do think they could be written in a less ambiguous way. Maybe I got a more lenient grader but I averaged a 93 on the assignments and thought that while the assignments were time consuming, they weren't necessarily difficult (hence my 'Medium' rating rather than the 'Very Hard' that you find often throughout these reviews). The key to the assignments is to read the questions asked in the report and to create headers for each question asked so that you make sure you address each of them without trying hard. Additionally, you don't need to choose HUGE datasets but you need to make sure you convince your grader they're interesting. If you try to get too ambitious, your models might not converge or may run forever so either start early with larger datasets or use smaller datasets to cut down on some of the overall assignment time. Also use tables if you want to record information such as runtime or performance. They're concise and tend to take up less space while presenting the information clearly. Basically, make it easy for the grader to give you a good grade


    • Getting to work on your own schedule for the most part - assignments, lectures, and readings are all available at the beginning of the semester. The exams and finals have a shorter window.
    • Quick turn around for grades
    • Getting to choose your own datasets
    • Office Hours where you can ask questions ahead of time in a Piazza thread
    • Personally, I liked the lectures and found them engaging
    • Gradients are factored into your grade (i.e. if you do better throughout the semester, your final letter grade might go up)
    • Overall very few items are due (only four assignments, a midterm, and a final)


    • Ambiguous rubrics
    • Lack of a points breakdown on where you lost points in assignments
    • The exams were closed everything and I wasn't a huge fan
    • Decent number of readings but they're overall skippable
    • Requiring a curve to set grades (i.e. a "normal" A is not realistically attainable)

    I came into this course with expectations of the course being difficult and I leave with a different impression. Yes, the midterm was ROUGH and the fact that you can get such a low overall percentage and still get an A is strange but I think that the hype is definitely worse than the actual work. This class is not hard but it is time consuming. I enjoyed what I learned and the work that I produced. Overall, I would recommend this course but can see where some may think it falls short.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2020-05-05T14:01:51Zspring 2020

    You can take a lot from this course, or you can take very little and still end up with high A. I was taking ML with another demanding course, so naturally I fell into the latter bunch. Tips below is for people in a similar boat. I liked the course overall and would enjoy it more, if taken alone.

    Pros: {1} Open-ended assignments, you can learn the whole field by exploring them properly. {2} You will learn a lot: videos, readings, assignments, exams, everything compels you to learn more. {3} Ched-code is banned, you have to write your own code. {4} Extensive Office Hours (OH). {5} Exam questions are fair and challenging. {6} Generous curve. {7} Lectures are 100% enough for exams. I found them interesting and engaging, probs one of the best in the program. {8} All code could be written in Python. {9} Prof Isbell is no stranger to slack and Piazza, you have a chance to be humiliated by the Dean himself.

    Cons: {1} Open-ended assignments take a ton of time. This course assumes you have no life outside of studying. {2} Assignment descriptions are vague and pretend there is no rubric, but there is one, and it's hidden. Also no hand-holding or pseudo-code. {3} Grading is just RNG, most TAs seem to not understand the rubric themselves and dock points for random stuff, which is not mentioned anywhere, the opposite of which is mentioned, or is actually present in your work. I got 100% on A2, which I had to wrap up in two days, and 74% on A3, which I've spent 2 weeks on. {4} All assignments could be "hacked" in a weekend without learning much precisely because they are open-ended. {5} Readings are unnecessary for exams or assignments, eat out time. {6} Have to watch ton of OH with mostly obvious stuff to pick up crumbles of rubric scattered around. {7} During OH head TAs avoid all the hard question, making it seem it's up to you exploring, but then dock points quite harshly for not guessing what was the right way to do things. {8} Midterm is trying to trick you. The first 10/17 questions are worth 2 marks each, and then Q11 is worth 20. If you missed that there are 120 marks in total (which is quite easy to miss, as it was mentioned in 1 place only: right on top of the exam along with dozen other numbers), you'll be unpleasantly surprised. Same for the Final, but you've already learned your lesson. {9} Curve is nonsense, 58+ was an A! It is there only to protect randomly-grading TAs and a lack of rubric, and keep masquerading as a difficult course. It also makes you feel like an one-eyed king in the land of the blind with 60 < marks < 90, which almost everyone gets. {10} Lectures are laughably inadequate to write any code. {11} Regrading policy is moronic: gain +5 or lose 10. It is simply there to stop people applying for regrade. Prof is bragging about minuscule amount gaining points. I wonder why? No one in their mind applies for regrade, if they got > 60 marks. {12} Overlapping material with AI and especially RL. {13} Prof likes to make comments about how unimportant your personal concerns are, because of how big his kurtosis is, which is slightly annoying.

    Tips (for those who want to save time, rather than learn a lot): {1} Ched-code, it is forbidden, but you can still read it. It produces all of the nit-picks TAs want to see. Just don't copy anything. {2} Don't stress about marks, you will loose them more than in any other course. If not, it's more luck than your hard work. As long as you are hitting > 65 on average, forget about it and move on. {3} Watch OHs before starting projects to know which graphs you need to produce. Can't share them here unfortunately. {4} Don't waste time selecting "interesting" databases: 1 large (~ 2000) with many (~ 15) features and 1 small (~ 1000) with few (~5) features. What makes it "interesting" is your description, even if performance is similar. TAs don't know what "interesting" is either. Same for MDPs. {5} Save yourself effort and don't choose unbalanced/categorical-features/time-series/image-based databases. {6} Maxing out pages in the report does not guarantee good marks. Hit all the mentioned graphs and wrap up. Don't waste effort. {7} Don't waste time producing nice-looking graphs in Python. No one will appreciate. Print-out numbers and put them into table, or make a graph in Excel. {8} Same with classes and OOP: just put everything into 1 file with 10 functions. Easy to update and hard to forget.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2020-05-05T05:25:15Zspring 2020

    This course is hard, especially to students not in math/statistics major. Code is easy, you can probably import packages to finish 4 assignments. My main points contrary to other negative reviewers are: 1) math/statistics is crucial in ML area, this course provided what I expected. 2) To fulfill all points (carefully check one by one points) listed in assignment description can probably guarantee no failure. 3) Exams are hard, you have to understand math formulas, I mean you need to solve real problems. So, basically, this course is not bad, it cannot teach you all steps in math, you need to spend time by yourself.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-05-05T02:00:59Zspring 2020

    This course is a fucking waste of time.

    Three points stand out to me from the previous reviews:

    1. It's a undergraduate course masquerading as a graduate course via arbitrary grading rubrics
    2. TAs and prof are sarcastic and unhelpful on piazza to clarify questions on assignments
    3. So long as you submit something for the assignments and do the exams you'll pass with at least a B, because of the curve.

    Advice to future takers: If you don't give a damn about your gpa by this stage and just want to get the requirement over and done with, see 3. From a previous review, listen to the TA hours and the lectures to pick out points that they care about for the assignments and exams. Skip the actually hard points and maths, just focus on the fluff and hand-waving stuff, it's a really easy course if you do it right. Don't waste too much time on this, you're not going to learn anything useful and time spent => grade correlation is really poor.

    Now for my experience. 7 courses in, ml specialisation. Assignment requirements are essentially a really long list of questions that you have no hope of answering unless you do it in point form or you're bloody free. Quite frankly, I don't think the graders even follow that list, see previous point. The graders do not read your code, or even if they do it's probably just a brief scan, so don't bother even trying to make it run, just focus on the report. Don't feel bad about getting marked down, or to even try to improve on comments from before, they're not helpful in predicting future assignment grades.

    Also, to those who feel the professor wants them as mini-papers to justify the grading rubric, I feel you're giving the graders too much credit. I have submitted manuscripts for 2 papers in a different field, and have reviewed submissions for a decent journal. If you submit a reviewer comment like "Discussion does not go into enough details", any decent editor is going to send you an email asking you to clarify what you want, before sending this back to the authors, because it's an unfair comment. So no, the whole grading process is just a shitfest.

    Lectures. I'm quite proud to say I've not watched a single one of them after initial sampling except until right before finals prep, when I briefly scanned through to pick out points they care about to write in the finals. Half of the time is wasted on jokes that are lame even when I was a primary school kid. You want examples of good banter, see Computer Vision. Examples of good technical jokes, see IHPC. Examples of just-the-facts, see GIOS. Examples of someone actually teaching machine learning, see AI/AI4R.

    Finally, the curve. I got <50% from canvas and a letter grade B, so see 3 above. Just glad to pass the course and move on with my life. Don't waste too much time on the assignments, it's not worth it.

    I would normally end with YMMV, but nah it's a shitfest for all. glhf.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-05-03T18:14:11Zspring 2020

    Like everyone agreed, the teaching staff are very mean and therefore, this course does not deserve your hard work at all. No matter how confident you felt about you work, they will make it look like shit. The TA will totally ruin your semester. If you are assigned a shit TA like I did, god bless you. Even the lecturer is mean too, who is always trying to be smart and showing off his poor sense of humor, you question is never answered directly. Overall, in this course, they will shit your hard work the whole semester and finally pity you with a curve. Gross.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 25 hours / week

  • Georgia Tech Student2020-04-27T20:53:25Zspring 2020

    This is my last course taken at the CS online program; I would say this is the worst experience I have even had. Like all the latest comments here, I would say the biggest problem is the grading and the feedback from TAs; you spend lots of time to write the summary and polish the code and the feedback from TAs are horrible and I think the code was just ignored; also, the scores you got for the HWs were largely depending on the grader; this is an explicit problem for this course and students raised it several times but no one addressed it. It is super unfair that one students got grading from someone tends to give low score but the other were not. I felt so lucky that this is my last course otherwise I will doubt whether it is good choice to get the MS from here.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-04-27T03:39:02Zspring 2020

    This is my 7th class and this has been the worst compared to other classes. While the content of the course and exams help you gain a really good understanding of the concepts, the way the assignments are graded seems very random and the feedback is often not helpful. The feedback says "You haven't tried this method on this algorithm / there is no graph supporting your analysis" but they are all just there in the report and you cannot even ask for a regrade of the final assignment.

    The exams seem objective though and are at least helpful in assessing your understanding of the concepts when compared to the assignments. I wouldn't recommend this class to anyone unless of course they need it for their specialization.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-04-26T09:55:45Zspring 2020

    I have taken 8 courses in OMSCS. This class is a bit of a mixed bag.

    As someone who is starting a PhD in ML later this year, I enjoyed the content of this course in its lectures and reading materials. The lectures explain theoretical concepts in an intuitive way that complements a lot of material you may read elsewhere online and I like the presentation style of the professors. The extra amount of fluff makes the material easy to take in the first time around, but is an absolute pain should you wish to review the material for exams or any other purpose.

    The main negative for me was the TAs. I can understand why Prof. Isbell is a bit snarky on Piazza, because I think its pretty clear what quality of work he expects for the assignments (he wants us to write mini-papers). I am terrible at paper writing, and the problem for me was that it wasn't clear how I can get better than what I am doing, which I personally think is the role that the TAs should perform.

    However, the feedback given by TAs is generic and indicates minimal thought and effort. The feedback we get looks like this: 'Discussion could be more detailed', without any examples or tips on how this can be done. I feel like when my discussion has limited depth, there is clearly some understanding that I am failing to get from the material or some details that I could have put down to present a better paper. Alas, nothing further is provided by the TAs to tell you what that is.

    The course also does not provide any feedback for the exams at all, but at least the exam questions are kind of clear.

    I find the overall level of feedback disappointing and particularly ironic since we learn about the importance of labels for supervised learning but the course does everything within its power to hold back when it comes to our learning.

    Overall, I would only recommend this class if you wish to specialize in ML, because you have to take it as part of your degree.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-04-18T21:44:10Zspring 2020

    So much to little energy. I tried writing a review 3 times now and had to cut it down for use of....colorful language to describe how piss poor of a class I think this is.

    For the record I'm sitting on a low A or high B if historical norms hold, so this isn't me whining because I couldn't hack it. It's just genuinely the most garbage class by FAR of the 7 I've taken in the program. There are things that make a class difficult because it's just tough material, then there are things that make it difficult because of crap instructors. Not everyone who does teach is gifted at it, regardless of how long they've been playing the game.

    At the end of the day, most of us don't have a choice as the class is required for the ML specialization and one of few options for the II specialization.

    Bottom line. This class is going to suck. Hard. It's bad, and isn't likely to improve because it thinks too highly of itself. It's nowhere near the best resource to learn this material, but you're going to have to bend over and take it if you want that shiny degree. Then, if you haven't already done so go and learn from a quality resource like Andrew Ng's course, FastAI, any Udemy course. All of which (that I've seen) are better options.

    Such a waste...

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-03-24T15:27:17Zspring 2020

    This class could have been so much more.

    The lectures: the content is good, but has too much fluff in it. Some of the banter was fun at first but got old quick. I especially like Littman delivery style, the other instructor tries hard to be clever and it gets in the way of teaching. IMO there are better online courses out there on ML.

    The assignments: you get a wall of text with very little actual information that inevitably leads to questions that Isbell will ridicule publicly. As for grading and TAs, just read other reviews. If lucky you'll get a good TA with helpful feedbacks, otherwise you'll get some vague copy pasta. I got low scores for the assignments I put a lot of effort in and high scores for ones I half-assed?! Note it's got to the point that they are now hiding who graded your exam to protect the TAs. This quite frankly is the most ridiculously run class I've ever seen.

    The exams: while hard, be thankful it's the only time you're asked clear and specific questions.

    The people: the regulars on Slack have picked up on Isbell snarky style and it makes for a unfriendly environment. This is in stark contrast to all other OMSCS Slack channels I've been to.

    Up until recently I was still starry eyed about the program, but this class has totally turned me off even though I'm well on my way to an A (update: I got 7x overall, well over the A cutoff of ~60 points). It does not foster a positive learning experience. Too bad it's unavoidable for ML specialization.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-03-20T13:19:25Zfall 2019

    Grading is subjective and entirely depends on how your TA feels as the assignments are intentionally vague (Yes, reader, I understand it's grad school and that these assignments are supposed to be like that; I'm 12 classes in and I've only heard that statement about a hundred times in this program. That is NOT an excuse for poor TA guidance on grading and wildly varying scores between assignments.) The vagueness is supposed to simulate submission of real research papers, but you can discuss all the points in the assignment and still get nitpicked down to a low grade with regrades being a hopeless endeavor. The professor makes it known how much he doesn't care, and only shows up to post vague quips on the class board and chat.

    All that to say that there are much better programs out there competing with OMSCS now; I would recommend looking into those.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2020-02-02T18:29:31Zfall 2019

    Really didn't enjoy this class. The assignments are 10-page papers with poorly defined objectives that are capriciously graded.

    Read through the comments here. Most of the class earns a grade that is objectively failing. Then, the professor curves the grades such that 90%+ of the students earn an A or B. I'm not sure it belongs in this program.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2020-01-12T15:50:31Zfall 2019

    I really enjoyed this class. As a Machine Learning Specialization student, I was looking forward to it quite a bit, and it lived up to my expectations. It is very hard though.

    To me, the hardest part about it was the open endedness. You could spend 40 hours on a paper, and still think, "oh, I could add some analysis of this, or new charts for that". Fortunately, you are limited by time and paper length (usually ~10 pages including charts), but still, I felt I could always do more to perfect the report.

    My best advice for working on the projects is - START THE PAPER EARLY. I often ran into a trap of refining my code repeatedly, as I kept thinking of new analysis to do or charts to add, and I would end up starting the paper on the last weekend. Then, when I was writing the paper, I would think of more important analysis I didn't have time to do, and my paper felt rushed. My suggestion is to create a MVP (minimum viable product) for your code, and take notes for things you want to add later. Then write a first draft of your paper. This also means you can submit it to Canvas early, just in case you get sick or something, you at least have something. Then, you can go back and do everything you noted before and update your code and paper.

    To add to the very difficult and time consuming projects, the exams are even harder. In my semester, the median score on the midterm was less than half the possible points. So, when you come back with a 40/100, don't panic. The professor even put up a post saying 'don't panic'. Of course, people still panicked.

    But, despite all that, I will say that the curve is very generous. I feel if you genuinely try on all the projects and exams, and do all the lectures and readings (a not so easy 'if', I know), then you will get at least a B. So, don't worry so much about your raw score. I believe the professor designs it this way on purpose to make people try as hard as possible, and not try 'just hard enough to get a B', and to me, it works. I honestly enjoyed being challenged in this way, despite it being stressful. If you are worried about your score, compare how you are doing to other students by using Canvas (in your Grades it shows the Median).

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-31T15:47:17Zfall 2019

    It is my 3rd OMSCS class, and by far the most difficult one.


    if you think you know Machine Learning, think again. The lecture material covers not just the conventional machine learning topics (things you might encounter in your daily work, such as supervised/unsupervised learning, regression/classification/clustering), but also extends to more in-depth math-driven topics like game theory, markov-chain decision process, etc. There is a lot of lectures to go through in a semeter.

    The good:

    For the perspective of learning, it is a good course. There could be a lot of extensive reading if you don't want to just scratch the surface of a particular topic. However, that could also mean the average hours you spend each way could go beyond 20. Lectures are the best so far, compared to other two courses I took (DVA and computer networks). I am not a fan of instructors' random jokes but I think those are bearable.

    The bad:

    There is no rubric for homework assignments. The instructor basically wants you to write a 10 page thesis for every single assignment. And your homework grade is totally at the mercy of your TA. Good luck if your TA is a mean person. As for me, the grades of my homework range from 39 to 89, depending on which TA I have (they do TA rotations). My tips to get a good grade for homework: Do not try to use 'real' dataset for homework assignments, even the instructor ask you to do so. You will not be able to finish all the simulation!!!!!! Use toy ones, like those provided in sklearn!!!

    Exams are hard!!! I think the average for the mid term was only like ~50 and final was ~40. But thank God instructor curved the score.

    TIP TO SURVIVE: do not drop the class. If you finish the class, there is at least 95% chance you will get an A or B.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-24T05:42:36Zfall 2019

    This is a tough course which has both exams and projects.

    As for the project, you have four projects where you need to design the experiments, implement the code (with the help of ML libraries), run the experiments, and analyze the results. Using the results you have to write 10 ~ 12 page paper.

    The projects ask you to run some experiments, and you are expected to research on your own on how to run the experiments and what sort of data should be captured and analyzed. The office hour does a great job at providing pointers to what you can look for. It really helps to look for papers in the topic that you are writing (most will be from 10 ~ 20 years ago) and the assigned readings are a great place to start.

    The exams are difficult. Knowing the material is not enough, and you are expected fully understand and internalize the material so you can apply it to other concepts.

    The course material was a survey of supervised learning, unsupervised learning, and reinforcement learning. The material is challenging and it focuses mostly on understanding the foundational concepts.

    Being comfortable with linear algebra and probability helps understanding the materials, most people with cs, engineering, and mathematics background would struggle but should be okay to understand the lectures after watching it 2 ~ 3 times.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 50 hours / week

  • Georgia Tech Student2019-12-22T23:28:06Zfall 2019

    I got an A in this course. This is an undergraduate course faking as a graduate one by virtue of open ended, ambiguous and poorly worded assignments and lack of rubric. Your success depends on watching office hours held once per week, where the two head TAs, Daniel and Amir, answer questions posted to a thread on piazza while divulging some keywords that might help you get a good grade. And that's pretty much all of the TA presence in this course. The grader TAs are also awful. Expect that huge parts of your written report may not be read, so prepare to request regrades despite the ambiguous grader feedbacks. These feedbacks are ambiguous in order not to expose the rubric I think.

    Even the files section on canvas is messed up, even the dates of events like midterms etc that are posted on canvas, piazza and proctortrack did not match at times (that should tell you something about how this course is managed). Also the professor seems to be very bored of this class. If he responds to something on piazza its most likely one of "You know it in your heart" or "Why is this a private question?". And he appears on Slack from time to time to complain and mock people. So its not a hard course at all, the exams are undergrad level, the difficulty is in dealing with all this inefficient mess.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-12-21T00:26:13Zfall 2019

    The class material covered important and interesting topics. The video demonstrations were pretty good.

    The projects are written report based as opposed to coding based. This made the class difficult for me. The written report was also more difficult because the instructions were vague which wastes some time. I don't think the vague instructions increased my learning. I would have rather used the time to study more concepts.

    Exams are okay due to generous curve. Homeworks are useful for understanding the concepts.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-12-20T09:21:19Zfall 2019

    I came in starry and bright eyed, excited to learn. Let's just say that all that died out by the middle of the course. The reason is that the design of the course is not conducive to learning, at least not for me.

    Front loaded course. The people who perform best will have a head start before the official start of class or already have significant ML experience elsewhere. You will be diligently working on the assignments and will have no time to prepare for the midterm. On assignments you exercise application of ML frameworks and analysis of empirical results, but the exams test for intuition of ML theory. This means that assignments and exams are almost mutually exclusive and require divided attention. Regardless, this could still be fair, because all students are subject to the same conditions. Something to note but not a major drawback of the course.

    The real problem with this course is the variance in grading. Assignments that I spent the least effort on received much higher scores than ones where I gave much more effort. That's because there is significant variance in the scoring between different TA's. After reading the other reviews this term, I realized that the grade I received could have been due to the luck of the roll. The lack of transparency makes it hard to gauge whether you were fairly graded or not. On top of that, if you request for a regrade, you will get negative points if you don't net a positive back. This just empowers the TA's to grade haphazardly because they know students will think twice about submitting for regrades. This is a major conflict of interest in the grading and is one that is not in the interest of student learning! "Giving out the grading rubric hurts our administration of future semesters of this class" could be an argument by the teaching committee. Fine, then at least give us detailed feedback with what we did wrong, how many points are docked for each instance, and how to improve. Out of 4 assignments, 1 TA did say how I could improve, 1 was lackluster, 1 was purely critical, and 1 left ZERO comments at all. By that point I really didn't care for learning in this class anymore (I needed to focused on the work left to be done).

    The challenge of the course is the breadth of topics involved. There's enough for at least two 3-credit courses, OH WAIT, isn't there an RL course already? But it seems like RL received a disproportionately higher amount of coverage time than the other topics. Care to guess why? Because that's the research specialty of the lecture professors, Isbell and Littman. The video lectures alone will not prepare you to ace the exams. Given the breadth of topic coverage, too much time was wasted on awful jokes, puns, and Isbell talking about his Tesla. This results in a lot skipping and disconnect when it came to presenting and proving the concepts. The level of intuition on machine learning you will be tested on will be deeper than what you see in the lectures. The lecture videos alone will also not provide you with the analysis intuition needed to score well on the assignments either. Use the lectures as a guide to what to go in-depth on in your individual study. As a comparison, the David Silver lectures referenced for the RL section are EXCELLENT: does not pull any punches and dives right into the content with significant depth and smooth progression from introduction to complex concepts. No stupid jokes that you'll have to sit through.

    Office hours provided, hooray! Wait, they're actually for clarifying vague assignment instructions. Darn. Thought we were going to have discussions about ML theory so we could develop intuition. O.H. had a lot of potential for real learning, but that isn't really the teaching staff's concern.

    It's pretty apparent that this course was designed by someone who is narcissistic, as opposed to someone who actually enjoys teaching. The level of narcissism is so strong that you see it trickle down to the TA's as well, especially the grading TA's who are quick to dock points without providing constructive criticism. You will hardly see responses from TA's on Slack and Piazza. I get that there's a lot of mundane questions and questions that are easily answered through self search, but there were also good questions that were answered by leaves rustling in the wind.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-19T22:11:04Zfall 2019

    I took ML Fall 2019 after having taken ML4T. (I do recommend ML4T then ML.) I achieved an A.

    Overall I enjoyed the class. The lectures were well-presented and helped me to understand the concepts. It's a good survey course that covers supervised learning, unsupervised learning, randomized optimization, and reinforcement learning. I had fun with the assignments. There's a low bar and a high ceiling if you're so inclined. Since the assignments are open ended, you're free to explore in various directions you'd like (but that may be an unnecessary time sink). I do think the assignments helped me to better understand the material.

    I may be bad at estimating time but it didn't feel like 20 hrs/week. More like 5 hrs, 15 hrs, and 20 hrs for week 1, week 2, and week 3 (deadline), respectively, for each assignment. Although I guess keeping up with slack daily takes time.


    • Lessons are entertaining and have good, easy-to-understand examples. At the beginning I thought the professors weren't that funny but I suppose their humor grew on me towards the end.
    • Assignments are enjoyable and help prepare for exams. Hyperparameter tuning may be tedious but you don't need to do too much of it to do well in the course.
    • Freedom to select any dataset or problem that may interest you, as long as it's not too easy.
    • Can work ahead on assignments.
    • Slack channel for this term was quite active and helpful.


    • I agree with previous reviews that your assignment grades may heavily depend on the TA you get. Supposedly you get a different TA for each assignment.
    • There isn't much feedback for assignments. Even if the feedback is good, reading about things you could have done isn't the best way to learn in my opinion. I would prefer to read an example of a well-done and thorough analysis.
    • Office hours format. It's basically one long video response to previously-posted Piazza questions. May as well just have the TAs answer through Piazza. Luckily we had some students transcribe the videos for us this semester.
    • There was not much TA presence throughout the semester, although Professor Isbell would chime into Piazza/Slack occasionally.


    • As long as you turn something in for each assignment, you'll get a B, so no need to worry on that front.
    • Stay a bit above the mean and you're likely to get an A. For Fall 2019, mean was ~58 and ~63 was needed for an A.
    • Take notes. Particularly of the various algorithms and their pros/cons in comparisons to other algorithms.
    • Keep up with lessons or stay ahead of schedule. Readings aren't needed for exams but do help to deepen understanding. As far as textbooks go, Mitchell is pretty good.
    • Don't worry about not getting good graphs for your reports. Just throw in 2-4 sentence to explain it away.
    • Actively keep up with assignment tips from office hours or slack. TAs grade assignments against a hidden rubric and you'll be better off if you can keep an ear out for them.
    • Start reports early. For me, 1 week was too short. I turned in a few reports unfinished (maybe 3/4 done). With 3 weeks per assignments, I found that 1 week downtime and 2 weeks per assignment was okay.
    • Use library implementations of algorithms. Don't code it yourself. But you do need to code up your own experiments.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 18 hours / week

  • Georgia Tech Student2019-12-19T03:42:15Zfall 2019

    Don't come in expecting that you'll be able to make production grade ml applications at your work after completing this class. If that's the case you should better not be taking this class. If you are a serious ml practitioner you will definitely get better at it. If you are a novice, this class will get you thinking about ml in the right direction.

    The lecture dives into theory and the assignments are designed to let you dive and explore the theory and beyond. Only going through the lecture videos may get you a decent grade, but you are not going to get a "feel" of the topics until you read the theory (books, papers, web) and research a lot. The level of understanding that is required for the exams won't come by only viewing the udacity lectures unless you are already an ml wizard. You need to reason every aspect of the theory and dig deep, question everything.

    The assignments are unlike some other courses where you need to pass test cases. Each of your reports will be read through by TAs, so don't write stories. Be precise and to the point. There are no points for any of the code you are going to write. However, the code is required for reproducing your plots and data in the report. Don't use chedcode or other frameworks designed to solve the assignments (aka generate the plots). Such frameworks are banned.

    Please plan your report (the structure, the content headers) before you start coding. If you do not, you may get stuck in the vicious loop of making your code run to get better accuracies. You'll loose valuable time if you are not going to plan your reports before coding.

    Also don't compare your work with what others have done or are sharing on slack/piazza. Just be genuine in your research and try to answer every question asked in the assignment (this is where you need the OH) and the reason for your results, you'll do good. Watching the office hours is crucial to get an understanding of what has been asked in the assignments because you are going to feel it to be very vague.

    This was my sixth class and I've never seen any other instructor so engaged in the class after Ashok Goel of KBAI (Sorry, Dr. Joyner's I haven't taken any of your classes). If you expect the dean to answer questions that are already mentioned in the intructions, don't get pertrubed by his answers. If it's a genuine question, he does reply. I feel his style of teaching is to encourage self research. That's his own style and I respect that. Frankly, what doubt of yours can't be cleared on the web, given that you search enough. Even if I had doubts, often it were my amazing classmates that helped first.

    Don't get demoralised even if half the class drops out. We started with a class strength of ~625 and had 391 remaining by end of drop date. Don't worry about the grades, just stick around and give more time to this class. Frankly, I want to take the class again because I feel there is still so much to learn.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2019-12-19T01:22:39Zfall 2019

    Having taken AI last year, I expected some overlap with ML. Sure enough, roughly a third of the 320 flash cards I created over the semester were reused from AI, thanks to plenty of familiar algorithms and concepts. However, that did little to ease the difficulty of the course. Though assignments won’t require you to implement the algorithms from scratch, you will be expected to find libraries and steal pre-written algorithms and tweak them to work with different types of data. Besides being deceptively difficult in its own right, you are actually only graded on the written analysis after getting it all to work - so consume the related learning material directly (watching at 2x speed when possible) and get started EARLY. There are four assignments and two exams, which are all written and graded on DEPTH, seemingly harshly graded against professional-level explanations. That is to say I averaged a 47.2%, which curved up to a B in the course.

    In addition to the algorithm implementations, I enjoyed the lecture conversations between Dr. Isbell and Dr. Littman where it was clear that they both had a deep understanding of the material and could quickly make relationships between concepts (which you will be expected to do too). I recommend watching the lectures ahead of time, even before the semester if possible. I watched about a third and that helped at first, but most weeks I averaged 25+ hours of actual work, with over 40 hours one week at the end of Assignment 3. Though the textbook is over 20 years old, it does help to flesh out the material, but ultimately I would have preferred something more recent and relevant.

    Ask questions you really want to know in the office hours threads (which also drops big hints on what your assignments should include), otherwise Piazza is best suited for student responses (still super helpful, along with the Slack channel). The optional problem sets are great study material for the exams, and the supplemental material is good for going further in depth on your papers (I should have utilized this more). I still say AI was harder though.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-12-18T08:57:01Zfall 2019

    Overall the course is difficult but great. Personally I liked the video lectures and recommended readings. The lectures present an overview of different ML concepts, the reading materials are more detailed and rigorous in explaining the different concepts. Taking this course properly you'll have a solid theoretical understanding of the basic ML concepts.

    The assignment are tough, I highly recommend starting them as early as possible, and plan to spend at least 40 hours per assignment. The thing is they are not so clear about what you should do, and to do well on the assignment you have to understand well whatever machine learning concept you are working on, and even have some ML experience before.

    The Exams are even more difficult, but with decent understanding of the offered materials you can easily get above average grades. Don't be shocked if you get bad grades, everyone will! the grading curve is generous and if you go through the lectures and reading materials and do all assignments you are guaranteed to get at least a B. If you want to take this course:

    -Start lectures and readings before the course start date (they are all available)

    -As soon as the course starts, start with assignments and plan to spend at least 2 weeks per assignment

    -Go through the materials again just before the exams and you should be good.

    -Don't worry about the grades you get, just try to stay close or higher to the average and you'll be good.

    -I do not recommend taking another course with it, unless you are available full time for the Masters. -Also Make sure you have the required background, or at least most of it.

    The course is really great, make sure you work hard and start work early for it and you'll avoid all the frustration

    Rating: 5 / 5Difficulty: 5 / 5Workload: 21 hours / week

  • Georgia Tech Student2019-12-17T23:01:10Zfall 2019

    Total waste of time. As many previous reviews posted on here this class is poorly administered. I did do pretty well in this class, however this is the worst class I've ever taken in my entire life. There is exactly ...

    Zero structure provided for assignments. Nada! You have to go on Piazza and scramble to find other students posts and questions that reveal some insight as to what is really needed in your 10-12 pages analysis

    Zero consistency when it comes to grading assignments. TAs grading is very subjective and some TAs deduct way too many points with again 0 explanation as to why. I'm going to refrain naming them here.

    Zero incentive to learn on your own as this course is designed to bring your motivation down and keep busy with mundane assignment tasks.

    Zero useful information in the lecture videos. Seriously, all of the material covered is discussed in a much better way elsewhere (blogs, books, youtube, coursera, other udacity classes...)

    The only non-Zero aspect of this class is that it gives you 3 credits once completed period.

    With CS7641, as it stands,

    I do not recommend, do not pass go do not collect $200

    Rating: 1 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-12-17T21:29:16Zfall 2019

    This has the potential of being one of the best course in the curriculum and yet it ended up being disappointing. I will explain why.

    The Lectures - The lectures of this course is perhaps one of the best in OMSCS. Prof. Isbell and Dr. Littman made the lectures very interesting by injecting humor and using good analogies to explain difficult concepts. There are quizzes at interesting intersections which makes the learning more interactive.

    The Assignments - Assignments are very interesting, produces a very good scope of learning. The instructions are clear cut specified in the assignment instructions, but the assignment instructions do not matter when they are evaluated. Some TAs have their own set of expectations from the assignments and some TAs (at least one) does not even bother reading the analysis.

    • In A1, I covered everything in the lectures and the assignment questions and received a very high score.
    • In A2, I did he same but received 50s. The TA has his own set of expectations and wanted to see analysis that was above and beyond what was asked. Generally going above and beyond makes a difference between a 70/80 and a 90 but never seen a 50 for not going above and beyond the assignment instructions. Still feedback comments were clear about what was being expected and this is still understandable.
    • In A3, I missed one point from the assignment questions and I received a better grade than A2.
    • In A4, covered everything I could, but the TA in question (one from the Famous Fives listed by another reviewer) (also the same from the three listed by another reviewer) never even bothered to read the analysis at all. The TA put some generic comments like "... is somewhat vague", "... somewhat lacks detail" etc. It did not stop there. Then some specific comments were also added like comparison for XYZ is missing, whereas there are tables, graphs and analysis for the same. On top of that it was announced that Assignment 4 can not be regraded. Its a shame if a student takes 40 hours to write an analysis and TA can't spend even 15 minutes reading it.

    The Exams - Even if I did not do well in the exams, especially in the mid terms, I like the pattern of the exams. It makes more sense to test with problems rather than multiple choice questions. Midterms were brutal with a time crunch, but finals were relatively better. It is advisable not to drop after mid terms and hold on.

    Conclusion - This course has one of the best lectures and there is a lot to learn. However the way assignments are randomly graded spoils the entire course. It takes away all the incentive to working hard. I can not say for certain that I would have received an A if the assignments were graded properly, but I believe that what makes more difference between an A and a B would be the kind of TA evaluating the assignments, rather than your own effort. Its up to the Professor to take care of integrity issues where TA grades the analysis without reading it.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-16T22:32:15Zspring 2019

    A great step into the world of Machine learning. I highly recommend taking this course if you are interested in topic. Prepare to write a lot and start projects as early as possible.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-16T06:37:26Zfall 2019

    This was a great class. A few things I liked: First, the open-ended projects are designed to let you explore the material, experiment with different libraries and algorithms and then justify what you see in writing. It's not a class where you have to replicate a very specific prescriptive set of tasks. For some people, that's very frustrating. Other students will love it. Second, the curve is generous. It's a bit anxiety-inducing for people who like to be certain of their grades but it's great for accommodating those who more familiar with ML as well as those just taking the class for the first time. After the midterm and right before the drop date the professor will give you an idea of how he breaks out grades based on the curve. So you should have an idea of where you stand letter grade-wise. Third, the focus on writing and analysis over code is my favorite part of the course. I was able to spend time really thinking about my problem sets and how the different algorithms behaved, instead of worrying about how to implement a specific algorithm and whether I had done it correctly.

    My one complaint would be the 10 point penalty given to students who ask for regrades. The rule is that if you don't gain back at least 5 points, you may lose 10 points. As someone who is always open to the possibility of being wrong, I never questioned my grades for fear of losing an otherwise decent score, even for a couple of assignments where I felt the TA had missed something. After seeing some of my peers gain 10s of points back on their assignments, I worry my grade may have been affected more by the randomness of TA grading and my lack of fortitude, then my understanding of ML.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-12-15T19:03:38Zfall 2019

    One of my most disliked courses in the 10 classes I've taken. Some exam T/F questions seem like trick questions and the projects become very tedious. Because this is required, here are some tips to make the going less painful for future students. DO NOT spend extra days finding a better dataset or better library. Go with simple datasets that just meet the bar and a "good enough" library and continue with the assignment and generate your plots. If a large dataset causes the algorithms more than an hour to train, bail on that dataset. It's not unusual to generate 30+ plots for a single assignment, so stay organized, carefully manage your time, and write as you go. Be very explicit in the report and separate the different analyses in a very obvious way. Write crazy fast for the midterms and watch all the lectures multiple times for the plenty-of-time final. Good luck and I'm sorry you have to take this class.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 24 hours / week

  • Georgia Tech Student2019-12-13T23:01:25Zfall 2019

    I'm going to start off saying I dropped the class before the first project. This was also the first semester they started cracking down on what outside code you can use. Basically, you could only use code that wasn't tailor made for this course, which makes sense. But there was previously widely used code that towed the line and suddenly was unacceptable which caused a whole bunch of questions on what could be used and what couldn't.

    The lectures were okay. They weren't the best, they weren't the worst.

    The first assignment just seemed unpleasant. You were asked to compare given algorithms and told to use them on different datasets you chose. So if the datasets you chose didn't make these similarities/differences apparent, you were kind of SOL. I am sure if you were already familiar with machine learning, this would have made more sense (e.g. "I know algorithm X does better than Y in this situation, so I'll make sure to find data that shows this"), but if you weren't, it was really confusing to know what to do.

    I wasn't a huge fan of Isbell but some people really liked him. He is very sarcastic, which can be polarizing. I personally found it a little annoying because he can obviously be less sarcastic (evident by any articles, interviews, etc. with him) but he just prefers to be sarcastic almost all the time.

    It was kind of a meme. Something was confusing about the course, a student would ask a question, and Isbell would reply "Do whatever you want. I don't care." or "You really know the answer, why are you asking me?" I understand professors, especially in large online environments, must get asked duplicate questions a lot. But it was kind of a perfect storm of the requirements being ill-defined, lacking documentation, and a guaranteed sarcastic reply that made you not want to really try.

    The slack channel seemed really active and people seemed to be figuring out cool stuff to do with the assignments. I personally don't like that much freedom because I feel like its so rare that I nail "the spirit of the exercise" when I am not intimately familiar with the material, but it clearly worked for some people.

    I really wanted to like this class and I feel like I actually might another time around if I drink the kool-aid a bit more, but I am seriously considering changing tracks to avoid taking this class.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-13T13:48:34Zfall 2019

    This class has a special fame in OMSCS, for being both very interesting and pretty hard. I think the "hard" part is well deserved, but I didn't find it very interesting. Assignments seem pretty open ended, but are then strictly graded through an unclear and hidden rubric - sometimes even TA get the requirements wrong. It seems that one very important part of this class is nagging the TAs during office hours in order to squeeze the rubric from them - which is pointless.

    The regrading policy is draconian - if you don't get at least 5 points for your request, you'll lose 10 points. This applies even if the TA makes a mistake (e.g. if he/she says that you didn't discuss X when you did discuss it).

    Dr. Isbell's attitude is not nice towards students. Yes, some students ask silly questions, but even good questions often don't seem eligible for good and clear answers.

    The class is just sufficient with regards to way it's run. Very often there have been unclear timings - i.e. wrong or missing timezones, unannounced changes, libraries that get banned during OH without a public announcements. Nothing great.

    I'm not sure whether I learned something in this class. Maybe I did, maybe I didn't. For sure it was a lot of work, and maybe there're other resources that would have me understand the topic better than this class.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-12-13T13:09:01Zfall 2019

    The course started very positively. The lectures were quite interactive and perhaps the best part of the course. Prof. Isbell and Prof. Littman always kept the course on a lighter mood, that made it possible to grasp difficult concepts without making it boring. I would perhaps rate the lectures of this course as one of the best.

    Now comes the dark part. The way the course is managed is completely haywire. The lead TAs do their job very well, but the presence of certain TAs who are least interested to do their job, destroys the course. I scored low-mid 80's in 3 assignments and one assignment in the middle dipped to mid 50s. Why? Did I temporality lose my knowledge for a 3 weeks period? I don't think so. Had the lectures failed to teach me one fourth of the course? No, the lectures were the best. How could my writing depreciate so much just for one assignment? After reading the reviews below, I don't think it did either.

    It was evaluated by one of the 5 TAs listed in the below review. The TA in question did not even bother to read the analysis written, which is quite evident from the comments. The evaluation comments stated A, B, C are missing whereas there are graphs, tables and analysis for each of them in the report. And the rest of the evaluation comments are like "this is vague", "that needs detail", etc. What details? Someone can write a 100 page analysis with details. Did the evaluator forget that the analysis is limited to 10 pages? Also it looks like I am not the only one facing this. Others below have described similar things too. And all of this is happening under the watchful eye of the professor. I totally respect Prof. Isbell but I expect him to take some action on this rather than demotivating students to go for regrades.

    Had the -10 rule not been there I would have definitely gone for regrades. Perhaps I did right because someone below noted that these TAs "behave childishly" when questioned for. If academic integrity is expected from the students, why is not the same expected from the TA? One bad evaluation can make a difference between an A and a B.

    Midterms. Midterms are very brutal. I did very bad time management and did not expect the pattern of questions initially and did badly. You will definitely run out of time. Advice is not to drop. When the results came out, I was close to the median. Finals were relatively easier. You get twice the time. And be prepared to write a lot.

    Overall the course materials were good. The lectures were one of the best. But as I said the mismanagement of assignment evaluations takes away any incentive to work harder and where you end up depends on the nature of the person evaluating your assignments. This is the first time I saw such in my last 9 classes. That is why I rated it as "Strongly Disliked". Hoping Reinforcement Learning to be better than this.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-11T08:28:15Zfall 2019

    I loved this course. I see there are so many negative reviews regarding this course, and I can feel why its like that. Its true that the projects are not clear what is expected and that's actually with purpose. For people in the software industry for a long time, we know that requirements are always blurry unless you are an in intern. The ambiguous nature of software engineering requirements are part of real life and I am glad we are expected to work exactly like that. I do not see the point on which people are complaining like it is clear exactly whats the rubric for grading etc. Frankly I would not hire a person who needs every requirement in detail in a product development company. I will expect them to have a decent exploration factor and come up with their own innovation given the most seemingly vague requirement. This would show how enthusiastic they are in the product and that's the key for the product to be successful.

    My advice is to not pair this class with anything else (even most easy course unless you are not new to ML and have lots of time to spare)

    Rating: 5 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-12-10T20:50:03Zfall 2019

    This class is not as hard as people make it out to be, but you have to approach it in a very particular way.

    The homeworks focus on evaluating different algorithms' performance. Be sure to read the instructions closely and cover all the required analyses. Often you'll need to check office hours for exactly which metrics the TAs want to see; these won't necessarily be in the instructions, but you'll still be docked points for missing them. Your reports need to reflect the spirit of the assignments, rather than empirically describing your results. For example, if you pick a dataset, run four algorithms on them, and find that all four perform equally well, pick another dataset that yields different results or else you'll lose major points.

    The exams test your understanding of the underlying theory. If you have a good grasp on the concepts you should be able to finish both with plenty of time left. However, because you can complete the homeworks without implementing any algorithm yourself, the homeworks won't prepare you for the exams. If you're someone who learns more by doing than by reading/listening, this might be tough.

    I would really recommend taking AI before this. First, there's a lot of overlap and the AI materials are fairly clear. Second, AI requires you to implement algorithms from scratch, so you'll come in with a good amount of intuition about how each algorithm works on a nitty-gritty level which goes a long way for the exams.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-12-10T06:32:56Zfall 2019

    Having completed 7 courses earlier, this was by far the hardest. And then I am employed full-time and had multiple travels during the term, and the time with family. So a living hell of a sort. Midterm was the worst. Nightmare, but hold on and do not drop.

    What I liked:

    • The lectures, they are different from the rest. I rate HCI by far the best and then would consider this. Like the way the professors explain concepts.
    • Assignments/projects as you can call them. Though you can steal code, nothing you can do from scratch. Although time provided would be a constraint. I did Assignment 4 from scratch due to a few changes and had no issues.
    • Evaluation is on concepts not just the assignments or lectures. If you understand things well, you'd do well. However there are caveats which I will list in the dislikes.
    • There is a generous curve, while I feel requires a lot of effort in both assignments and exams to get an A - a slight less comfortable approach can get you B.

    What I disliked:

    • Assignment feedback - ambiguous at times. Wonder if the report was run through a bot or someone really looked into it. Absence of a rubric just seemed to make it worse.
    • I had fair feedback for A1-A3 and kind of accept them, however the feedback for A4 was ambiguous while I got a decent score. I was left wondering which way the feedback aligned.
    • Midterms and A2 submissions were pretty close and with the time limit for midterms, not a favorable time. I can't complain, but the plan could be better.
    • Too short time to review the midterm solutions. I was traveling and missed them.

    While I do not despise this course, but can't love it. Things should be considered for improvement. Hope I do not have another one of these again. If I had to repeat this course, crap out.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-10T00:32:07Zfall 2019

    Having taken six courses earlier, this by far is the hardest and also satisfying course. As the other reviews mentioned, there are two ways to look at this course, the lectures, the materials and the TAs. Either you can accept the challenge of an actual graduate course or whine that you are not being walked through step by step like a junior college student, just my 0.02 cents.

    Being a graduate course, this course correctly expects you to produce high quality analysis. That means reviewing and citing multiple papers, performing experiments and gaining intuition to the underlying mechanisms. Some OMSCS courses are faulty in spoon feeding assignments where turning in working code which is auto-verified is sufficient. IMHO, that is undergraduate level work. A graduate program equips you to perform further research, follow the scientific community and explore further. I learnt the most from this course in comparison to the six i took earlier.

    All assignments can be started from Day 1 and this is not a course for procrastination. Start from day 1 and front load all the lectures as soon as possible. Attend all office hours. The TAs go into detail about what their expectations from each assignment are. Read the assignment description and explore them, rather than just providing a yes/no answer.

    I would recommend choosing your datasets carefully as Assignments 1,2 and 3 recommend using the same dataset. Choose datasets with less than 2000 sample rows, one will less features and another with a lot. Also try to choose or craft a balanced dataset (yes you can build your own dataset) from any source to ease your life. You don't higher score for a long running dataset, only results matter (any result).

    Midterm will be brutal. For instance our class mean was around 45% and many of the folks dropped off at that stage. It was meant to be brutal and hard and discourage anyone who wishes to skate by.

    Join the slack channel where you will find both the Professor, earlier students and the current group hangout. You can definitely learn a lot regarding the assignments, get help when stuck or get motivated if down :)

    The only problem, would be the lack of midterm and finals study guide of sorts. The exams are definitely 2-3 levels higher than the lectures in terms of applying the learnings and makes it a tough nut to crack. But since all the students have the same test with the same lectures, I believe the Professor provides a generous curve at the end.

    Good my final grade and scored an "A" at the end, thanks to the finals and the generous curve. Check for grade split ups.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2019-12-09T21:44:35Zfall 2019

    This course has a lot of negative reviews but I liked it. Yeah, it was hard, but I expected it to be hard. Machine Learning is a broad subject and this course attempts to cover the basics of most of it in a single semester. Plus you're taking it at Georgia Tech with the Dean of The College of Computing himself.

    The 4 assignments are open-ended and that can be frustrating because you know there's probably a rubric the TAs will use to grade you but you don't know what it is. I think the point is that you are intended to approach the assignments as if you were a researcher. If you simply want to follow along with a tutorial, there are plently of them out there. To get an idea of what the TAs will be looking for, pay close attention during office hours. Take notes. Write down key terms. Reread your submission and make sure you answer every question posed by Dr. Isbell. I didn't do as well on the assignments as I would have liked, but I think my grades were fair. Yeah, there were some elements that I think I addressed but that my TA missed. There were also a few where I thought my work was sketchy but they gave me the benefit of doubt. Overall, life isn't fair but I don't think it matters so much here due to the way final grades are determined.

    The exams are very fair and, in my opinion, some of the best thought out exams I have ever taken. They actually evaluate you on your understanding of the material. There are no suprises. No gotchas. You want to do well on the exams? Watch the lectures. Do the quizes. Make sure you actually understand the lectures. That's it. No need for memorization of a million arcane facts. Just do your best to understand the material and you will be fine.

    I don't have my final grade yet, but I'm confident I will get at least a B and possibly even an A. I didn't have any prior ML experience beyond ML4T, DVA, and a bit of reading online. Overall, this class is exactly what I expected from OMSCS. It wasn't 'fun' per se, but I did enjoy it and I learned far more than I anticipated. My only complaint is that I learned pre-ground coffee contains roaches. I really wish I didn't know that.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-09T17:47:52Zfall 2019

    If you are an overachiever, you may have trouble with this class. The main reason being because the assignments are huge and very open ended (by design). If one is not careful, each assignment (there are 4) becomes a research paper, especially if one didn't come to the course with a primer in ML. I found myself putting in more than 40 hours/week in the first half of the course and having a notion that the more time I put in the farther I got from actually being done (because the notion of being done is defined by the student and not by a rubric). So, my strongest advice is to not worry too much about delivering something you think is perfect. There is no written rubric/guideline on what should be included in the analysis. This is sort of silly, since the TAs drop useful hints on what should be included in the analysis for each assignment as part of OH. So, why not just document those hints in a one-page document? But...

    Midterm is brutal; finals are more manageable because of the reduced amount of material in relation to Midterm (not little material, just less than for Midterm that has a crazy amount). The median I think was at around 45/100 for this semester; which is scary as hell; again, especially if you an overachiever.

    The first good news is that, since everything is open ended, the learning rate is insane. When I finally could take a breather after finals I looked back and realized how much I learned in just 4 months. Coming from zero in ML to a very reasonable amount of knowledge about Supervised, Unsupervised and Reinforcement learning in just 4 months.

    The second good news is that there is a significant curve at the end. So, if you delivered reasonable assignments and didn't zero out the exams you have a good shot at an A at the end.

    To summarize:

    1. Check any ego you may have at the door before you embark in this course's journey
    2. Accept the fact you may (most likely) get at least one heart crushing grade between assignments and exams
    3. At the end, everything will work out as Isbell rewards hard work with a curve at the end
    4. I suggest this course should be taken by every OMSCS student, regardless of specialization as it does offer a very reasonable survey of ML
    5. Oh, I almost forgot. Make sure to be active in the course' Slack channel. I got much more out of the discussions I had with fellow students in Slack than from TAs who are not very active in Piazza. In fact, out of all my courses to date, this one is the one I used Piazza the least; even though the course was the hardest and one that one needs a lot o help

    Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-12-09T17:06:17Zfall 2019

    Be ready to spend a lot of time on this course. I would recommend to not pair it with another course.

    I did learn alot, but a lot of my time was spent trying to figure out what to actually put in the reports as the instructions leave it very open ended. This is not a good thing, because then in office hours they state you need specific things in the report. This was my last class in the program and I did not experience this in any other course. I would recommend that anything they mention during office hours be in the assignment instructions. It really doesn't make sense, and then you are rushing to add certain things in your report after watching an office hours, when you thought you were done!

    The head TA's were very good but I had some bad experiences with the other TA's

    The course does not honor what was written in the syllabus on the home page in canvas. Regrades were not allowed for the last assignment, so make sure you put extra effort into the last assignment. They announced this during office hours and it was not documented anywhere, it gave some students an unfair advantage as if you need poorly in the first assignments, you could at-least request a regrade. Those like myself who did poorly on assignment 4 could not.

    Feedback given by TA's was often times rushed and not thought through. I felt like certain TA's rushed through and didnt provide anything meaningful Points were removed without explanation, so it was hard to improved based on it.

    Overall you will learn alot, but you will also burn out, mostly because of the issues I mentoined above. I think the course would be much better if it had a solid grading rubric for assignments.

    Exams were well thought out and challenging. Everyone does bad on the mid term, you just have to live with it, because thats how it was designed. Dont drop due to your midterm grade.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-09T12:43:43Zfall 2019

    Honestly, I was disappointed with the class. I don't know if I can say it was hard in the traditional sense, its just that we don't get feedbacks for anything we do. I had multiple projects that received a grade, but no feedbacks. Was I missing something in the report, did I analyze something wrong? Did I do the wrong assignment? I will never know. Thats the most disapointing part of this class. The material is good, the projects are good, but we don't know what we need to improve on. The lectures are actually good too.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-09T02:55:56Zfall 2019

    tldr: This class is way over-hyped, requires a good amount of time, but is not incredibly difficult. By the end you'll be exposed to a broad survey of ML. It's a class worth taking, but probably one that will frustrate you more than it will excite you.

    The Good

    • You'll cover supervised learning, randomized optimization, dimensionality reduction, clustering, MDPs, and reinforcement learning. While you won't take deep dives into any of these areas, you do get a good amount of breadth in this survey course.
    • This class is not "Implement every single ML algorithm from scratch", and that's a good thing. You get to leverage existing libraries like scikit-learn to run a lot of experiments to see how the algorithms perform on different datasets and adjustments to hyperparameters.
    • If you enjoy wordplay, you'll get some good laughs out of Littman and Isbell's dialog in the lecture videos.

    The Bad

    • I don't understand why so many students fawn over the professor. Some professors in OMSCS are active on Piazza or participate in office hours; Isbell is not one of those professors. Typically his only involvement is to chime in on Slack to complain about students' Piazza posts. I understand that students often fail to read the directions, but it seems unprofessional for the professor, especially the Dean, to publicly whine about students. His general tone consists of snark, which gets old.
    • I found that the lecture videos, while sometimes comical, often don't do a very good job of providing intuition or concrete examples of the content. Again, I'm not a student that expects everything to be contained within these lecture videos, but I often found myself asking why they chose to use the example or context they did.
    • This isn't one of the classes in OMSCS with good TAs. Some others have written accurate descriptions of how the TAs rarely interact with the class, but again, you'll essentially only get anything useful from the weekly office hours where they drop hints about what is expected in the assignments. And it does seem like the TA that grades your paper plays a large role in your paper's grade. There were classmates that received feedback which stated, "You should have included X" and the students had both text, tables, and graphs on X.
    • I did really well on the assignments, but grew tired of the constant "you'll be graded on your analysis" line being dropped all the time. There is so much to be explored or analyzed in this course, I just don't understand why the only way to understand what the TAs expect to see is by watching office hours. Why can't some of the essential items just be included in the assignment description?


    • You typically get 3 weeks to complete each paper. Some people suggest 1 week to get your coding framework set up, another week to run your experiments, and then use the last week to write the report. That didn't work well for me, and after the 2nd paper I switched to a different system that worked better for me. I would use ~2 days to explore the different available libraries to use and then start trying to write the paper. This helped me identify what I needed to write code for, and what experiments to run. That really helped me focus in on what I needed to do, saving me a lot of time from working on things that didn't matter or didn't belong in the report.
    • Watch the weekly office hours to understand what the TAs will look for in the papers.
    • Don't quit. This class is graded on a curve and as long as you do the 4 papers and complete both exams you'll survive. Keep your head down, do the work, and you'll come out of this class one step closer to graduation.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-08T17:42:02Zfall 2019

    I really enjoyed the course objectives and how this class sought to emphasize application of ML and synthesis of theory over the memorization of formulas. I also thought that the lectures were well done and did a solid job of facilitating learning (although they do waste a lot of time with irrelevant jokes and bad puns).

    However, this course was ruined by terrible TAs. I started off bright-eyed and bushy-tailed wanting to love this course, but I ended up disillusioned and checked out. I will easily be getting an A in this course, so my review is not due to some bitterness over grades.

    To spend 60+ hours writing a report and then receive feedback that clearly demonstrates that the grader did not actually read your report is soul-crushing. I'm not talking about small mistakes. I'm talking about saying that your paper is missing "xyz" when "xyz" actually comprises an entire section and multiple pages of your paper. One TA commented that I needed to explain the long runtime of one of my algos; this would be useful feedback except for the fact that my paper clearly stated (using both words and tables) that this algo actually had the shortest runtime during my experiments. This is especially frustrating because you receive extremely limited feedback throughout the entire course. My sincerest condolences if Kye Bae, Subham Singhal, or Young Ki Hong grades your paper.

    The head TA, Amir Afsharinejad, does a good job running office hours but is pretty checked out in terms of everything else:

    • In the last office hours, he said verbatim, "this is going to be our last office hours so we'll try to answer any remaining questions regarding the final exam on Piazza and be more active there during this time." After that, 11 days passed before a TA answered a single public Piazza question and only one question was answered before the final exam window opened.

    • He released the midterm solutions late, accidentally closed them early, and then completely ignored all the Piazza posts asking him to make them available.

    • He made PS2 due on Thanksgiving and then did not release the solutions until a week later which was one day before the final exam window opened.

    The assignments in this course do facilitate learning, but they do so in an extremely inefficient manner. I would have liked to have spent more time on learning about actual ML. The assignments can be an massive time sink due to the lack of structure and clarity as to what is actually expected. Of all the classes I have taken in OMSCS, I have definitely learned the least per hour spent on this course.

    The exams do a good job of measuring synthesis of the topics covered. The assignments simply measure one's ability to glean grading rubrics from office hours.

    All in all, instead of fixing the actual issues with the course and its subjective grading that's heavily dependent on one's TA, Isbell applies a band-aid by assigning final grades using a massive curve. If you're still breathing at the end of the course, you'll likely get a B or better.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-08T11:45:18Zfall 2019

    I'm not sure what happened this semester, but TAs don't read your reports. They only look for keywords and if you didn't use that word, they say you didn't include it. After every assignment was returned, numerous students reported being told that they did not include some item which they did. RL is also taught by Isbell but it is extremely well run and TAs give constructive feedback. In ML, some comments were derogatory and provided no constructive criticism on top of being inaccurate. If you request a regrade, the TA often doubled down regardless if you provided evidence proving them incorrect. TAs hold weekly office hours in which the head TAs answer questions about assignments rather than any conceptual questions. The details about the assignments are never included in the assignment instructions which is ridiculous. It would be more helpful to students to give more detailed instructions and spend office hours discussing any conceptual confusion students have.

    Five TAs that do NOT read reports and act like children when challenged are Ganesh, Akhilesh, Kye, Young, and Subham . I won't mention their surnames. I did reasonably well and earned an A, but after taking RL where the TAs are fantastic and active on slack and piazza, this class was a HUGE disappointment. Some of the TAs aren't even enrolled on piazza. Amir and Dan rarely answer questions, and students mostly just receive sarcastic or ambiguous comments from Isbell. Dan occasionally popped in to slack and might have monitored but overall, these TAs are incompetent and unaccountable.

    There's also a page limit to reports which has been consistent over years but seems pointless and a word limit would make more sense.

    Regrade policy that is consistent between ML and RL is that you must regain at least 5 points or lose 10. If the TA can't justify a deduction, then the TA shouldn't deduct. It seems like a childish policy. If the TAs did their jobs correctly the first time, there would be no need for regrades except in a few cases. (I have TAed before so this is not someone insensitive to what TAs do.) TAs that cannot do the work correctly and cannot admit when they're wrong should be fired.

    Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-12-05T01:11:50Zfall 2019

    The most disappointing class I have taken with OMSCS so far (this is my third one). This is the class that just kills all of your motivation.

    Lectures are not completely horrible, but don't provide much practical knowledge. The homeworks are a complete nightmare. Not that they are that hard. But they are not designed to get you to the next level; they are not designed to encourage learning. I can't even tell what they are designed for. Feels like they were developed by someone who has no clue how to teach students practical skills. You're still probably going to get a B as long as you turn in your assignments. But this is just such a horrible way to run this class. Given how awesome this class could really be.

    If your assignments are consistently more than 10 percentage points below the mean and you must get at least a B, I would suggest dropping this class if your midterm is also below the mean.

    Isbell is one of the worst professors I ever had. He must think of himself as very smart and funny; in reality he is just a sarcastic jaded professor. Yeah, the dude is actually smart, but ask him a question and all he'll come back with another one of his "funny" but useless and often demeaning comments. The dude needs to get a life and stop teaching this course. The last thing he cares about is getting students to be excited about this class.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-12-02T15:01:23Zfall 2019

    Class is well organized, but the homework is a total waste of time. It's easy but waste of time.

    Rating: 2 / 5Difficulty: 2 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-11-07T16:49:57Zfall 2018

    I dropped ML in two previous semesters before sticking with it this time. 1st project is a monster. Still didn't do well this time, but ended up with a B in the class. Wish I would have stuck with it in one of my earlier attempts

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-11-06T13:27:13Zspring 2018

    General introduction to the topic of ML, quite a standard one. Not really the best lecture in the program, but if you are in the ML specialization, you don't have a choice anyway.

    One should really spend time and effort on the report of the assignments, and be well-prepared for exams.

    4 individual assignments + 2 exams. Python/Jython, MATLAB or whatever other language you like.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-11-01T02:11:45Zfall 2019

    Personally I'm not a fan of how this course was structures, it did not incite any learning from me. I came in to this class hoping I would learn something but I went through each week wondering what the heck I just learned.

    First off I did not like the way the lectures were structured. Professor Isbell and Professor Littmen tag team their lectures, one taking the role of the teacher and the other someone who is learning the material. I found that the back and forth question and conversations were at times a bit excessive. I understand why it might be helpful, but I thought it was overall wasteful in terms of time. I went through the lectures at 1.5x and I still felt like the lectures were going on for a long time! I just wanted them to get to the point. The back and forth confused me a lot having to listen to two voices. I found myself looking for material outside of the classroom, primarily on YouTube to help me get a better understanding of what I just watched.

    Secondly the projects were super vague and primarily paper based. We were instructed to "steal" code so that we could focus more on our paper. But I found myself trying to find code, trying to fit it towards my need and not fully understanding what I just did, all while worrying if I have enough time to even start and finish my paper. By the third project, I just kind of mentally checkout of my assignments because I just didn't think it would be worth putting in all that effort, which lead me to my next point.

    Because of the way this course grades your work, if you're typically a borderline A-B student (meaning often ride around the 89-91%) I felt like at some point there isn't any reason to put more effort into the class because I know that I'm just going to get a B anyways. The curve is meant to be generous. But if you want to get an A you either have to know the material already, or be able to really focus on the class, which I unfortunately could not as I have full time work and took another class with this. I ended up focusing on doing well in my other class and just cruised the latter half of this one. Psychologically (and this is a flaw of me) I just don't try as hard knowing that I won't be getting and A. The thing is I've been breaking this barrier of my in my other classes, but this one really brought me down.

    Unfortunately everyone has to take this class for ML specialization. I hope that I'll be able to learn more outside of this class.

    Rating: 2 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-10-15T22:54:41Zspring 2019

    The workload in CS7641 is challenging but you will learn a lot especially if you are new to data science. The first three projects cover Supervised Learning, Randomized Search and Unsupervised learning respectively. The fourth and final project covered Reinforcement Learning which has an entirely separate course dedicated to it in the OMSCS. I used sci-kit learn for projects 1 and 3 but used ABAGAIL, the course recommendation for project 2 as it had the best support for all the randomized search algorithms that the project needed to cover. If you have done the OMSCS Reinforcement Learning course then this will give you a leg up for the final part of CS7641 including project 4 for which I used Python MDP toolbox and Open AI Gym. If you are not already proficient with the packages you select for the projects, you will have to learn them on your own. I used to understand how to use the sci-kit learn package for projects 1 and 3. What really matters for the projects is the analysis report that you have to produce. Your code, whilst required to produce the results, is not graded at all. It is worth noting that unlike most CS courses, you are allowed to reuse other peoples code for CS7641 (as in steal outright - no joke) however your analysis report has to be entirely your own work. CS7641 is notorious for its difficulty level however this is reflected in the grading curve. A good score for each of the projects will go a long way towards passing this course.

    There are two exams; one mid-term and a final. I didn't do particularly well on either one (think forties and fifties) but scored highly in the projects (think sixties to eighties) to end up with an A on the course. Of course the grading curve is dependent on the class intake itself however I understand the curve for CS7641 is fairly consistent from year to year.

    The course professors, Isbell and Litman, attempt to break down complex ML theory into digestible chunks in their lectures whilst keeping up the banter between themselves. The lectures are the chief source of revision for the exams. All in all, CS7641 is a very rewarding course that I would recommend for anyone who has an interest in machine learning.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-08-02T00:10:33Zspring 2018

    Here are some of the things you may learn in this course:

    1. How to deal with arrogant, unpleasant, and unreasonable people (Maybe even how to do so without becoming a really horrible and unreasonable person yourself. Maybe!)

    2. Persistance and Tenacity. The material is not very interesting, isn't presented especially well, and assignments are mostly the same (i.e., not clearly specified or well conceived and mostly lots of busy work).

    3. How to tolerate having your work absolutely savaged after having put many, many hours of effort into said work product.

    4. How to tolerate ambiguity in project specifications.

    5. How to deal with people who tend to wield the power that has been granted them in totally arbitrary and capricious ways (sometimes seemingly bordering on genuinely spiteful.)

    Here are some things you probably won't learn that much about in this course:

    1. Machine Learning - The course covers theory and application alike at just about the right level of superficiality to ensure that you probably won't learn much of either very well. Students are routinely admonished to think hard (Yes, admonished. Not encouraged. The presumption was that none of us were doing this already, or could be bothered to absent a bit of shaming.) about the material, but don't seem to have been provided with a great set of tools which would enable them to do so. It's also far from clear that anyone on the instructional side thought very hard about questions of pedagogy when consideration was being given to the design of the course. So, there's all of that.

    Note: I actually took the course Spring semseter of '19 (this doesn't appear as an option in the dropdown menu.) I achieved a letter grade of 'A' with a numerical average of just above 65. Though I actually do think that all 5 of the real word lessons enumerated above are worth learning, it would have been nice to have actually learned some ML too given that that was the primary reason I (and, presumably, most students) signed up to take the course in the first place.

    I put off writing this review until I could avail myself of the benefit of having some distance from my experiences in the course. I wasn't sure until I sat down to write it that it would ever actually get written at all. For the benefit of those who take it in the future, I think it's worth stating what my experience of the course was. Perhaps (and hopefully), yours will be better.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-05-20T16:49:39Zsummer 2018

    Georgia Tech should have a real evaluation of its course because the bar is very low in that class.

    Teachers and TAs are not there to foster the future with students who master machine learning at all. Their only goal is to borderline "bully" student with stark remarks and responses. Any kind of questions from students should be considered a good question instead of answering "you know the answer in your heart" or "go check the whitepaper". The course is driven by high ego people who do not care about students success.

    I got A and I can barely do anything after this course. Why? Because everything is only copy-pasting. My grade swayed from 50% to 95% with the same rigor. The main issue: the assignment criteria are not well defined, hence a lot of gray areas that "luck" is the only factor. My best assignment, the one that I understood the most and spent the most time got 50% while my 95% was a little bit fuzzier in my opinion.


    1. Lectures are way too long. Most ver 90 minutes but there is actually 10-15 minutes content in each. Too many off-track discussion and way too many shortcuts for important topics. Some critical algorithm will have a 3-4 minutes video with zero examples (or 1 example maximum). Impossible to grasp the core of the idea without having to spend several hours on different external videos and website.

    2. Too many whitepapers to read and external reading that is not digested. If this class goal is to learn how to read cryptic whitepapers, sure, but the goal should be to teach students about machine learning which this class does not.

    3. Teachers, Isbell, is a bully. He would have been fired from my work. He acts as a kind of god and he seems to be untouchable, now has the dean. Very bad examples for every student, TA and people who believe that it is the way to act with other individuals.

    4. No matter how hard you will work, you will always be lost if you do not already have a good background in machine learning.

    5. Very hard to learn when we must copy the code. Trying to do it from scratch to really understand will cost you too much time. I wasted the first week because I wanted to learn properly but forget about it.

    6. Too many topics. All the RL stuff should be out for the course called "RL-7642". Instead, they should spend more time to teach on the subject that they briefly talk.

    7. Related to point 1, they must know as professors that students need more than 0 or 1 example. Also, the scare examples provided are not even original. They are derivative from books or whitepapers, hence it reduces the number of examples to learn from.


    1. Individual work

    2. Learned new topics (but still do not understand them very well)


    Georgia Tech should really check itself in a mirror. The number of quality Youtube videos on Machine Learning are rising and the quality is easily better than this course. I watched all the lecture, read all the supplementary documents (whitepapers, books chapters) and with a high investment time of 18 to 22 hours per week have tiny of knowledge about machine learning. I would have rather understand a few topics but to understand them well instead of throwing a gazillion keywords and jokes.

    By the way, having to curve a class that heavily should be an indicator that most people do not understand. Not because they are bad: because the teaching is the worse.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-05-20T16:48:48Zsummer 2018

    Georgia Tech should have a real evaluation of its course because the bar is very low in that class.

    Teachers and TAs are not there to foster the future with students who master machine learning at all. Their only goal is to borderline "bully" student with stark remarks and responses. Any kind of questions from students should be considered a good question instead of answering "you know the answer in your heart" or "go check the whitepaper". The course is driven by high ego people who do not care about students success.

    I got A and I can barely do anything after this course. Why? Because everything is only copy-pasting. My grade swayed from 50% to 95% with the same rigor. The main issue: the assignment criteria are not well defined, hence a lot of gray areas that "luck" is the only factor. My best assignment, the one that I understood the most and spent the most time got 50% while my 95% was a little bit fuzzier in my opinion.


    1. Lectures are way too long. Most ver 90 minutes but there is actually 10-15 minutes content in each. Too many off-track discussion and way too many shortcuts for important topics. Some critical algorithm will have a 3-4 minutes video with zero examples (or 1 example maximum). Impossible to grasp the core of the idea without having to spend several hours on different external videos and website.

    2. Too many whitepapers to read and external reading that is not digested. If this class goal is to learn how to read cryptic whitepapers, sure, but the goal should be to teach students about machine learning which this class does not.

    3. Teachers, Isbell, is a bully. He would have been fired from my work. He acts as a kind of god and he seems to be untouchable, now has the dean. Very bad examples for every student, TA and people who believe that it is the way to act with other individuals.

    4. No matter how hard you will work, you will always be lost if you do not already have a good background in machine learning.

    5. Very hard to learn when we must copy the code. Trying to do it from scratch to really understand will cost you too much time. I wasted the first week because I wanted to learn properly but forget about it.

    6. Too many topics. All the RL stuff should be out for the course called "RL-7642". Instead, they should spend more time to teach on the subject that they briefly talk.

    7. Related to point 1, they must know as professors that students need more than 0 or 1 example. Also, the scare examples provided are not even original. They are derivative from books or whitepapers, hence it reduces the number of examples to learn from.


    1. Individual work

    2. Learned new topics (but still do not understand them very well)


    Georgia Tech should really check itself in a mirror. The number of quality Youtube videos on Machine Learning are rising and the quality is easily better than this course. I watched all the lecture, read all the supplementary documents (whitepapers, books chapters) and with a high investment time of 18 to 22 hours per week have tiny of knowledge about machine learning. I would have rather understand a few topics but to understand them well instead of throwing a gazillion keywords and jokes.

    By the way, having to curve a class that heavily should be an indicator that most people do not understand. Not because they are bad: because the teaching is the worse.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-05-18T21:13:12Zspring 2019

    This course is not quite as bad as people are saying that it is, as long as you use the resources provided and work ahead. By "resources" I am definitely recommending that you approach the projects based on either Jontay's or Chad's code- assuming you do this, I think the course is actually doable in 10 hours or less work a week if you are working efficiently. (This is a far cry from the 20 hr average on this site, but I measured the time it took and I believe it is realistic.)

    Don't feel like you need to go in with a super developed grasp of linear algebra and calculus- the basics will do. Much of what you are being measured on is understanding of the overarching concepts, synthesis, and being able to write. The math is really secondary; this is coming from someone who didn't take a single math course in college! (I also dropped AI for Robotics because I was getting confused on the math.) A much better preparation is just reading ahead in the book and perhaps skimming the videos for Andrew Ng's course on ML, which does a better job of explaining the algorithms than this course. (Quicker, too.)

    Because Ng's course was a better explainer, I would say that this course doesn't have the best lectures, although they are by no means bad. The assignments, though they require work, are mostly enjoyable to do. The tests are freakin' hard, but being able to type fast and synthesize should get you through. Make it to the end and you're basically guaranteed a B. I was dreading this course (saved it for my last in the program), but I easily got an A, to my surprise.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 8 hours / week

  • Georgia Tech Student2019-05-16T13:26:11Zspring 2019

    This is a kind of course where your takeaway completely depends on how much effort you put in. The Grading rubrics are not known. The points you get on your submission are highly stochastic and depend on the Grader you've been assigned.

    The course material is a good survey of the technology and it's up to the learners to make most from it. Code to the projects are freely available but beware of using them without understanding it. Because the reports need to be written by you and absolutely no copying of reports is allowed.

    I highly recommend that you take RL only after ML. I did just the opposite and I repent it.

    Advice: i) Be active on slack, ii) OH is avoidable, iii) Steal the code, iv) You will get good feedback from the project reports - make use of it in subsequent submissions (ditto for the mid-term), v) Work ahead if possible, vi) In your reports don't just say what you did; also say why you think what you saw, vii) Don't panic - You will get a B if you stick till the end and submit everything

    Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-05-08T02:16:21Zspring 2019

    This was a time-consuming class that you should make sure you have time to fully commit to. I enjoyed the content and the assignments, and I felt that the material was taught in a practical manner. By a practical manner, I mean that we spent a lot of time in looking at when and why to use specific ML methods and algorithms as opposed to focusing on the specifics of implementation.

    Assignments: Four assignments, each one will take quite a bit of time to run, analyze, and write up a 10-12 page report. Stealing code from anywhere is encouraged, but to do well you need to understand what the code is doing and what the output means. Be sure to address every tiny thing mentioned in the assignment description, and attend office hours to hear about expected content that is not covered in the assignment description. The TAs expect this content to be there, and you will be docked points if it is not included. Grading is somewhat subjective depending on the TA that graded your paper, and regrade requests are strongly discouraged (with point penalties if they do not result in an increased score).

    Exams: Midterm and Final (not cumulative). Same length, but final exam has twice as much time. The midterm gave very little time to really think through your answers, whereas the final you could really spend some time deliberating. The questions were challenging, but partial credit and curve were extremely generous.

    Overall, I enjoyed the course for what it was: a survey of ML topics/algorithms and when/why you use them. As difficult as it is to do, don't stress about grades and you will make it out with at least a B if you put in the time and effort.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-05-07T21:57:27Zspring 2019

    This was my third class in the OMSCS program, which I took concurrently with ML4T, during the Spring 2019 semester. It was definitely the most challenging class I took so far (compared to ML4T, HCI, and DVA). That being said though, I ended up really enjoying the class as a whole, especially the strong/broad introduction it provided to Machine Learning concepts and methods.

    The class covers a lot of content at an extremely quick pace, so unless you already have experience with machine learning, you will most likely feel overwhelmed. I think this was done intentionally however as a way to quickly expose students to all the different kinds of machine learning topics that could be explored in greater depths in future classes (e.g., RL).

    As such, the grades received from the assignments and exams were not as important as in other classes because there is a very generous curve at the end of the semester. The grading really worried and demotivated/demoralized a lot of students. Personally, I tried not to think about my grade a lot throughout the semester and instead focused on trying to learn and do my best.

    Ultimately, my grade was curved up to a B, and I think most students fell into the B or A range. I do think some of the TA grading was a bit too subjective at times, especially for the assignments - But again, I tried not to pay too much attention to the numeric value attached to my assignments, focusing instead on the feedback provided (most of which was very extensive and helpful!).

    All in all, ML is a very good and necessary class, even though its evaluation methods and structure may not appeal to everyone.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 40 hours / week

  • Georgia Tech Student2019-05-02T21:52:42Zspring 2019

    This was a very labor intensive course. It was a broad survey of the machine learning field covering supervised learning, unsupervised learning, randomized optimization and reinforcement learning and game theory. There are 4 very time consuming projects and 2 exams (a midterm and a final). It's highly recommended that you get started on the projects early since you only have 3 weeks for each project. You'll need about a week to get your datasets and code running, another week to fine tune your experiments and code, and the final week to write a 10-12 page paper on your experiment results. A lot of people complained about the lack of a rigorous rubric but I found that if you addressed every point in the assignment write up in detail that you should score well. Also, attend every office hours as the TA's drop hints about what they expect to see in your experiments and analysis. Overall I enjoyed the course and felt like I learned a lot. However, I wish the course was broken up into multiple courses so each topic could be covered in more depth. The math and details were glossed over and the course focused on generating a high level intuition about how the algorithms worked. About 1/3 of the class drops every semester following the release of the midterm results. The vast majority of those that remain are all but guaranteed a B if they turn in every assignment and take both exams. There is very very generous curve.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-05-02T16:58:16Zsummer 2018

    I took this course in Spring 2019

    A quick intro into my background: I'm from a computer science background and I'm a developer by profession. I'm completely new to ML and the algorithms associated with it. So I took this class as an intro into ML. But did I make it out the other end with enough confidence to apply the learnings? I would say no.

    For me this course was a whirlwind of topics introduced and without enough background to truly appreciate this I don't think I did justice to this course. The assignments were tough and it was expected to have a good understanding of the underlying algorithm while I was still trying to wrap my head over what it is that I'm trying to do. We didn't need to code (and not enough time for it either) which meant that I didn't get at least a practical hands-on at the end of it.

    I had to do a lot of external reading and watch a bunch of videos to grasp the thought processes/background needed to appreciate the practical implications of these assignments. For instance we were asked to pick any dataset and any code available to provide an analysis of decision trees. But, the idea of what is meant by a good dataset or what/how are fields chosen to learn or what is meant by pre processing the data or what is a good methodology to attack such problems are not discussed in this course although it is said to be an introduction to ML.

    Anyway I felt like a misfit in this course and have come out with an aversion to ML. I'm sadly and totally banking on the grading curve to come out with scars and without anything concrete (other than a mild familiarity to the algorithms perhaps) to talk about in ML.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 24 hours / week

  • Georgia Tech Student2019-04-30T18:46:42Zspring 2019

    The course is easier than stated in the reviews. It comprises of 4 assignments, totaling 50%, and two exams comprising the remaining 50%. I frankly didn't learn as much as I'd have liked to. This is due to the fact that in all the assignments you can steal code. And the fact that there are just way too many algorithms to implement. There is 3-4 weeks for each assignment. It's very difficult to code, experiment, tune the hyper-parameters to get results, plot etc. And after this you have to write an analysis (10-12 pages long). This was the biggest pain point for me. The exams are administered thru Proctor-track. A review of the lectures is sufficient to prepare for the exams.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 12 hours / week

  • Georgia Tech Student2019-04-30T06:16:12Zspring 2019

    I felt that the course content was average. Videos were filled with cringey puns made by the professors. The last part of the course was very rushed, huge amount of content was covered in very few videos.

    Assignments required 10-12 page written analysis. It was encouraged to steal code. Looking back, I did not learn a lot because of this. If you write your own code, expect 30+ hours/week commitment (for a 3 credit course!). Grading was based solely on the written analysis (code had no weight on its own). Since it was a written report, the grading was very random and completely dependent on the TA who graded your report. Seemed like grades were based on your English writing ability and it had very little to do with the report content.

    Liked the exams. They were tough and did a great job of differentiating between students. Questions were logical, well designed and grading was fair. Exam scores constituted 50% of the final grade. Despite having below average scores in the assignments, I managed to get an A due to high exam scores.

    Overall, I feel that you should take this course only if you are interested in machine learning research. I expected to learn some practical machine learning skills and the course did not live up to my expectations in this regard.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-04-29T19:49:39Zspring 2019

    • Not as hard as said in reviews. Probably because you need not code and take advantage of the code written by previous students

    • Assignments are graded only on analysis. Grades for assignment depends on TA who is checking your assignment. So in one assignment you could get 100 by one TA while your score could fall in fifties for similar analysis in another assignment. But there is a scoring curve and I guess everyone goes through that.

    • Exam 1 is hard as you have to cover lot of material. Also during the exam, you get very little time to write answers for lot of questions. Lot of students dropped after midterm because of grading in first assignment and exam 1.

    • Assignments are open ended and their is no rubric except for few comments in canvas. If you follow those comments you "MIGHT" do good.

    • Survey course . You will get overview of ML concepts and algorithms. Probably they break into 3-4 courses ( like they already have RL course in OMSCS) where you dive deeper into concepts.

    • Professors are knowledgable and it was fun course to watch and they have very intuitive way to make you understand the concepts. I have watched Stanford, CMU courses as well on net to get into more details for the concepts but found them very drab and hard to follow.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2019-04-29T19:12:19Zspring 2019

    Machine Learning is, I hope, my 10th and final OMSCS course. Choosing it over AI may have been a poor choice, given my background in coding. But I’ve basically lost faith in AI as a viable technology. So it was ML, here I come.

    After knocking out a 45% on the midterm exam and feeling lucky to get that, I belatedly got the memo that I needed a B in the class to meet the core requirement for graduation. This increased my stress level from 20 on a 10-scale to approximately 1000 but was probably just as well: If I’d known this going in, I might not have taken the class this semester (Spring 2019) at all.

    It turned out that my soul-crushing experience on the midterm was actually slightly above the class average, which restored some hope. Soon after the first project grades came back and again I was slightly on the good side of the mean. It was doable, after all, if I could maintain the 20-hr/week pace I was on.

    That, needless to say, is not easy when working 45+ hours/week on one’s real job. This is my only major knock on OMSCS: The time commitment varies a lot between courses and some of them are over the top. There is a simple solution, of course, and that is administrative oversight of course design to level the time/credit hour relationship. Despite the naysayers, this can be done!

    The lectures by Dr. Isbell and Dr. Littman are interesting and filled with numerous, even constant quips and puns, to keep things lively. Thank goodness, because there are a lot of long lessons, some with moderately intricate algorithms and equations to untangle. Of the courses I took, the ML lectures are by far the best, with KBAI in second.

    The supervised learning project is quite demanding as it is a survey over multiple SL algorithms. Take Isbell’s advice and steal the code from the ‘net. I wasted considerable time on vanity by attempting to write my own grid search. Not a good idea.

    Of course, using someone else’s framework has its own problems, as any coder knows. But it is the shorter path, in the end, toward writing the paper that is the real job of the student.

    More than one programmer-type like myself had to battle through the fact that one’s skill with that aspect of C.S. meant very little in the class. Happily, writing is another relative strength of mine, so I may have fared better than I might have otherwise.

    The 7641 Slack channel helped a lot with this class as some alumni were present there, as well as a good group of current students. Tips and tricks were shared that helped a lot, as virtually everyone used the “Jontay” or “Chad” code as the basis for their project.

    I didn’t learn as much as I could have if writing the code from the ground up was doable. Unfortunately, there is too much material in too little time to allow for this approach.

    I am left wondering if lopping off the reinforcement learning element of the class and spreading the rest of the material out would not be more beneficial to the student? After all, there is a whole class on RL. But this would work against using ML as a core component of the program…

    My final thoughts on ML are that it is a good course on an interesting subject. Perhaps it is one that doesn’t jive with my personal interests, but it’s well-run and the workload is survivable - if your expectations and time management are realistic.

    During the first month, I told my wife that she should expect to become a “machine learning widow” for the duration of the class. That proved to be correct and I even ended up having to burn some vacation hours to get the work completed. So be it. It is done.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-04-29T16:39:36Zspring 2019

    This course is a broad survey of Machine Learning, which means it moves very fast. The lectures were very enjoyable and I really liked the interaction between Professor Isbell and Professor Littman. It's really the first time I've seen a class taught like this and now I wish more classes were done this way, where one acts as the "student" and the other acts as a "teacher". There were a total of 4 projects. Each project covers a different "section" of machine learning. I am not exaggerating when I say I spent 35+ hours on each assignment on average. Get started on the projects early. I would not be able to finish some of the assignments if I got started the weekend it was due. I do wish the projects were more specific in their requirements (especially the first assignment where many students are getting used to the expectations for the class), but they really require you to do a lot of self learning and exploring. The purpose is to use the algorithms in a practical way on real datasets. Not much to say about the tests, just memorize details.

    My recommendation: Watch all the lectures. Really put in the time and thought into choosing the datasets (try out many!) and working on the projects. Read additional papers and learn about the code behind the algorithms. Trust that the curve will give you at least a B.

    I have a full-time job and barely managed to squeeze in the time for this class. I would not recommend pairing this class with another. Looking back, I really enjoyed the class. I feel like the end was a little rushed, but that's how it is for most survey classes. As with many OMSCS classes, the more time you put into the class, the more you'll get out of it.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 22 hours / week

  • Georgia Tech Student2019-04-26T21:33:03Zspring 2019


    This is a very broad survey course that emphasizes conceptual understanding.

    The video lectures are refreshing and the banter between the instructors keeps things moving. The in-video quizzes are great to clarify the concepts.

    The assessments, however, are severely lacking.

    Especially the homeworks, of which there are 4. (I counted them as "projects" because they take that much effort). The two main gripes with the homework are:

    1. The lack of a solid rubric. The indication of what is expected boils down to "you will be graded on your analysis."
    2. The lack of supporting software. We are told that "it doesn't matter what data/code we use, just that we justify our choices and how we analyze the results," but 90% of my time was getting the datasets and/or code working. None of the class was preparation for this 90% of the time. This resulted in rushed/missing analysis, and I missed an entire homework, as well. If it doesn't matter what datasets/code we use, why not provide a default set, then let the more advanced explore beyond that on their own?

    The exams were closed EVERYTHING. I couldn't even cut and paste in the exam text field! So, after all that time getting the datasets/code working, the exams were purely a set of essays written off the top of one's head.

    Grades were always delayed, due to the written nature of the assessments, they had to be read and graded individually.

    The curve is massive, which is a blessing and a curse. The blessing is that, if you're breathing, you'll probably come out with a C. The curse is, there's little incentive to put in the dozens of extra hours to max out the homework or really nail the exam.

    I'd recommend NOT pairing this course with anything else, so you can devote your whole attention to it.

    I took ISYE 6644 and TA'd this semester. I should have done less, so I could do more with this class.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-03-13T02:29:29Zfall 2018

    The lectures were entertaining even though at times they were a little long. This was understandable as there were a lot of concepts that were quite dense. I am still amazed at how much information was packed into a semester in this class. Professor Isbell said there would be "tears of joy" at the end of the semester and he was right. I struggled immensely, did poorly on the midterm, better on the final and my last project had a decent grade. Even though I struggled the entire semester I found the material very interesting. At times I found doing more experimentation with some of the concepts than actually working on the assignment itself. I made out well enough to finish the program and did indeed shed tears of joy. The grading was more than fair but you will work your tail off. I didn't realize how much I enjoyed the class until I found myself exploring the content on my own and reviewing what I could have done better on my assignments long after the course was over.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2019-01-18T03:52:23Zfall 2018

    To me this was an OMSCS defining course. Office hours were run by great TAs who really knew their stuff. The assignments are ambiguous at times but I think it helped me really think things through. The tests were really hard.

    You can use any coding language you want but I used python for most of my assignments except for the A2 which was Jython. Also, I would recommend using Oreilly (free access with OMSCS) concurrently or before to learn how to build models in SciKit learn, Pandas, and OpenAI gym. They don't dictate solutions but if you are planning to use Python those are things you should be familiar with.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-01-12T15:07:09Zspring 2018

    One of the best class that I have taken in OMSCS. Prof. Isbell and TAs were very active and helpful at piazza. The course is difficult at the right level. The emphasis on results analysis instead of code really forced you to think twice and question whatever it is that you were experimenting. In my opinion, this is what separates undergrad-level class with postgrad's.

    The course has 4 assignments, all of which are basically : (1) get some datasets/problems (2) experiment using a bunch of algorithms (3) Analyze and justify why do you get the results (no deep learning, black-box stuff)

    To succeed in this course, make sure you refresh some statistics and calculus. The lectures discuss some formula derivation but for more details, I recommend Andrew Ng's ML course in Coursera which discuss it in more details.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-01-09T15:51:01Zspring 2018

    This course is hard. It's "Throw you in and you will learn to swim " style. The lectures are theoretical and excellent - but not exactly practical. The assignments want you to think not code, so don't feel bad using jontay's code. I wrote my own, because I'm familiar with the stack so it wasn't hard for me, but if it's hard for you -- don't spend your energy on the code. Spend your energy thinking about what you are doing and why.

    The exams are brutal. Honestly I didn't study much and I suffered for it, I was slightly below median, but thanks to the generous curve I got an A. Don't freak out -- just keep going. You will learn a lot -- but none of it will hold your hand. So if you like learning by doing (and some suffering) go for this. If you want a gentle approach -- avoid. Also, if you are just starting in ML -- take ML4t first -- it's a much better intro to ML and the tools.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-01-08T08:41:08Zfall 2017

    ML is not an easy course and one that I would definitely not recommend as a first course. By the time I had enrolled in this course, I had already taken ML4T, AI and DVA, and had a solid grasp of Python, and I still ended up spending pretty much every free minute I had working on the assignments (including running code on my computer while I slept and while I was at work).

    As other reviewers have mentioned, the assessment for this course comprises 4 assignments and 2 proctored exams. Each assignment covers approximately 1/4 of the course material (the topics are: supervised learning; randomized optimization; unsupervised learning; and reinforcement learning respectively) and require you to select two datasets and apply the techniques taught in class to them using any programming language you want. I used Python for all four of the assignments and was happy with the results (the assignments can be done in Python using sklearn for Assignments 1 and 3; mlrose for Assignment 2 and mdptoolbox for Assignment 4). Whatever language you decide to go with, make sure you stick to your decision, at least for the duration of each assignment, as you will not have time to change your mind once you start.

    The marking of the assignments is very hard, but it is possible to get 100%. That said, the class median for each assignment was very low, so don't be surprised if you get 50% or below.

    The two exams each cover 1/2 of the course material, with no overlap, and are also very challenging. Again, the marking was very harsh and I don't think there was anyone in the class who was happy once they saw their grade.

    Nevertheless, grades for this course are curved, so if you can manage to make it to the end of the semester, then there is a good chance that you will get an A or a B.

    Overall, this was one of the most challenging courses of my OMSCS career, but also one of the most rewarding. To quote Prof. Isbell, "yes, there will be tears, but they will be tears of joy."

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2019-01-06T18:27:04Zfall 2018

    Great amount of material covered, and great lectures. The encouragement to steal code & use whatever was very nice. Feedback on exams could be more detailed.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-01-02T00:00:06Zspring 2016

    Good course. You learn a lot: 1) in the projects through hands on work; and 2) in the tests too because they force you to think and put things together (answers not in any text you will read, you will need to come up with new ideas).

    It's a survey course, so don't expect a lot of depth or any coverage of the state of the art techniques (Deep learning is completely missing), but it's good for getting foundations right.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2019-01-01T20:34:46Zfall 2018

    Sorry, but this is a good course. Yes, the instructor holds the rubric private. That doesn't matter. Just answer all the questions asked in the assignment. Also address all the topics in the lecture and you'll definitely cover everything. Releasing a rubric would just further rob students of the work required to determine what sort of things it is important to report on. There are plenty of resources provided to help you.

    Another common complaint is that the class is curved. I think we need to get over ourselves and not expect that getting less than 90% on an exam is a basis for panic and complaints to the instructor. The curve is more or less the same every single year both off campus and off.

    Ultimately, this class delivers what it's supposed to deliver: a reasonable basis for evaluating algorithms and developing a sense of when one might perform better than another. This is an important skill and one you are unlikely to develop without taking a course like this or doing the same sort of work independently.

    If you've gone through OMSCS complaining that the professor is absent, this is the course for you. The instructor is always there to remind you that he already answered the question in the assignment. The course doesn't change from semester to semester, and everything you need to excel is made available to you.

    A valid concern that some people bring up is that the course doesn't touch on newer topics. This is perhaps fair, but the course is already packed. Learn this stuff, and you can go take a deep-learning course after this with a strong foundation.

    In general, try to know some math before taking this. That means linear algebra and calculus. If you take AI before, that might be helpful, but it really shouldn't be necessary. Additionally, you can take this course before RL, and that will be fine.

    Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-12-31T18:12:17Zfall 2018

    Look at the chain of reviews below. Yet, If I am posting a "Strongly Disliked" comment for Fall 2018, it means that the instructors does not care about any feedback which he clearly said on the forum -"I don't care". The forum is flooded with that statement for any question you ask. The course will teach you names of quite a few ML algorithms. You have to forget your social life to finish the assignments. But then at the end of the course you realize that the course didn't teach you any single algorithm at it's depth. The mathematics of the algorithms are hardly explained. The lecture is delivered through chaotic interaction between two profs who probably know their stuffs but does not know how to teach and too arrogant to take any feedback to improve. Waste of time but you have to take the course to be in ML specialization. Never seen more useless TAs who never help students with anything conclusive answers for any questions. All the students discussing stuffs and trying to find their ways. The only good part was the explanation of RL material at the end of the course. Clearly such courses/MS are not meant to teach you anything but just for business purpose. Similar feedback is posted for many other OMSCS ML specialization courses where the course is not being improved, the prof has left but the course keep on continuing. Take Andrew Ng courses on courser before taking this course so that you have an understating what the prof is talking about. Lower your expectation down from the course. If this is your first ML course, its okay but if you already have idea and looking for a deeper understanding , this is not going to help.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-12-31T04:30:01Zfall 2018

    This course took a different approach compared to conventional classes. The focus of this class is to enhance the student's ability to take information and logically draw conclusions/synthesize new information out domain knowledge/presented material. As such, the lecture style consists of two professors conversing on the topic with one taking the role of lecturer and the other taking the role of the student. The approach is effective for those who derive understanding from thinking about the material, and significantly less so for those who are book/memorization learners. Note that this review comes from the perspective of a student in the former classification.

    Where this class falls flat on its face is the homework assignments. There are four in total, consisting of a coding section (where plaigarism of the code is openly encouraged) and an analysis section. The analysis is a 10-12 page writeup (each consisting of 10-15% of the total course grade) and is extremely subjective. Feedback and grades received vary widely across TAs and is entirely the luck of the draw (based on small sample size, it seems to be uniformly distributed between 50 and 100). As such, when approaching the complation of homeworks one needs to realize that the work is less about the grade (more on completion) and more about how the algorithm would be applied to a real data set/explained to a bystander. All homeworks are made available at the beginning of the course, but for a working professional it will be a struggle to stay on track with lectures and homeworks, let alone getting ahead.

    Exams are focused on how a student would apply the algorithms learned in class to (what should be) a problem that has not been viewed before. This may sometimes extend to simple calculations or even pseudocode, but tend to be very fair in terms of no surprises. Despite this, the exams are quite difficult to non-coders nonetheless. There are two optional problem sets whose problems are more closely related to the exam questions. These are often skipped but in a more conventional class would have been the focus of the graded homeworks and the current graded homeworks reworked into a semester-long project.

    Overall, an effective course in terms of teaching material, but the grading structure may be a shock to students who may be used to performing well. Even if the grade appears to be bad, as long your grade appears to be within one standard deviation, a B can be expected. Simply completing all of the homeworks and attempting the exam should net at least a passing C grade.

    Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-29T03:18:48Zfall 2018

    This course was interesting. The projects feel similar to an industry project as they are open-ended and require you to back up your statements in the report. The first 3 projects use the same data sets doing different things (supervised learning, optimization, and clustering) while the final project is a reinforcement learning problem. The midterm was pretty rough but the final was much easier.

    A few tips for people getting ready to take the class:

    1. Use JonTay's code repo. Yes, it's stealing code but this is one of the few times this is allowed in the program. You may learn more by programming it yourself but honestly not much more (as you shouldn't really program the algorithms yourself anyways). Using this repo likely cuts 10-20 hrs off per project. Several times I tried to get more own solution working than gave up and spent more time running additional experiments.

    2. Trust the curve. It will change every time but you can expect to pass the class unless you are near 10% (seriously, I got a 65% in the course and wound up with an A).

    3. Pick data sets early. Choose binary classification data sets.Don't use messy data unless you're really looking for a challenge.

    Overall, I think this course and AI are great to take to understand the basics from theory, implementation, and application. While I enjoyed the AI course more (and felt like I learned more in that course) this course helps you tie it all together and understand the big picture of data science problems. On top of that, Isbell is a great instructor and very helpful (in a sarcastic way) and the videos are a joy to watch.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-12-28T16:48:25Zfall 2018

    I think the course was one of the most informative in OMSCS (obviously more-so if concentrating in ML) and very well taught by Isbell and Littman. They supply a lot of detail in the lectures and supplement that with many external readings (generally optional, but are very beneficial to understanding the theories).

    The course is pretty tough up front and mellows out a bit towards the end. Projects require minimal code (theoretically zero depending how you approach it) and are focused more on the write-ups and understanding of the concepts.

    Be prepared to spend a lot of time on projects (especially on the first one). Once you get the feedback from that one, you will understand how to approach the rest.

    Midterm and Final were quite challenging with mean grades in the 30s and 40s respectively. In the end it's hard to assess how you are doing in the course, but the "curve" is quite generous and Isbell/Littman make it very clear if you should stay in the course or not. As long as you are understanding the material and can portray that, I'd say a B is very doable; even if your grades do not seem that way.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-19T15:13:33Zfall 2018

    Video lectures: There are much better lectures on YouTube - Andrew NG for ML and Silver for RL. The lectures are superficial and pander to math phobia of students. Don't expect any deep insights from lectures. Instructor says this is by design as the course is a survey course. However, I have taken several survey courses before (this is my second graduate degree) and none were this shallow. The bigger problem, however, is that these video lectures were recorded in 2014 and have not been revised since then to incorporate any feedback from students. The professor thinks everything is just perfect.

    The Professor: He is an egomaniac who thinks he has optimized everything and there is nothing left for him to improve. He derives particular pleasure by putting down his students - your questions will usually draw some sarcastic putdown. His interaction with students on Piazza and Slack is mostly snark. Some students love it but several just go quiet and don't ask questions. To make it worse, his TAs have started emulating his snarky style, which is definitely above their pay-grade.

    Assignments: I like the open ended nature of assignments but in some cases the volume of asks was repetitive and didn't make any sense. As with the videos, these assignments have not been revised for years and any student feedback is sarcastically dismissed. To those who saying that these 12-page reports are like real-life research reports, my only question is if they have ever seen one? I mean they are OK as a learning exercise but to equate them to research papers is a bit of a hyperbole. And so is any claim of how this course has validated people's life choices, made ML their new love, and similar bs.

    Unless you are gifted, plan on putting in at least 30-40 hours of work per week to ensure an A.

    Exams: Midterm (mean 49) is designed to fail students, but the grading is very liberal - people get points for putting black on white. If this was not true, the class mean would be probably 20 points lower. Final (mean 51) is more like a traditional exam and fair, but grading is tougher. You don't get points for writing any bs. Exams are closed book everything and you are not even allowed to have a pen and scratch paper - a ridiculous requirement as some people use scratch paper not for doing calculations but to formulate their thoughts.

    Grading: Grading is fair on the whole but some graders are much harder than others. It is easy to get 80 - 90. But to get above 90 and how many points you lose going from 90 to 100 is a crap shoot depending on the grader.

    In summary - while the course may deliver on its promise to provide you with a survey of ML, there are better resources and better instructors out there to achieve the same goal. The only value add in this course is assignments. The professor has structured testing of learning outcomes to unnecessarily have a high cognitive overhead - you will never get time to reflect on what you have learned and it would be race from one deliverable to the next.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-12-19T00:28:18Zsummer 2018

    Semester: Fall 2018 (No such option available yet)

    I took 7641 because it is mandatory for specialization in Machine Learning track. Have no relevant knowledge before. Here are my thoughts:

    1. There are some wonderful machine learning courses online you can take for free. I highly recommend you to take one beforehand. Otherwise you need to spend more time than average to search useful resources when working on those projects.

    2. You may or may not like professors' humor in the lectures but there are a LOT conversations about both professors made fun of each other. It is somehow distracting/annoying.

    3. Professor has no patience/respect to your questions on piazza. Students/TAs sometimes are more than willing to help.

    4. All four assignments are graded by analysis reports only. Coding files are not graded, and you are encouraged to "steal" code as mentioned by professor.

    Rating: 2 / 5Difficulty: 4 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-12-18T23:01:23Zfall 2018

    Background: Developer in big data, but not ML per se. With MS on a different CS/EE track. Took ML alone Fall 2018.

    OMS exp: Took DVA, AI, ML4T

    heard about the difficulty of this course so I took some introductory courses e.g. DVA and ML4T before trying this. Overall an OK course, not as great as I expected, but not too bad either. Assignment format is writing report with ~10 pages, which is less time consuming than coding. I usually spend an entire weekend to finish each report after finishing video watch and paper/book reading. For AI course, I needed an entire week to finish each coding project.


    1. Provided an umbrella-like coverage on various ML topics: supervised, unsupervised, reinforcement learning and game theory.
    2. 4 reports/assignments help facilitate deeper understanding on different ML models and performances.
    3. Some very interesting topics that you can get deeper understanding here: randomized optimization, game theory, mdp.


    1. No coding at all. This is personal, as a developer, I'd prefer to write some code to understand how things work. This course is designed more for researchers I guess, that you need to worry more about metrics, performance measures, and model comparisons etc.
    2. Exams are hard, but curve are generous and there are extra points for each of the 2 exams too. Midterm gives very little time to complete so you need to fly though. Final is better but you still don't have time to re-check your answers.
    3. some exam questions are asking you to recite concepts/definition instead of checking your understanding. so you either know it or not.
    4. Report feedback is not that helpful. there's no clear cubic defined in terms of points deduction. Seems random and it's very normal that you see comments like "you need to include xxx in your report", but it was never stated anywhere that you should.
    5. Discourage of re-grading, despite of seemingly-random points deduction/assignment.

    Tips: get familiar with some ML library e.g. sklearn, this will save you a lot of time on writing report than if you learn from scratch.

    Overall a good course, but don't expect to get too much from it if you're already familiar with most of ML field or if you just wanted to get your hands dirty writing code. Stay above average in most of the exams/assignments will almost guarantee your an A, exams are taking 50% of the final grade so need to pay more attention to.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-12-18T21:26:45Zsummer 2018

    Not much to add here that hasn't been said already. I like the professors in the lectures but Dr. Isbell mostly does not participate in the course other than troll-type responses on the message board. The TAs hold weekly office hours, so if you have any questions don't bother with Piazza, try Slack or the office hours.

    It's a hard class but a high percentage gets A's. There is no set grade cutoff. The professor said he is more likely to award A's to students close to the cutoff who show upward trending grades over the semester so keep at it.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-18T20:16:27Zfall 2018

    This is really a good class and the open ended nature of assignments allows plenty of room to research and analyze different ML techniques. If someone expects that every thing expected in assignment report to be mentioned somewhere, they are in wrong class. ML is a subject which cannot be learned in 3-4 months completely but this class gives a good flavor for key techniques. I highly recommend this class and some preprep like Andrew Ng's Coursera course may help in some assignments. Recommended book seems to old and needs update.

    Exams need good preparation and are very good to test things learned.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-12-18T19:52:09Zfall 2018

    I took this course in fall 2018 and found it interesting. But I feel this course need to upgrade the course content. No doubt Prof Isabel is covering the entire content but its overwhelming and for me watching the vedio's wasn't that helpful until I look for other Vedio series mostly Andrew Ng's one or read some blog. I feel lectures are more general, rather giving detail about the topic will just brief you. If anyone taking this course I would not recommend to rely on the lectures.

    TA are helpful, they try to answer the question but somehow I feel even they are not very confident while answering the questions. For me slack and piazza worked very well.

    From assignment point of view there are total 4 of them. For each of them you have to write min 10 pages covering your analysis along with graphs. That said one can copy entire code from the internet but need to tweak it to generate some nice graphs. I will recommend to cover whatever information you gather about the topic for which you are writing about. Sometime I don't feel TA are even reading the entire report as per the feedback they have commented on some point which was already there in the report. So its better to write about everything rather than shooting an arrow in the dark.

    Exam: there will be two closed book exam out of which mid term will be cumalative. Exams are really tough so one need to prepare really well for them and on top of that those are subjective. These are really good quality exam so be prepared before taking them.

    Grades: One can't figure out what grade are you gonna end up with. This class has big curve but if you are submitting all assignment and exam on time than there are very good chances of getting B.

    This class require lot of hours and commitment.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-12-18T01:12:03Zfall 2018

    Assignments are deciding factor between A and B. Its a good survey course on ML. The assignments are time-consuming and interesting. Prof Isbell and Prof Litmann did a great job in teaching and the lectures are funny. Start early on Assignments and they needed a good amount of time to run. The instructor doesn't care if we steal the code but I would suggest writing your own and it will be a good learning experience.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-17T17:56:25Zfall 2018

    This course is hard for all the wrong reason.

    1. The lectures are a banter between two professors. It is difficult to follow and makes the lecture unnecessarily long.
    2. The professor gives no credit for coding you need to do to complete the projects. This leads to a lot of confusion. Instead of professionally dealing with the confusion, the professor is very adversarial and humiliating.
    3. I also don't understand why the coding required for the projects is not provided upfront. That way students can concentrate on the analysis which is the goal of the projects. That also takes away all the confusion which results.
    4. I personally don't think the TAs are a problem. However they seem to take the cue from the professor and behave similarly. Some of the students also become very aggressive on Piazza and there is no one stopping them.
    5. Given the number of students, grading is slow. There is no well defined rubric and no clear way to challenge your grading.

    Overall very bad experience. Coming from ML4T, this was hell and again all for the wrong reasons. I regret going for the Machine Learning specialization. I will never do another course where Dr. Isbell is involved.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-17T08:41:33Zspring 2018

    ML is the kind of course that you get what you put into it. I have been doing data science work for a couple of years, I will say the materials provide a roadmap of what’s out there, you will have to take the effort to read more and learn beyond what’s taught. The course builds up our confidence to go on and explore the materials on a deeper level on our own.

    The assignments are interesting as you get to design your own scope with your own datasets though I agree that the marking rubrics are unclear at times. The projects are not meant as some Kaggle / deep learning research / ML production code. It is about writing clear reports on your hypothesis, a clear understanding of the theories, limitations, assumptions and possible extensions for future work

    Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-12-15T13:19:34Zsummer 2018

    Not as challenging as everyone makes it out to be. The course does require time because each of the four projects requires you to write a 10+ page report. The key to succeeding in those projects (and, by extension) the course is to not write the code from scratch yourself and to instead put almost all of your time and energy into the writing. Fork resources you can find on GitHub for the code and look to examples of reports from the class that people have written in previous semesters to get a feel for what kinds of things to include in your report.

    Office hours were useless and piazza interactions were about the same. Having said that, the course videos are everything they're made out to be. Extremely useful and I expect to use them as a reference in the future.

    Tests require some effort to study for but are entirely manageable. I recommend re-watching the videos at 2x, making sure you've read through the relevant chapters of the Mitchell textbook (which is a great book), and doing the practice problem set.

    Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-12-14T05:42:15Zsummer 2018

    I took this course for Fall 2018. This was my first class for OMSCS. I had some experience with ML with Andrew Ng's Coursera course as well as some ML basics from Udacity's Self Driving Car Nanodegree. The lessons are great as they build intuition about concepts in ML. The concepts taught are little old, however the lessons are great as it teaches the intuition behind each concept. Also the format of lessons is unique are in such a way that one of the lecturer acts as a student asking questions when the other lecturer answers his questions. The assignments are not easy as it needs a lot of analysis. Work load during Midterms can get really crazy. The exams are tough and would need a thorough understanding of the concepts. It would have been helpful if there was an introduction to Deep Learning too, but that would mean increasing the workload significantly. Overall a great course if you are willing to put in the effort.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-12-13T08:42:15Zfall 2018

    Awesome course and great to interact with the professor, even if the interaction mostly consisted of trolling. I guess there's really no time for a professor to dole out actual detailed advice on a MOOC - once you start, you would never be able to stop. It would be good if you could receive more timely, detailed, and consistent feedback on assignments, but I think delivering on all three fronts simultaneously would add to the list of impossibility theorems - there's no free lunch, as professor likes to say. Homework and exams are well designed to make you think about and apply what you have learned; good grades are hard earned. But ... lack of transparency in the grading process leaves many wondering how to improve.

    Hard to say how many hours I averaged, the two weeks leading up to assignment due dates were possibly 50-60 hour weeks, and the couple of weeks I took as relative down time only made the following weeks worse.

    Despite any flaws this is engaging and a must-take course if you're at all interested in the data science / computational analytics, both for the criticality of the material and the quality of the learning.

    Don't spend so much time tinkering with data that you don't leave enough time to write a good report.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-12-12T20:55:39Zfall 2018

    This class achieves what it sets out to do: give you a foundation of core ML topics that you can then use to build on or explore deeper into topics of your interest. Overall, I found the lectures to be fairly interesting (sometimes the pacing was a bit slow though). However, I was not a huge fan of the 4 papers that make up over half the grade but I admit this is most likely cause I prefer to code over write papers. The tests were exceptionally challenging but fair, they were more focused on reasoning than just reciting definitions.

    This was definitely a class I hated while taking it but upon reflection I realized I learned quite a bit... Neat.

    Rating: 3 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-12-12T18:16:01Zfall 2018

    I signed up for the course with prior knowledge in ML (lots of MOOCs and project experience) - overall I did not learn anything "new" apart from the randomized optimization part which I've never read about.

    Most of the lectures are very superficial IMHO and the prof just says you have to go read the material to get a better understanding... and there are far better lectures on ML topics on YT than the ones you have in this course. For the RL part tho, Littman was excellent. It's hard to find decent lectures on RL (apart from the ones by Silver) and the ones by Littman are probably the best for intro to RL.

    The projects are where the majority of the learning happens. You are given a purposefully vague description of what you are supposed to do and write for the report - yes, you can rip code off the internet as all of the grading is done based on your report. These are also useful as part of a portfolio you are building if you want to be in a ML field eventually. The projects are not too hard to do. Once you setup a pipeline for experiences you can pretty much use the same pipeline for the almost all of the projects.

    There are 2 exams - the Midterm is the difficult of the 2. IMHO the tests did nothing to reinforce/test the knowledge I gained from doing the course. I liked RL's final exam a bit better.

    This course is going to take alot of time if you are not used to quickly doing a lot of experiments and are new to the ML subject. But you do have 1 month for each of the 4 projects and if you plan properly, you can do well without any of the last minute panicking which most students do.

    Overall, it's a decent course - I expected a bit more depth and bit more time spent on each algo - trying out how it works, internally and getting to know the basics inside out. Nevertheless, this course is a good intro to ML - don't expect to learn a lot/new stuff if you have already taken MOOCs and/or have prior experience in this field.

    Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-12-12T05:50:33Zspring 2017

    Fun videos cover most fundamentals of machine learning. However, it's not enough to laugh through all the videos and then take the exam, which is probably tougher than you would imagine. My recommendation is to dig deep into the principles discussed, think them through both mathematically and intuitively. When both matches, you truly knows what's happening. Classic four projects and you are encourage to copy codes. But all matters is that you have to write your own meaningful analysis based on the experiments.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-12-11T17:59:12Zspring 2015

    This was a very challenging course with a heavy time commitment. I took it as my first course, but would recommend one of the easier classes to start with.

    The class videos are excellent. The assignments / papers are the time consuming challenging parts of the class.

    Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-11T04:18:12Zfall 2018

    I took RL before ML so this review reflects that.

    I enjoyed this course. I liked RL a bit more, but that is more due to taste than material per se. Same instructors (Isbell and Littman) who are great. They always keep the material engaging while at the same time you learn a lot. Isbell is no-nonsense in Piazza which I love. It is a big class but it is run very well by him and the TAs.

    4 projects with a midterm and a final. You can steal as much code as you want as long as you source it. The main idea is your write-ups. I stole very liberally but still learned a lot and did well. I think the TA you get assigned has a little bit of randomness to your grades but even when I did not do well the feedback was useful. The exams were challenging but fair. Highly recommend the course just be willing to put in the work and you will be rewarded!

    The last 1/4 of the class was relatively easy as it was a return to RL but it was nice for me to get a little break at the end and front load instead. Exams are at a specific time but you can (and probably should) work ahead on all the projects.

    Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-10T20:49:54Zsummer 2018

    I actually took this in Fall 2018 but that was not an option.

    This is the best of the 8 courses I have taken so far in OMSA/OMSCS. A lot of courses (inside and outside GT) will teach you various ML algorithms. This course teaches algorithms but even more importantly gives you a conceptual framework for how the various facets of machine learning fit together (e.g. how is a neural net similar/different to a random forest or linear regression; how does unsupervised learning fit in; how do both relate to reinforcement learning).

    This course requires a lot of time and is mostly challenging due to the volume of material, more than the nature of the material itself. The instructors strike a really good balance between rigor and practical intuition (as does the required Mitchell text).

    The pacing of homework is tough, and somehow the mid-term needs to be worked in the middle as well. If you are new to ML, I recommend watching Andrew Ng's ML course on Coursera and reading the first half of Raschka's Python Machine Learning book before you start. You will have a big head start that will smooth the ride out a bit.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-12-10T15:23:44Zfall 2018

    TL;DR - Super time consuming; requires a lot of information synthesization; Lectures are fantastic but the professor is a bit of a jerk on Piazza (TAs are good though).

    All the course material (except exams) is released at the start of the semester. I highly, highly recommend getting ahead on the video material because the assignments are so time consuming. Video lectures are fantastic and informative, and the supplementary material is interesting, but definitely not required to do decently in the course.

    Assignments are practically academic papers, and are usually ~10 pages in length. They are very time consuming - they require programming (although the prof actively encourages stealing code from the internet), creating analytic charts, and then interpreting your results and comparing and contrasting different algorithms.

    Exams consist of 15-20 "open response" questions (a subset is T/F + justification). It tests your ability to synthesize information from the course, rather than your ability to program. You get 90 min for the midterm, 3 hours for the final (even though they're about the same number of questions).

    The TAs had helpful office hours, especially when it comes to what they're expecting to see in the assignments. Getting answers in Piazza is a little bit of a crapshoot; there's so many students and posts. I have to say by far the most disappointing part of the class was that the professor spent a significant amount of time on Piazza, but 95% of his responses were sarcastic, making fun of the student, and decidedly unhelpful (a la "you know the answer to that", "look at the syllabus", etc.). The TAs actually bothered to answer questions, though they didn't get around to answering everything (unless it was submitted to the office hours question set).

    There is a generous curve, most students end up with an A or B, despite exam averages around 55% (assignment averages were higher, but still not high).

    Rating: 4 / 5Difficulty: 5 / 5Workload: 16 hours / week

  • Georgia Tech Student2018-12-10T07:44:51Zfall 2018

    Out of all the OMSCS classes, this felt the most like a traditional, in-person class, which also means that this was my least favorite class in the OMSCS program. It was nowhere near as difficult as people are making out to be due to the generous curve, which was a plus. However, I feel I learned very little for the amount of effort I put in. While the lectures had a friendly, fun vibe, I learned very little from them. There are much better resources available for free (for example, YouTube) that I had to use in order to gain an understanding of the material. I just think that since I'm paying to take this course, the lectures should be top-notch and not surpassed by free YouTube videos, which do a much better job at explaining the concepts.

    The homework assignments did little to increase my understanding of the topics, and the comments from the TAs were not very helpful, for the most part.

    In studying for the tests, I was having flashbacks to my undergrad days, wherein I'd cram in order to regurgitate the material on the test, only to forget it a few days later. Being that the OMSCS program is supposed to be the cutting edge in terms of educational content delivery, I think they could do a lot better. Why attempt to recreate the outdated and anachronistic in-person classroom experience when the medium allows for so much more (for example, making the course more interactive)?

    Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-12-08T06:54:52Zsummer 2018

    Marked this for Summer 2018 as Fall 2018 isn't available.

    TLDR: It's difficult and time consuming and this course is amazing and everyone in OMSA should take it.

    This is tough class and you should prepare to invest a significant of time and effort into it even if you are very comfortable with ML. This class is very good. The videos are well done and the textbooks and extra readings (and yes generally you actually do need to read them) are well chosen. The class is basically 4 homework assignments that are each 10 to 12 page papers and two exams. Even if you can quickly and efficiently generate the models needed, writing the analysis (the only part that is graded) take a while especially if you want a good grade. The exams are hard but fair. The videos combined with the readings do a good job of conveying difficult topics and I found the banter between the professors to be entertaining.

    The biggest issues I found with this class were on the administrative side. The TAs ask that you send them questions ahead of office hours but they don't actually read any of the questions before office hours leading to a fair amount of "we'll get back to you" some prep on their end could have made office hours more effective. The administration of the mid term was also a mess with people not being able to access the exam initially. Grading on everything is slow so be prepared wait and since everything is hand graded there is unevenness in the grading across graders.

    I came into this class knowing a little about ML and I found this class to be a lifestyle. The homeworks can basically take as much time as you have available to pour into them. I learned so much by doing them, but by the end of the semester I was just completely worn out. This class just never let up from a workload perspective. The nice thing is that almost everyone gets a B or better in the class so I never found the class all that stressful, just exhausting.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 30 hours / week

  • Georgia Tech Student2018-12-04T15:30:53Zfall 2018

    This course serves as a great introduction into the theory and actual practice of machine learning. I came into this course having no experience with ML whatsoever and was able to succeed with the course format. The majority of the work centers around four assignments on different ML fields. Students are given 5 weeks for the first topic and assignment to help learn the format with 3 weeks given for the remaining assignments. Each assignment gives you the freedom to choose your own data or problems. Then the student can cite and use any implementation of the four assignments to produce the results. These assignments will make you go through the painful learning process of cleaning data, balancing data, setting up pipelines, visualizing data, and analyzing the results. All of these steps are a part of actually using these techniques in research and business. Students are evaluated completely on their ability to understand and explain the results in a 10 to 12 page report with no points for implementation. I spent from 30-50 hours on each assignment to go from learning the technique to completing the report.

    The four topics are supervised learning, randomized optimization, unsupervised learning, and Markov decision processes. The lectures are great at building the foundation of the approach, biases, strengths, and weaknesses of the different techniques. The midterm and final then evaluate the student's ability to understand these traits of each approach to then decide which algorithm would be the most appropriate given a specific problem. Grading largely depends on being able to explain the "why" of your approach and implementation format and the "why" your learners performed the way they did. You will not receive points for simply using 12 pages to list the observations that you see on your graphs or tables, which also serves as a point of frustration for some students. Grades are significantly curved such that over 90% of students who do not drop receive a B or higher.

    All of the "I don't care" rants on this review board refer to Dr. Isbell having to repeatedly tell students that he does not care about what language or software you use to implement the ML techniques. This class has a lot of flexibility which tends to frustrate those students who have the expectation that every little detail needs to be outlined as the definition of " a great learning experience." Dr. Isbell also loves sarcasm which some students cannot understand or do not like, which leads to a lot of the "unprofessional" comments on here.

    Overall, this course can teach you the practical and theoretical foundation for ML if you are willing to actually work for it.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-11-30T04:25:55Zfall 2018

    What a ride. The professor predicted at the beginning of the semester that we would look back on the semester with tears and eventually they would be tears of joy. He was right. As a survey course, we learned a little about a lot, but because of the intensity of the projects we also learned a lot about a little. I thought this course went perfectly with AI as many of the big ideas were similar and we investigated different parts of the similar ideas so it gave me a fuller picture.

    Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-11-26T17:36:07Zfall 2018

    Background: Took this class by itself Fall18. First OMSCS class, with background in statistics/applied ML

    This course delivers what it promises, a whirlwind tour of machine learning topics. Very rewarding experience, I enjoyed it thoroughly. Like with most things, you get what you put in.

    I enjoyed the lectures, Littman and Isbell build up the theory empirically which is great to build intuition however not as efficient when rushing through the lectures at the last minute studying for an exam. My thoughts are to watch these lectures early, take notes and use the notes/lecture transcripts as the main focus of study for exams. Re-watch lectures to reinforce certain topics.

    Having some background knowledge in ML is very beneficial, use Andrew Ng’s Machine learning course on Coursera as complementary material.

    Start the assignments early! Don’t wait until the last week. On paper it seems like you have a lot of time per assignment, but understanding the API/code, running the experiments, understanding and explaining results takes time. I enjoyed the open ended assignments as it provided more room to explore.

    Due to the structure of the assignments, consistency in grading can be an issue in the MOOC format, (Isbell does have a generous curve to help alleviate this). That being said, I really liked the report format of the assignments, writing them helped solidify concepts.

    Some TA’s are very good and active on forums, others are lower energy but they do hold a group office hours every week and take questions. Do attend/watch these as they provide solid guidance for assignments.

    Do not stress too much about grades, put in the effort, do your due diligence and you will be fine. Its a tough course but looking back its been a lot of fun.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-11-08T04:30:47Zfall 2017

    This is a great course, rewarding. Recommended

    Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-11-03T14:56:45Zsummer 2018

    (Taking Fall 2018. Review might be updated after end of Semester)

    I am torn about this class but ultimately have to say that is not a good course and the Prof has been very overrated. First the good stuff:


    1. Some of the lectures are actually interesting and well presented with some theory and insights that I would not have gotten elsewhere (Note: only some. see below)

    2. Assignments do give you practical ML experience working on real datasets.

    3. You get good feedback on assignments


    1. Most lectures however are atrocious when you compare them to the other MOOCs. Andrew Ng set a high bar 5 years ago and if you took his MOOC you are walking out very little new knowledge that he didn't already explain much better. ML Theory part in particular is presented in an awful way. Neural Networks? We get a crappy subpar 15 min explanation on them.

    2. The Professor is awful. Isbell is rude, antagonistic and arrogant to his students. He creepily prowls piazza and slack to not answer student questions but to drop bait and then insult students for asking innocent even if they are annoying questions. TA quality is lacking. Slack in particular should be off limits for a Prof to criticize his students.

    3. The material is outdated. The book we use is 20 years old.The entire last 10 years worth of developments are ignored in this course so you end up wasting time on really old and less useful stuff like KNN or Decision Tree or K means which are not as important anymore. Tree and Instance based learning in particular has fallen out of favor and is seen by almost everyone in the ML community as a complete dead end yet we spend so much of the course talking about Decision Trees and stuff like KNN. Important and still very relevant topics like logistic regression and regularization is not even discussed in this course. There is also zero mention of deep learning here.

    4. Professor is sloppy and lazy and it shows in his assignments. They are poorly worded full of ambiguities and required stuff is not mentioned in there. Only casually in office hours. If students ask clarifying questions they are insulted. I personally stopped asking questions cause the professor was this rude.

    5. The assignments themselves are questionable in what they are teaching you. Lots of time spent hyperparameter tweaking. No real mathematucal rigor to any of it. Just throw some stuff see if it works blah and write a report with some charts. Not hard but very tedious and distracting from what we should be learning. You also have to get your own dataset so most people end with bad ill suited datasets for the problems and have no choice but to keep using them ending up with poor results and sub par papers to write

    6. Exams are dumb. Having taken AI the ML exams are disappointing. They make you write essay questions that encourage rote memorization in an ML exam. No math. Very little theory. Just cram as much and then hope you can remember. Only two Problem sets given to test your understanding but they're completley garbage because the "answers" are links to chapters in the book. No real problem solving and testing which is essential for ML.

    Rating: 2 / 5Difficulty: 3 / 5Workload: 10 hours / week

  • Georgia Tech Student2018-10-23T21:22:28Zfall 2015

    Taking in Fall 2018. The lectures are frustratingly vague, improvised, and long-winded. Isbell is antagonistic towards students on the forums, the assignments and evaluation criterion are poorly understood by students, and the TAs in office hours aren't at all useful. If you've any exposure to ML in the past you'll be grinding your teeth through these lectures.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 15 hours / week

  • Georgia Tech Student2018-10-18T21:50:37Zspring 2018

    Wonderful class with excellent lectures and very effective projects. I learned a lot! The projects are difficult and take a lot of time so be prepared for that. There is also a lot of reading from a book you must buy.

    Rating: 5 / 5Difficulty: 4 / 5Workload: 12 hours / week

  • Georgia Tech Student2018-10-13T15:45:07Zsummer 2018

    I actually took this class Fall 2018, it just wasn't available in the semester drop down.

    This is absolutely the worst class I have ever taken in my life, and I'm not even done with it yet, though I may just withdraw soon. The old adage of research professors not caring about their classes is fully exemplified in this class. The professors main interaction with the students is to tell them that he doesn't care at all, about what they use for projects or how they do them. His flippancy carries over to the TAs, and thus piazza is a jumbled, awful mess.

    The assigments are also awful. Instead of giving you anything to really go off, the class asks you to find some data set to use, and then re-use for all further assignments. If you, like me, don't really have any strong opinions or desire to explore any specific data, then this sucks! You wind up picking some random data sets, and then having to manufacture some problems for them, and then your lack of real interest in them shows through in the papers. In my opinion, no data set is really going to be that interesting, and if it is, then it probably can't be explored in the few weeks you have to do the assignment while also presumably working full-time.

    Perhaps this whole thing is being exacerbated also by the fact that I just got done taking Human-Computer Interaction with Dr. David Joyner, whose enthusiasm for teaching shows in every part of his course. He is a true professor, interested in interacting with and working with his students to ensure that they have a great learning experience. It could also be because I took Machine Learning for Trading two semesters ago with Dr. Balch (who is also a great professor), and that class had amazing assignments that were well thought out and provided you with a solid starting point for exploration and learning. Those assignments also came with expected results and test cases to check your work!

    I think this class could be fixed if they would give you the datasets and the code to run them. If all they really care about is the conclusions you draw from the results of running the code, then I think that would be the easiest thing to do. It would give them a stronger basis on which to grade things, because the data sets and results would be known, and it would free the students to really focus on the analysis, which is all that the class says that it wants. Even with that, they could still give you places to tweak the knobs if they really wanted to. There just is a big disconnect between what the professor says he wants and what the students actually need to do for the assignments.

    Of course, to fix it, the professors would have to care about it, and as mentioned above, they don't.

    If you are interested in the topic, the videos are alright, and the book recommended, Machine Learning by Tom M. Mitchell, is quite good. However, the assignments really detract from the course overall, and so I would strongly recommend against taking it if you can help it. To the point where I will probably switch my specialization so I don't have to take it.

    Rating: 1 / 5Difficulty: 5 / 5Workload: 25 hours / week

  • Georgia Tech Student2018-10-06T03:50:39Zsummer 2018

    First let me start by stating that this is a hard course, no doubt. But the course is made harder by a disastrous lecture sequence. What the hell were they thinking when they made the insanely long and meaningless lecture videos. Watching the lectures were a pain and a torture. Too many pointless trash talking that throws one off. They should really learn from Andrew ng's course in coursera and how to make the videos relevant and to the point. Heck, the videos of ML4T is so good and the explanations were so concise and clear. On the contrary, in ML there were too many hand waving, lame jokes, out of context talks and over the air explanation that made no sense or too difficult to comprehend. If you solely relied on lectures for this course, you are destined to not only fail but do worse than not watching anything at all. Its that bad. Prof Isbell is a smart guy but arrogant. Don't dare to ask him any obvious questions or he will ruin your credit history (He joked this in one of his Piazza posts). His answers are always standard, I DON'T CARE. The ML office hours are absolutely a waste of time. The TAs handling the OH are students who have no clue what they are talking. At times they seem lost in explaining even the basic stuff. And the projects description is the biggest joke of all. No clear instructions at all. All it says is, steal the code, I don't care. But write a report. Really? Even the lamest of a description would be better than that. Piazza is a total chaos with questions from confused students and equally confusing explanation. I am sorry to rant but this is not a very well run course. If there is anything wrong with OMSCS, it would be the way this course is run. A perfect example of a poorly designed and mismanaged course. Unless they change the way it is run, this course will continue to see record churn. I hope something is done to fix this.

    P.S. I am taking this course in the fall of 2018 and this is how I felt half way through the course.

    Rating: 1 / 5Difficulty: 4 / 5Workload: 20 hours / week

  • Georgia Tech Student2018-09-25T02:40:01Zsummer 2018

    Bottom line: Very challenging course, unprofessional TAs, unclear expectations on assignments.

    I took this course in the Fall of 2018. I was really excited to take this course and based on the reviews from this site I knew it was going to be challenging. I had no data science or ML experience before but I have a BS in Computer science. However, I had to drop the course due to some life situations that didn't allow my full attention to the course.

    Though I didn't want to drop the course, I am glad i did because it was out of my frame of knowledge and the learning environment was not enjoyable.

    This was the sixth course I took in the OMSCS curriculum; Networks, info sec, Ed Tech, HCI, Soft Dev. All of those courses were challenging in their own way but not impossible to complete for a student working full time to complete.

    CS7641 was different compared to the courses i have taken in the following ways. 1> Expects the student to have a solid/advanced understanding of ML topics.

    2> Does not walk the student slowly into the curriculum. The first project gets you right into the material and there is extremely minimal guidance on what to do for the first project.

    3> The lectures are as clear but fall short of explaining the topics succinctly. The videos are lively but the extended amount of banter between the two professors draws out the videos and regularly I could not follow their train of thought.

    4> The TAs are not the best I've experienced. The TAs interaction with the students is simply unprofessional. Interactions between TAs and students on Piazza should be professional and there is no room for snide remarks when a student is asking a simple question.

    This course is for you if you if you are experienced with ML topics and have worked with popular ML packages before. If you really want to take this course without any prior ML knowledge I suggest you watch all the videos for the course on eDX or Udacity before taking the course and read the book for the class cover to cover. This will save you time to struggle through the projects.

    If you want an example of a professional and superbly taught OMSCS course take Educational Technology or HCI (anything taught by Dr. Joyner).

    Rating: 2 / 5Difficulty: 5 / 5Workload: 10 hours / week