Machine Learning

3.20 / 5 rating4.11 / 5 difficulty21.55 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.
  • 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

  • Georgia Tech Student2018-09-17T20:07:13Zspring 2018

    Either the professors played too dumb, or they didn't prepare at all before they record the videos, either way the class turned out to be a shitshow. Spent too much time on side jokes which are not funny(it's not that I didn't get the jokes, it's just they were trying too hard to be funny) and glossed over the hardcore materials. And maybe it's because of the nature of the form of dialogue, or it's purely lack of preparation, their languages are broken and not well organized that made it even harder to understand for someone whose mother tongue is not English. Watching the videos is a pain, I always had to search on Youtube for other tutorials on the same topic to understand what the professors were really talking about. All in all, this class is a disaster, it needs some serious update.

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

  • Georgia Tech Student2018-08-16T15:09:34Zfall 2017

    This is a fully project based course. The downside was that if you were not registered in the slack channel (which is not official) you could miss some important points as some people asked questions and got answers there that were never replicated in Piazza and clarified some important points for the projects. The projects were not clearly defined on what it was that they were looking for in them.

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

  • Georgia Tech Student2018-08-15T13:58:48Zspring 2018

    This is a very hardcore course. Keep in mind you will work hard. I've learned a ton of content and loved the course, but it was way tougher than I expected. Do not take this course along with others (I've done that and regret) unless you have little commitments (family/job).

    The video lectures are fun to watch and very well designed.

    There are 4 assignments that involve little programming but a big and deep analysis/writing. The professor really care about the quality of the analysis.

    There are 2 proctored exams. They are pretty big and conceptual.

    Isbell and his TAs are very active and helpful. He is also very fun (and intimidating hehe).

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

  • Georgia Tech Student2018-07-26T09:52:06Zfall 2017

    Someone else stated the main thing you need to know perfectly before me, "the grading will be brutal but the curve will be generous." My highest homework assignment was a 80% and my tests were both about 65% and I received an A. And to think I was close to withdrawing before I saw that quote.

    The format of assignments is great: very open ended, you use the algorithms recommended, pulled from any library you can find and write a paper based on your findings. I say the format is great, because for practical projects in the future, I'm not going to be writing SVMs or even Neural Nets, I'm going to be downloading the latest and greatest algorithms PHDs have released for me and applying them to my data sets. You also get to choose your own data sets! You can work on two applications that really interest you while completing your assignments! You will of course be graded brutally and told you made terrible choices in your analysis, choice of data sets and writing, but ignoring that fact, the assignments are really fun and instructive.

    Dr. Isbell and Dr. Brown are a very entertaining duo and the lectures are very fun, though they are also thick with far more linear algebra than I was able, or will probably ever need, to comprehend. Dr. Isbell was the instructor while I took this course, and he was as entertaining on Piazza as would be expected from his lectures.

    This course was my first encounter with proctor track, which is a program I have learned to loathe: it decides to work perfectly for the practice tests, but as soon as you take a real test, it suddenly decides that your video drivers are insufficient and: surprise! Find a mirror far larger than anyone would have on hand to do a room scan. New suprise: * crash *! As far as the privacy / ethics concern, I think it's about as intrusive as a proctored test would be, and personally have no objections to it there.

    Start projects early, there were only 3 or 4 of them, but each will take 30+ hours if you're not familiar with the libraries and algorithms used; even if you were, you can not finish an entire project in the last weekend before the due date. Also, attempt to take the tests early, you may need hours of time working with proctor track tech support to get it running,.

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

  • Georgia Tech Student2018-06-08T19:26:23Zfall 2017

    I took around 5 different machine learning related classes from my previous degree and coursera before taking this class. I till learned tons of new things in this class, especially the math part behind machine learning. Both professors are super smart. Such a joy to listen to their lectures.

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

  • Georgia Tech Student2018-06-05T19:11:16Zspring 2018

    This course needs hard work and intellectual dedication to make the most of it. unlike other courses office hours needed to be attended to understand the ask in the open ended assignments which are time consuming to say the least and on the whole the course has rigorous schedule and no breaks to breathe. you are encouraged to use online code but even then, there is lot of analysis and write up work to get done. upfront reading or a preliminary course in ML will help out those with no background like me (i did andrew ng course on youtube and recommend it). Its tough but very rewarding and my learning from this course is far more rated than any others i took.

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

  • Georgia Tech Student2018-06-01T16:50:53Zspring 2018

    I liked the course, but I had some issues with it. One, there seems to be little communication between instructors and students. Almost half of Piazza questions are unanswered. Furthermore, there is no set rubric for assignments. Attend office hours to really understand what is expected.

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

  • Georgia Tech Student2018-05-14T06:10:58Zspring 2018

    This is the stalwart of the Curly/Smoov two-fer in the ML specialization. Many people are initially turned off by the open-ended nature of the class, but that's really the genius of it - to encourage intellectual exploration that would otherwise not happen if a clear and concise rubric was given to be followed.

    I had completed ML4T and RL previously, and those really helped with the course - particularly in understanding the grading style of the projects and with the RL parts of the course. Though having done only ML4T would have been more than sufficient for a successful experience in ML.

    Start on the projects on the day that they are assigned, and attending office hours, are key to succeeding in the projects. The exams are difficult and require a depth and breadth of understanding the material - there's no getting cute around that.

    Overall, an excellent class that is well designed and the student definitely gets as much as he puts into the class.

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

  • Georgia Tech Student2018-05-11T02:39:31Zfall 2017

    Solid, difficult but not unsurmountable class that covers a large chunk of machine learning. Sadly, although neural nets are quickly covered, this class hasn't really been updated to the new deep learning age, but it will still give you strong basics on ML.

    The professor encourages students to "steal" code, which is kind of interesting and I think makes this class much closer to actual ML practice in your professional life (where you are very unlikely to implement an ML algorithm from scratch, but need to understand how they work).

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

  • Georgia Tech Student2018-05-09T01:31:38Zspring 2018

    This was my final class of the program and I am now officially finished with grad school (yay!) and this is without a doubt the most time consuming/challenging class I took in the whole program. To compare it against even the 2nd most challenging class is a huge difference and to be honest this is probably the difficulty level all classes should be for this program.

    If you are taking this class you really need to mentally prepare yourself for the time consuming workload that lays ahead of you. The class gives you no time to breathe. Even from day one you need to watch all of the lectures and get started on the first assignment which is due in 3 weeks. After that you have 3 weeks until the next one is due, then you have 2 weeks until the midterm. This pattern repeats all the way to the end. You will never have a week off.

    The assignments are not difficult to code, but very time consuming. This is because the lectures go over the theory and math behind the algorithms and its up to you to figure out how to actually code them (using libraries.) One positive is that you can actually steal code. Yes, you heard that right. You can Google someone else's code and use it if you want. I know many people just used the code some previous students created for the class and this is perfectly fine. I actually coded all 4 assignments myself and learned a lot.

    The biggest problem with this class as others on here have mentioned is you have no idea how well you are doing or if you are even going to pass the class. Until final grades came out I thought I was going to get a C and was prepared to take the class over again. I did well on all four assignments (82, 79, 92, 90) which were all above the class mean, but completely bombed the midterm and final (34, 49) and somehow managed to get an A with the huge curve.

    If you are going to take this class, get as much knowledge about ML as you can by pre-watching the class lectures on Udacity, or take one of the many ML courses such as the Andrew NG ML class from Stanford.

    Overall this class was great. It was a ton of work but I learned a lot and will be continuing to study ML and will possibly be thinking about a career change to go into this field.

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

  • Georgia Tech Student2018-05-09T01:13:45Zspring 2018

    This was a great survey course that tends towards the theory side without heavy math (but there is a lot of math, so define 'heavy' as being relative), but it took a whole lot of work. It's very easy to spend 20-30 hours on each project assignment. Study hard for each exam, and definitely reach Mitchell's textbook in addition to the supplemental material (you can skim papers, but make sure you understand them). If you have pre-canned code to run, this can greatly reduce your assignment time. I found myself writing a lot of my own code, so perhaps I could have saved countless hours if I knew which experiment to run beforehand.

    ML is a very fair course, and they grade harshly per assignment and exam but do curve up. If you do better than the mean, you'll probably get an A. I screwed up the first assignment because I underestimated the time it took and sent it half complete (no extensions). I did at mean or better afterwards on everything, and it all worked out. They will be reasonable if you do poorly on the first assignment, but demonstrate an upward trajectory afterward.

    I took ML and ML4T at the same time, which had some overlap, but I found myself spending every weekend alternating between the two classes. I'd recommend taking ML alone if you're also working full time on a demanding job. I did get A's in both, but I also lost nearly every weekend for 3+ months.

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

  • Georgia Tech Student2018-05-08T16:36:13Zspring 2018

    Very hard course to complete due primarily to the effort (many hours running simulations and drafting reports) and the ambiguity in grading. Four assignments are open-ended research with hidden rubrics. Two exams are quite difficult, and the mid-term is intentionally oversized such that completing it in the 90 minute window is quite challenging.

    There's a lot of great foundational content but it can get lost in the lectures, which tend toward abstract math and two smart guys proving how clever they are. You often feel like you're overhearing a bar conversation you don't quite understand, and wondering why everyone else is laughing.

    During the semester Professor Isbell was active in Piazza, but did not offer much by way of clarifying content or projects. TAs were mostly radio silence. Significant delays in grading led to lots of stress and churn within the forums.

    If you specialty is not ML and you're merely curious about the topic take either AI (as much rigor but significantly better run) or ML4T (softer introduction to the concepts). If you are in the ML specialization take AI & ML4T before this class, it will give you a leg up.

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

  • Georgia Tech Student2018-05-08T03:30:57Zspring 2018

    The course is a broad survey of ML & is a nice introduction to the topic. It covers to a decent depth all the 3 learning techniques (Supervised, Unsupervised & Reinforcement Learning). The video lectures are very informal & at times highly entertaining. But one needs to be very attentive (& make good notes) since a lot of the questions from midterm & finals are based on the conversations between Prof. Isbell & Prof. Littman. The TA's are engaged and hold regular office hours. Prof Isbell is very active on Piazza & show tremendous patience to the almost repetitive & very annoying questions (some of them seem to simply not use the search feature before posting questions - this can be really painful for a large class like ML). The 4 assignments are meant to let the students do a detailed analysis based on the application of learning techniques, tuning hyper parameters etc on different datasets (of our choosing) & provide right justifications for all our choices. The feedback can be at times very detailed & some times not so thorough(depends on individual grading TA). It can be subjective but most of the time based on well defined rubric. Your analysis can be as independent & informal but cover what's expected. I managed to score pretty high on these (overall above 90%) with a couple of centuries. And this saved me some grace from what was nothing but disaster of a midterm... Prof. Isbell makes it very clear(repeatedly) that he cares the least when it comes to code for all the analysis & the only thing that matters is good analysis. You can re-use existing code (cite references). The exams are closed book, without any pen/paper etc and expects short concise answers. The idea is to test the understanding of the concepts on many of the topics covered in lectures. Overall a fantastic class & personally didn't find it as hard as advertised in discussion forums.

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

  • Georgia Tech Student2018-05-07T20:50:27Zfall 2017

    It is a tough but fun class. As others mentioned, this class covers a lot of ML topics and also provides a good depth, so be prepared to spend time watching/re-watching videos to understand the concepts, specially if this is your first ML class. For projects, you are expected to do research on your own but as long as you meet the rubric you'll do fine. Exams on the other hand are very difficult. The grade is curved so most people end up with an A or at least a B.

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

  • Georgia Tech Student2018-05-07T13:27:25Zfall 2017

    Strongly recommend this course, it's a great overview of the topic. Be prepared to work your butt off. Not much to add beyond the other reviews. You can probably make this work as a first course (I did), but be sure to be ready for some theoretical presentations and do the work getting the abstract down to the concrete.

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

  • Georgia Tech Student2018-05-05T00:58:49Zspring 2018

    This course was very challenging and time-consuming. The projects are fairly open-ended and require a lot of analysis. I found the lectures interesting and the tests fair. The professor is active on Piazza and the TA's office hours were crucial to completing the projects. I would highly recommend this as a survey course in Machine Learning!

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

  • Georgia Tech Student2018-05-04T12:09:40Zspring 2018

    Overall this is a pretty decent course. The material is interesting, but the lack of clarity makes this class a little more challenging than it needs to be. There is no set rubric for assignments, and the feedback varies based on the person grading your paper. You have to pay attention to office hours to fully understand what is needed in the assignments. The midterm is too long for the time given, but you know this going in. The Final is much more manageable in terms of time/question but is about the same as the midterm in terms of difficulty.

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

  • Georgia Tech Student2018-05-01T14:42:07Zspring 2018

    **Overall: ** It's a hard course even with a strong math background. I did not find the assignments to be very helpful (they sapped my enthusiasm), and the tests are hard. TAs were not very responsive in Piazza this semester (Spring 2018). This class is too laissez-faire (in my opinion) and fails to provide effective feedback on assignments.

    I had a fair amount of ML experience from previous learning (I had watched the Supervised Learning lectures a year earlier, and taken other AI classes in the past) coming into this course, but this course was still challenging.

    The lecture quality is pretty good; the professors Isbell and Littman are very knowledgable and their humorous banter in the videos is funny. I liked the conversational style they used in the videos - it's a dialogue between the teacher (alternates between Charles and Michael) and the other plays an inquisitive student who asks questions.

    The assignments were super open-ended and I felt graded quite harshly given the lack of concrete direction. There seemed to be a hidden rubric used to grade submissions that was not shared with students in the assignment descriptions. I felt frustrated with the assignments because I felt like I wasn't really learning much but simply twiddling hyperparameter knobs in order to generate plots for the report. Further, the feedback that I received from the TAs was usually weak and non-specific after they'd take off 30 points. I spent probably 30ish hours on average for the problem sets.

    I wish the course offered more structure ("Students have successfully used this GitHub repo <some_url> for Assignment #1. Train the model, plot learning curves (accuracy vs. time and accuracy vs. iterations), do tasks X, Y, Z") rather than giving vague instructions ("pick some interesting problems and fiddle with the hyperparameters for algorithms A, B, and C. Plot some stuff and tell us your observations"). I'd also have appreciated a more specific rubric for what's expected on the assignments - I'd love to go on the intellectual journey, but please tell me the waypoints!

    The exams were hard but fair.

    I'm happy to have this course behind me. There were high points (lecture content is good), but the assignments were simply not helpful for my learning.

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

  • Georgia Tech Student2018-05-01T04:23:50Zspring 2018

    As I studied the course longer, as I realized the two professors Charles and Micheal are so smart and good, I learned other ML courses from other universities, some of them are very hard to follow due to amount of math and equations, however, Charles and Micheal are very smart and experienced that they can extract the essence of this huge field and summarized into easily understood examples to guide you think and think. Study the course lectures and notes many times to understand otherwise the midterm and final are hard.

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

  • Georgia Tech Student2018-04-29T14:40:11Zspring 2018

    This is a compulsory course for ML specialization and I loved it. The professors make the class very interesting. It strongly emphasizes on the analysis part of different algorithms rather the coding part. We are free to steal/use any code as we like for the projects. The workload is quite heavy, exams are ProctorTracked. Overall, a wonderful course.

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

  • Georgia Tech Student2018-04-29T07:07:01Zspring 2018

    As mentioned by others, this is one of the hardest course and unless you are specializing in ML or has a deep passion for ML, this course is not recommended. The class was overall good in terms of learning through some of the concepts were superficial and hard to grasp the concepts. As Prof. mentions you will smile once the course is done and will have happy tears. Overall I liked the course and probably teaching style would have little better in terms of clarifying content.

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

  • Georgia Tech Student2018-04-29T03:25:18Zspring 2018

    One of the best class on OMSCS that I've had. Something to keep in mind is that this class is a survey class. It goes over on a high level the various major topics pertaining to Machine Learning but if you want to dive in deep there are other classes like Reinforcement Learning itself. The projects are a great way to learn more about how things really work and I do highly recommend that you steal code for this class rather than writing it from scratch (yes this is allowed and encouraged for this class). It'll save you a lot of time and gives you more time to play around and write your actual analysis (which is basically the entire score for your projects).

    The lectures are great for me at least, but I do know of a few people who did not like the banter between the two professors. The extra readings, while not necessary, I believe is a great supplement to the lectures. Do read them to expand your understanding but is not really needed for the tests. All in all, a great class!

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

  • Georgia Tech Student2018-04-23T08:31:19Zspring 2018

    I agree that "applied ML" would be a better suiting title for this class. The Udacity videos are fun to watch and sufficient to introduce students into the topics discussed. My only concern about this class was the responsiveness of the prof or TAs on Piazza. I happened to get seriously ill at the start of the semester (almost 1 month of hospital treatment and reconvalescence). I approached the Office of the Dean of Students, they checked the supporting medical docs and forwarded my absence request to the prof. SImulataneouslY I made a private post on Piazza, asking for an extension (2 wks) of a P1 (a deadline had passed before). A TA asked me to fwd a message from the Office of the Dean of Students with a statement that after I do this, they would approve my extension. I did what I was asked for and nobody replied anymore. Tried to remind them, tried to escalate to the prof., no reply. I ended up withdrawing from the course (1st time in the OMSCS, after 7 courses passed with As).

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

  • Georgia Tech Student2018-04-03T06:47:29Zspring 2018

    I don't think this is a good class. I would like to learn more about machine learning, but didn’t learn much and don’t like the setup of this class. • You get minimal feedback on projects and not know what to do to get the good grade on project. Doesn’t understand what need to improve. • You won't receive your tests back and won't know what you missed. • Lectures are heavy math for me without adequate insight tying everything together, and not able to understand. I don’t like the lectures. • Due to the limited feedback, and can’t learn much without know what you do wrong.

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

  • Georgia Tech Student2018-01-08T18:03:58Zfall 2017

    This course requires a lot of hard work if you aren't very familiar with Machine Learning. The lectures are very well created and help understand the topics, they can be standalone but the additional readings help expand on the topics (although they can be extremely long, more than the lectures). The assignments are not so hard once you get a hang of what the TA's are looking for in the grading.

    Assignment 1 and the Midterm are pretty brutal, but low grades are not the end of the world. For reference I had 50's in both and got an A. Prof Isbell wants you to understand the topics, not regurgigate reports or pay too much attention to coding.

    Regarding coding, you can use whichever programming language you want, but there are some recommended languages for some assignments. Code is not graded, so if you focus on delivering high quality reports you're set. Data visualization comes in very handy in all of the assignments to convey insights effectively in the least amount of time.

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

  • Georgia Tech Student2017-12-20T20:25:12Zfall 2017

    Fighting for an A in this class is extremely stressful but I did earn one in the end. I had heard great things about learning from Dr. Isbell and I was not disappointed in the least. It was an honor to learn from him and Dr. Littman. These professors genuinely care about how well and deeply their students learn. If you take this course you will learn a lot and if you want good grades on the assignments, you will work very hard. Each of the 4 project assignments took me 35-40 hours. My advice is to start on every assignment early and truly learn from the feedback the TAs give you on them. The assignments are pretty open-ended and they want you to do more than the listed requirements but also do it concisely, so a lot of your time on the assignments will be editing and making sure you cut out fluff and use your words wisely. Also do all the problem sets they make available. You'll want to get started on these early too so after discussing solutions on Piazza, you can fully understand the answers before the midterm and final exams. Also, don't use this class to learn an obscure tool. Use the tool most of the class uses because the instructors don't care about which tool you use and you won't earn extra points for using something unusual or poorly documented. The benefit of using what most students use for each assignment is that you can spend less time implementing the work and more time writing your analysis which is almost all they care about. Tools more common among your fellow classmates will have more troubleshooting solutions on Piazza. This was my 5th course in the program and it was probably the hardest I've ever worked for an A in a class but now my brain is packed full of knowledge about Machine Learning and I look forward to taking Reinforcement Learning, especially because it's taught by the same professors.

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

  • Georgia Tech Student2017-12-20T09:28:23Zfall 2017

    This is a challenging course. The first few lectures on Supervised learning may be easy but the it gets tougher as the course progresses. Don't make a mistake of taking it lightly after watching a few lectures. Try to watch the lectures early and review the reading materials. Assignments are key to this course. Start them very early. Spend at least a week in writing report. I made a mistake of focusing more on code instead of the reports and inferences. While writing reports, read the instructions, read the piazza posts and watch the office hours to know what type of graphs and inferences are needed. You may feel that you have done very bad in the course but you are more likely to get an A at the end.

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

  • Georgia Tech Student2017-12-20T00:39:01Zfall 2017

    The class was overall very fun and programming is not too bad (even for a non-CS student). Projects are difficult and time consuming. Professor Isbell does not care about using other people's codes as long as they are cited.. take advantage of this and take the extra time on your research and writeup. Both midterm and final exams are difficult. The midterm exam in particular is designed not to be finished so don't worry if you didn't do well. Professor Isbell really cares about "synthesising" the learned material. Make sure to review the lectures. I did above average on both exams and managed an A by reviewing the lectures two to three times (despite not reading any reading material). Also, do not procrastinate... class starts off slow, but quickly accelerates and reaches a work-load peak during assignment 2, midterm, and assignment 3. You should be fine as long as you put in the time. In summary, PUT IN THE TIME AND DO NOT GIVE UP.

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

  • Georgia Tech Student2017-12-19T17:47:37Zfall 2017

    Jesus, Mary, and Joseph, this was one tough course and semester in general. First, I have to state that Dr. Isbell, and the TAs: Amir, Sasha, and Pushkar, were extremely helpful throughout this rough journey. This was a crazy semester for me, and I am sure for others as well, with the hurricanes that affected us: Irma and Maria. I actually had to complete one of the assignments while running on a portable gas-powered generator, because the electricity was out at my house due to hurricane Irma; where there's a will there's a way. With a wife, kids, full-time job, putting up hurricane shutters at my house and my parents, being without electricity for a few days, driving all over Miami to find gasoline and propane, and taking Machine Learning for Trading along with this course, this was one hectic semester. In the end, I miraculously earned an A in both courses. I must say that I learned a lot in this Machine Learning course, I came into it clueless about Machine Learning, and can say that I acquired a plethora of information in the end. Dr. Isbell and Dr. Littman cover Supervised Learning, Unsupervised Learning, and Reinforcement Learning throughout this course, at a somewhat deep level, which was great. Grading is harsh, but don't let this discourage you, just give it all you've got and do not give up. Complete all assignments and the problem sets, and study hard for the midterm and final. Most importantly, follow this guide:

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

  • Georgia Tech Student2017-12-19T15:12:18Zfall 2017

    This is definitely a survey course. Very broad, without a lot of time to cement knowledge.

    The good:

    • Exposure to a broad range of topics
    • jontay's publicly available code significantly cut down on required time
    • Generous curve

    The bad:

    • Limited feedback on assignments. I wish TAs had an office hours after each assignment where they pointed out what things we could/should have learned, interesting things we might have seen, etc.
    • Lectures are too math heavy for me without adequate insight tying everything together. I'd like to see more professor driven synthesis of knowledge. The class is structured such that it's on the student to figure it out (or not)
    • Depressing grades. I got something like a 60% which somehow translates to an A. ¯ _(ツ)_/¯
    • Due to the limited feedback, your experience depends heavily on what datasets you choose at the beginning. Of course you don't know what datasets would be good until you're done with the class...

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

  • Georgia Tech Student2017-12-19T14:41:46Zfall 2017

    The class starts off slowly and about a month time for the first assignment. Even after reading all the reviews and professor's push, delayed to start the assignment and the price was paid in the assignment marks. I finished running all the experiments but didn't have time to write the analysis for which the assignment is graded. Write up is the key. Do not stress much on interesting data sets. Choose two data sets with different type of attributes, <30 in number and with <5000 instances. This will help in running the experiments faster and saving up time for analysis. Later I could score really well in rest of the assignments. Assignments constitute 50% of the grade. Midterm and final constitute rest 50% with equal proportion. Mid term was 1.5 hrs long and final was 3 hrs. Mid term is made purposefully lengthy. It had all T/F questions with 2 points each in the beginning for which a small explanation is required. Later there were 12-20 points questions. So time management is crucial for Midterm. Final had the similar pattern with double amount of time and it was fine. The exams do not require to memorize the proofs or complex equations but basic ones. I have used the following tools/libraries for assignments. 1. WEKA (Java IDE) 2. ABAGAIL (Java) 3. SCIKIT-LEARN (Python) 4. BURLAP (Java). It is better to start the assignment early and to get familiarized with the libraries. Its better to decide on the type of graphs to be produced and stick to them. I always got tempted to include more graphs but ended up not using them due to 10 pages space constraint. It is better to focus on important graphs and good analysis. Guidelines or sample analysis won't be available. It is better to read some papers and follow the format. I could only go through the videos after a point but not the readings, still managed to get an A and felt able to synthesize the content is good enough. Overall, a great course for which we feel accomplished after completing.

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

  • Georgia Tech Student2017-12-19T04:37:04Zfall 2017

    I have very mixed reviews on this course. I think this course should be renamed as "Applied Machine Learning". To be honest, I really liked the instructors and their teaching style. In fact, that is the only reason why I liked this class. I used to keep listening to their lectures again and again until the concepts got deeply embedded in my brain. The instructors provide the students with a good overview of the theory and derivations both through lectures and piazza materials, but the students are not tested on those in any of the assignments. The midterms and finals were not that difficult, provided the students get accustomed to the structure of the questions beforehand. One way to do that is to solve all assignments of the past Machine Learning courses taught at CMU as well as the exercise problems from Tom Mitchell's book that do not require any derivation or proofs. I did all my assignments in JAVA using Weka Library and BURLAP, although Python would have been a better option. Assignments were easy yet time-consuming. In most universities, Machine Learning courses offered by the CS department turn out to be a blend of theory, derivations, analysis and quality code execution, where most students are tested on those. Here students are graded ONLY on analysis. In fact, students are provided with the code or the software for all assignments. I did not enjoy the assignments, as I did not find those challenging enough. If the students are serious about understanding the lectures, then they need to ensure to have a basic grasp on Big O Analysis, Differential Calculus and Probability Theory before taking this course.

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

  • Georgia Tech Student2017-12-19T01:51:05Zfall 2017

    I had zero ML experience, its been 14 years since I last thought about linear algebra, and I wasn't comfortable with any of the ML libraries(like sci-kit) before this course. Its a good course, lot more theory than I liked, but it helps you learn. Assignments are basically experiments and documenting the same with no clear instructions on how to conduct those and what kind of experiments to run; I think the idea is to encourage students to explore and learn as much as possible, so that we get learn to decide what is important and what is not. Assignment grading seems unfair at times, and exams are very tough(At least for me). Advice from me; refresh your linear Algebra, and be comfortable with Python/Java so that you can work with ML libraries. At least be in "listen only" mode in piazza, office hours, slack channel to get hints on what experiments to run, what curves to draw in the report (I didn't do it, and that was a mistake) You will learn a lot. Do not stress yourself with assignment and mid term grades. I found that individual grading may seem brutal, but the overall grading is pretty lenient. Just hang in there, do your best, and try to enjoy while you are at it. Getting a 'B' (or above) isn't that difficult IMO.

    Professor Isbel is really really really good and very active in Piazza. They have an army of hardworking TA's, and piazza is very active with discussions. Overall, a very good course.

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

  • Georgia Tech Student2017-12-19T01:39:25Zfall 2017

    This class didn't work for me. I didn't like the setup. If I had more background it would have been good but for a beginner I didn't get much from it. Your mileage may vary.

    My biggest issue is that you do an open ended assignment but never get anything that tells you what you should have seen. I didn't know UL and I still don't.

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

  • Georgia Tech Student2017-12-15T16:53:38Zfall 2017

    There has been so much said already about the course that I don't feel the need to go into details, but I'll just say that this was my favorite course so far in my OMSCS journey. The material is vast, but the goal is to give you high level understanding of a broad set of tools. Specifically, the professors focus on what certain algorithms do, what specific algorithms are good and bad at, intuition behind how they work, and how they are similar and different from other algorithms. The focus is NOT on how to implement each individual algorithm or how to use specific ML tools and frameworks. I heard or read at some point (maybe even during a lecture?) that one of the goals of the class is to provide students the tools to become ML researchers. I think this course does a great job at that, while also giving students the opportunity to pick up specific tools as they desire.

    In my opinion, it helps to take DVA before this class if you are not coming from an ML background. Even if you don't use the R language for the assignments in this course, that class can get you in the right mindset for what kinds of plots and plot-layouts to put into a report to make the best use of your limited space. Also, that course goes into some detail on logistic and linear regression. While those topics are not covered in detail in this course, that discussion is still a good primer for topics in this course, including things like brushing up on rusty linear algebra skills and learning to do write vectorized code.

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

  • Georgia Tech Student2017-12-11T19:19:31Zfall 2017

    In short, I echo the comments of many reviews here that the content was excellent and the course is challenging.

    The longer version ... There are three components I'll comment on individually: lectures, exams, and assignments.

    • Lectures - Most people agree that these are excellent. Watch a few of them and you'll see the dynamic between professors Isbell and Littman. The order of material, the quizzes, and the examples are all generally good as well.

    • Exams - A midterm and a final, which only addressed material since the midterm. The exams were straightforward, covered a nice breadth of material, and were appropriately difficult. My only criticism is that the midterm had way more content than time to answer it. The final did not have that problem.

    • Assignments - Bittersweet (for me at least). Each of the four was relevant, rewarding, and quite time-consuming. My two main criticisms are 1) you are asked to think deeply on a topic you are presently learning, which, for me, is tough; and 2) the assignments are broadly and loosely scoped. Personally, I finished every assignment feeling as though I learned a ton, but each grade reflected just the opposite. More structure in the assignments would have helped me focus on what I needed to learn rather than waste time trying to figure out what the TA wants me to address.

    Overall: Excellent material that I've been wanting to learn the foundations of for a while. The instruction was great. I just wish the assignments were more structured.

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

  • Georgia Tech Student2017-12-11T17:28:15Zfall 2017

    The Good: The instruction style of the videos are fantastic. The dialogue between the two professors really help in learning the material. The ability to use any software available for the assignments was awesome. It meant I could try new software being used in the field (like TensorFlow).

    The Bad: Have you ever put on a blindfold spun around 10 times and then try to throw darts at a dartboard? That is what the grading is like. There is another review that states "... we need to develop the ability to do independent research ...". This doesn't do anything in that regard. Assignments are meant to hone your understanding of the material and a rubric helps students focus that effort to ensure it's not a futile endeavor. From the instructors comments there clearly is a rubric they use to grade. You as a student are not privy to this rubric unless you took the course before or received it from former students.

    I wanted to really like this course. The setup was there for it to be one of the best courses available for OMSCS. However, it is not. The enjoyment of this course was far overshadowed by the bad.

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

  • Georgia Tech Student2017-12-11T17:23:18Zfall 2017

    This is a survey course covering pretty much all essential topics in Machine Learning. The course does not dive deep into the implementation aspect of machine learning algorithms. So set your expectation straight! The two professors are really entertaining, they did a great job in adding colors to the materials which are dry in nature. I love most of the lectures except the one on Markov Decision Process. To me, it would be more intuitive to walk through an example of value iteration before throwing tons of equations at the audience. The course did exactly the opposite which gave me a hard time. Outside the lectures, the course itself is depressing. There are four assignments in the course. They are asking serious a lot for each. I would expect to spend 100 hours for each assignment to get to the place where they expect you to be. Unfortunately it is not realistic since i am juggling between job, family and study as most of us here. The grading criteria should be better communicated, my overall impression is that the grading lacks consistency. TAs give grade based on their personal tastes. The feedback should be more constructive and to motivate students to explore more. To me, the feedback is only a list of missing tests which are only implied in the assignment specification. I was discouraged each time after reading the TA's feedback. Overall, this is a reasonably well organized course. The materials are quite dry and TAs are expecting a lot from your assignment without telling exactly what they want you to do.

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

  • Georgia Tech Student2017-11-08T22:26:13Zfall 2018

    Profs Isbell and Littman are possibly two of the best teachers of material I've encountered, and I've taken a Loooot of classes at a lot of places. The course is challenging, but the challenge comes from the material itself, and not from, say, a terrible lack of clarity in expectations and instruction.

    I really had very little interest in ML prior to taking this class, and I ended up really enjoying the course because of the professors.

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

  • Georgia Tech Student2017-11-07T21:27:33Zfall 2017

    Machine Learning is a vast discipline. This course surveys techniques in Supervised Learning, Unsupervised Learning, and Reinforcement Learning. There are only 4 assignments so you have several weeks to do each, but each one covers broad regions of the ML landscape. Part of the difficulty of each assignment is figuring out what is most important to include in your writeup. This seems to be deliberate. Guidelines are given regarding grading, but they don't tell you exactly what you need to do to get a high score. This frustrates some people, but I think it's reasonable because this is grad school, not undergrad, and we need to develop the ability to do independent research and determine on our own what is important, what questions to ask, how to get answers to those questions, etc. If we can't do those things we'll never be able to discover or invent something new.

    You are free to write your code in whatever language you choose. Mostly you'll choose a library with the ML algorithms you need instead of writing everything from scratch (which would require a superhuman effort). Python and scikit-learn are popular as is Weka and other Java libraries.

    This course isn't about becoming an expert in ML (that would be impossible in 1 semester). This course offers a broad view of the ML landscape and helps you learn how to approach ML topics so you can identify areas of interest and continue to build your skills beyond this course.

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

  • Georgia Tech Student2017-11-03T15:32:20Zspring 2018

    This was my favorite class that I have taken so far in the program, the professors were very knowledgeable and entertaining in the lectures. The projects were a good mix of theory and practice and gave me a very good understanding of the concepts.

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

  • Georgia Tech Student2017-08-10T20:12:13Zfall 2016

    This was my first class in OMSCS and I found it very difficult but also very educational. The difficulty for me mostly came from the fact that this class is very theoretical and uses relatively esoteric tools for the projects (WEKA). Even though I got a B in the course (which is considered bottom 50%) I found this class to be excellent prep for CS7646 (Machine Learning for Trading).

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

  • Georgia Tech Student2017-08-10T18:40:12Zspring 2017

    If you take this course, the professor will tell you.. "When you'll look back at this course, you'll have tears in your eyes, but they'll be tears of joy".. that's very true.

    The course doesn't require skilled programming. You can get through the subject without much programming, but it does require extensive reading and really understanding the concepts of Machine learning, which are very dry initially (You have been warned), but once you start to get hang of them, they are pretty astonishing.

    The subject matter is pretty dry but the professors are really witty and jolly and you'll love them. They have made every effort to keep discussion light and intuitive and I think they succeeded.

    Be ready to give a VERY lengthy midterm exam in 1. 5 hours, which is almost impossible to complete (I completed mine in 1 hour 29 minutes and I had prepared it for over a month). The final exam is the same length but you get 3 hours to complete, so there is no rush.

    Take this course if you're willing to dedicate time for it. The assignments will consume a lot of your time, there are 4 of them. Expect at least a week for each assignment.

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

  • Georgia Tech Student2017-08-02T05:18:26Zspring 2016

    this class requires a solid understanding of statistics and calculus. if those skills are rough this is a tough class to complete or even understand.

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

  • Georgia Tech Student2017-08-02T04:50:35Zspring 2017

    This was a cool class. Dr. Isbell was very involved on Piazza. The lecture videos were informative and very funny. I liked the super open-ended nature of the projects, but I wish they tied in with the videos more. I struggled with them (like 50% total project grade struggled), but aced the final and somehow managed to get an A. It seems like most people had less trouble with the projects though.

    Sometimes the lectures would get really into the math underlying one small facet of ML, but you don't need to know how to implement things on the exams (this is a survey course). Focus on having a general understanding of everything and how topics relate (when to use decision trees vs kNN, how clustering algorithms compare to each other) and you'll be fine.

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

  • Georgia Tech Student2017-07-29T22:28:21Zspring 2017

    Great class with interesting subject material. Good introduction to machine learning. Definitely tough and needed many hours per week.

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

  • Georgia Tech Student2017-06-18T12:16:19Zspring 2017

    Tough class!! Few tips:

    1. You can steal the code - prof. really mean it..
    2. Don't loose heart on low scores.. its war of attrition keep going... You will be fine... if you give up - u r a goner
    3. Follow slack - they share good tips
    4. Its a long class with lots going on - prepare up front - watch the videos when you can..

    Overall, you will learn a ton. Prof are funny - videos are awesome - you will love it..

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

  • Georgia Tech Student2017-05-15T20:33:05Zspring 2016

    Excellent introduction to machine learning. I don't really recommend taking this as the first class to the program though, unless you have a background in machine learning. Even then, it wasn't so much the content that makes the class difficult, rather the amount of pages you will be writing over the semester (I think I wrote somewhere between 30 and 40 pages for the semester) on top of everything else you have to do. Definitely recommend it. The instructors are awesome as well.

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

  • Georgia Tech Student2017-05-15T16:00:28Zspring 2017

    There is a lot of good and interesting material in this class. The lectures are mostly enjoyable to watch, with joking and puns between the professors, and only occasionally does it feel like the lecture discussion goes off on a tangent or doesn't represent the material well. That's the good news. Now the bad. Grading is nonsensical at times, you may get contradictory feedback like "You should have talked about X... " followed a sentence or two later by "I see you did mention X... " and yet you will still get docked 20% without good reason. You will be told things like "You don't need to memorize formulas" and "You won't need a calculator" for the exam, and then the exam will expect you to have memorized a formula and do the formula calculations by hand or in your head without a calculator. The grading curve is complete nonsense, you can "fail" by traditional standards and still get an A in the class. The assignments will not come with complete expectations in the requirements, you may get some more of the requirements by bugging the TA's during office hours but it is still not guaranteed. If you ask for an example of what is expected you will be told "No, because then you might parrot the example" and the professor wants you to "be creative" except that the TA's will penalize you for missing something expected in the hidden grading rubric that they wouldn't tell you about or give you an example of. Responses on Piazza are few and slow, especially for such a large class. Slack is a much better source of quick information but it may not be "good" information when it comes to things like the hidden grading rubric. The class seems to be run, and definitely graded, as though it were a meta commentary on the accuracy of machine learning in general. Putting in the effort that would get you 100% in other classes will inexplicably result in much worse results in this class even if you still get an A in the end.

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

  • Georgia Tech Student2017-05-11T05:44:49Zspring 2017

    Loved the lectures, but the course could be done a bit better over-all. The assignments are very open-ended. This might be good for some, but it was annoying when I spent more time trying to find a good dataset to work with the algorithm than I did actually working with the algorithm. The office hours could have been done a bit better as well. I'm sure this changes semester to semester, but they seemed a little unprepared for some questions and spend half the time responding to questions via text while the recorded video was silent. This wouldn't be so bad if they hadn't used hipchat, which doesn't keep track of separate threads, so at any given point in the office hours there were 1-4 conversations going on at once. I learn a lot from test feedback, which we received little to none of. The midterm we got to watch a series of videos (for a few days) that went over the answers, but were never given back our answers with the scores for each. The final we received no feedback whatsoever. This brings me to my final point... Until grades were released, I had no idea if I was going to get an A or an F... Seriously. The instructors were so vague on how grading worked that I had no idea if I was going to pass or not.

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

  • Georgia Tech Student2017-05-04T02:10:31Zspring 2017

    This was one of the best courses I have taken so far in the program. The lectures are highly engaging, fun, and you very informative. The assignments are time consuming, but you will learn a lot. The tests are not easy either, but they curve the grades. If you don't procrastinate on the assignments then the course is very manageable. Definitely do yourself a favor and take this class if you want to learn ML.

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

  • Georgia Tech Student2017-05-01T15:20:40Zspring 2017

    This class is hard. But I think that's what the professor wants to convey to the students. For me I was introduced to these concepts the first time, and hence it was very time consuming to learn to think in terms of ML concepts. Projects are hard only because its vague interms of grading and open-ended-ness. This is not a bad thing, I actually liked this approach, but since its my first time, a lot of time spent is to learn to think in terms of ML. I read all the papers and most of Tom Mitchell's book - prescribed by the TAs. They are very useful to understand these concepts. One thing is assured - all this effort will not go to waste. Its rewarding because now I am able to appreciate what ML is all about. The only draw back is the course focus is not on implementing algorithms. But ofcourse if time is spent implementing them, then less time would have to be spent talking/discussing about them. In the past I have taken Andrew Ngs Cousera course on ML, ML4T and DVA. While all those courses are good in their own way, CS7641 really dives inside the different ML algorithms. For those interested in pursuing ML this is must take.

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

  • Georgia Tech Student2017-04-30T18:16:51Zspring 2017

    7641 is a rewarding and difficult class. The lectures, tests and projects all demand your attention. The projects IMO were a mixed-bag: it’s an opportunity to apply what you learn in class but they’re quite tedious to write. I wish I appreciated the thoroughness the graders were expecting ahead of time. My first project answered all of the questions that were asked of us but because I didn’t check-off enough boxes on some hidden grading rubric, I got one of the worst grades I’ve ever gotten and spent the rest of the semester trying to get back into a good state. When the prof says that the code doesn’t matter and it’s all about the write-up, he really means it.

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

  • Georgia Tech Student2017-04-07T12:51:46Zfall 2016


    • The assignements are so hard... I got 50% at each even I spent so much time on that
    • A big problem : they don't say how they grade you so I had no clue how I could improve!!
    • The class material is very good and the teachers sooooo cool
    • You learn a lot in this class very usefull, general things about ML Overall that's a must taken, even if it is really hard

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

  • Georgia Tech Student2017-01-08T17:53:37Zfall 2016

    Challenging and rewarding course. The lectures are engaging and Prof Isbell is active on piazza. I came in with experience using python for supervised learning problems at work, and for some unsupervised problems as well, but the optimization and reinforcement learning sections were completely new to me. I learned so much through the readings and lectures, but the assignments really solidified my knowledge. Workload varied for me depending on whether it was a week where the assignment was due or not -- the weeks where an assignment was due on the weekend, I would spend at least 2 hours on it per day during the week, and then all of saturday and most (if not all) of sunday on it too.

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

  • Georgia Tech Student2017-01-04T23:18:49Zfall 2016

    Great survey of machine learning. Well-written exams, great discussion-style lectures, and projects that facilitate learning extremely well.

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

  • Georgia Tech Student2016-12-26T03:57:53Zfall 2014

    One of the best courses in OMSCS, this course provides a good overview and introduction to the world of machine learning. The videos are good and lots of information to grasp, especially if you are new to this area. The expectations from assignments are pretty open ended. Overall a must take course

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

  • Georgia Tech Student2016-12-20T19:29:48Zfall 2016

    This is a perfect introduction of Machine Learning. I begun watching videos and reading the textbook in summer vacation, review of both videos and the textbook again in the fall. I do not have any other experience in machine learning, just took 7646 last semester. The journey is awesome, especially the first half. Learning how to learn under pressure itself is very meaningful for me. The first assignment and midterm are warning signs to tell you that you need to really dedicate. The grading curve is friendly. Take it and enjoy it! Even casual observers would love it!

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

  • Georgia Tech Student2016-12-19T17:59:51Zfall 2016

    Overall, the course content is well structured and covers the base of machine learning. Assignments are time consuming and require running many experiments so they are not something you can complete within a few days. The midterm is very hard with limited time frame and you also need to be working on the second assignment at the same time. Once you pass this point, the workload stabilizes. It is by no means that you have time for slack. It still requires continuous effort to study and complete the remaining projects by due date.

    Interaction with TAs and instructor is bare minimum. For most parts, you are on your own and officer hours is chat base in Q&A format. Having more interactive office hours with different time frames could improve course experience further.

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

  • Georgia Tech Student2016-12-15T22:11:29Zfall 2016

    This class is well done. The lectures are done well and provide good explanation. My one suggestion for improvement would be for the teachers to talk about methods that are successful for solving ML problems in the real world. Midterm was extremely difficult. Make sure to study basic equations on both midterm and final.

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

  • Georgia Tech Student2016-12-13T01:17:33Zfall 2016

    Life changing course! Lectures are sometimes hard to comprehend and almost always need to refer to thorough readings outside the lecture content. But it is made clear from beginning that lectures only a survey of various techniques. Atleast I learned what I need to learn more, which is precious. Assignments are pseudo open ended, meaning different parts of learning goal would be described but how, what data you would use, what software etc are left to us. Analysis is the key even though results may not be accurate. If focus was on experiment results, many students could concoct those as well. Hence focus on analysis. This course gave me directions to explore, made some good friends, learned from many other students. What more can one ask!!

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

  • Georgia Tech Student2016-12-09T20:28:22Zspring 2016

    This is a type of course that you feel smarter after the semester is over. You really learn what ML is. The class makes you synthesize the algorithms very well. Dr. Isbell and Littman are great professors. They are funny, witty and smart. There are 4 assignments in the class, each of which takes weeks to finish. So do not postpone the assignments until the very last moment. The exams are hard. If you study well, you can get an A.

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

  • Georgia Tech Student2016-11-04T14:58:39Zfall 2014

    This was the hardest class I've ever taken. I also learned more than in any other class I've ever taken. Projects were very open ended. You could pick any technology you wanted though most gravitated to one or two obvious choices. There is almost no starter code for anything. The midterm is insanely hard and designed to be almost impossible to complete.

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

  • Georgia Tech Student2016-10-29T19:18:46Zfall 2016

    My "learning style" made the assignments in this class unbearably difficult. Basically, I learn best from the Udacity-style lecture/quiz format. The assignments in this class don't "hold your hand". The textbook and lectures provide no details about the machine learning software required to complete the assignment. So you're really trying to learn on your own from (often incorrect) online software documentation. I was able to complete the assignments, but I don't feel I learned enough for the number of hours I had to invest.

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

  • Georgia Tech Student2016-09-22T13:48:29Zfall 2014

    This course is a fair amount of work, but oh so worth it. The lectures were fantastic and the projects really help you learn subtle things about the topics you learn about in the class. I've also taken the Reinforcement Learning class and would take any course offered by Charles Isbel and Michael Littman. They are just tops in my book.

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

  • Georgia Tech Student2016-07-06T09:27:46Zfall 2015

    This is my favorite class in OMSCS so far. It is time consuming but very rewarding class. I found video lectures to be very interesting. Assignments are open-ended which makes them more interesting as well as time-consuming. I started with recommended tools in first couple of assignments (Weka and Abagail) but later I felt that I should move on to tools which I am more likely to use if I have to use ML techniques at my work. So being a python programmer, I moved on to sk-learn, and mdp toolbox which also worked very well for the assignments and within couple of months after course I started using the algorithms at work. Piazza was very active and everyone was helpful. Only thing I didn't like was that mid-term exam was way too long, which I don't think really serves the purpose.

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

  • Georgia Tech Student2016-05-11T17:31:11Zspring 2016

    First off, the GT course surveys site currently reports this as almost as difficult as 6505. This wasn't true, at least for me. This class is tedious and time consuming, while 6505 is just plain difficult and time consuming.

    Lectures: The lectures did a good job of explaining the various machine learning algorithms. Most lectures described things relatively informally (no rigorous math or proofs). For some of the concepts, I kind of wish they had explained the math behind the algorithm a bit better, but for the most part they were very good

    Homework: The homework is structured as four projects. There were two big issues with the homework. First, there was a sizable gulf between the material presented in the lectures and what you actually had to do for the projects. There was lots of outside reading required to understand how exactly to use the ML algorithms in an analysis setting. In other words, the lectures explained how the algorithms worked but you were on your own with the homeworks in terms of comparing them and determining which performed best and why. Second, you were kind of on your own when it came to picking tools to perform your analysis. As a beginner to these concepts, I spent lots of time evaluating machine learning frameworks to determine which best suited the assignment. This meant I was spending less time actually working with the algorithms and more time experimenting with machine learning libraries. The TAs and professor occasionally made suggestions, but it would have been nice to get a list of vetted frameworks for each project.

    Assembling the reports for the homework was tedious. It involves running multiple (hopefully repeatable), possibly long running experiments and usually plotting the right things for each algorithm. This was by no means hard, but it was time consuming.

    Grading/Administration I thought grading was generous. The homeworks were graded fairly, but it would have been nice to have a more explicit rubric.

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

  • Georgia Tech Student2016-05-10T03:02:55Zspring 2016

    The discussion style of the videos in this course made it a lot more engaging than the straight forward lecture style of another course I took this semester. Both Littman and Isbell have insightful questions, clear explanations, and puns. The readings are tough, but help to understand the meaning and math behind the algorithms.

    There seemed to be a trend in grading where the supervised and unsupervised assignments received lower scores than the randomized optimization and markov decision process assignments. I was around the mean for most assignments, did a few points above the mean for the midterm, did better on my final, and somehow ended up with an A for the course grade. Strangely enough, I don't feel like I deserve an A because theres still so much to understand and it was clear from the piazza forum that others had a solid grasp of the material. That being said, I do want to go on and learn more about ML!

    My advice for this course would be to get started on assignments early. I tend to procrastinate and the grade on my first assignment showed that. As you work through the assignments, you'll find more and more questions that you'll try to answer. In order to have an interesting paper that fits the page limits, you must be able to explain why your experimenting showed the results that it did concisely yet comprehensively. Advice bit number two would be to just go with whatever everyone else in the class is using for the assignments. Weka for assignment 1 and 3, abagail for assignment 2, Burlap for assignment 4. Keep a close eye on the piazza forums for technical help.

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

  • Georgia Tech Student2016-05-06T02:00:52Zspring 2016

    The teaching approach in this class seemed to be "throw way more work/information at the students than they could possibly absorb in an attempt to push them to do more than they think they can".

    Well. Okay. Mission accomplished. But the grading criterion for this course seems to be:

    "Grade the students on everything we threw at them, knowing they couldn't possibly absorb it all, then give them all a massive curve at the end. "

    The problem with this is that there's no guided prioritization of focus. I learned tons in this class. But because the average in the class right now is a 67 (averages for all assignments/exams except the final are available on Canvas) neither I nor the vast majority of the students in the class know whether the gained knowledge is what we were intended to learn in the course.

    Of the four course objectives the one I feel the course didn't help at all with was "To develop the basic skills necessary to pursue research in ML". There was no guidance at all in this area. We got assigned 4 analytic assignments without any guidance in what makes a good analysis in the target domain. We were given grades on our analysis assignments with little feedback at all.

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

  • Georgia Tech Student2016-05-06T01:14:42Zfall 2015

    I really enjoyed this class and learned a lot. I am writing this review a semester after finishing the class, so I am even more confident in being able to say this. A lo