ae9eESsUeMnU7UHaE9PO9Q==2025-06-25T23:01:39Zspring 2025
Graduate Introduction to Operating SystemsI might have overdone it on the hours I committed to this course, but I enjoyed it.
Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week
ae9eESsUeMnU7UHaE9PO9Q==2025-06-25T23:01:39Zspring 2025
Graduate Introduction to Operating SystemsI might have overdone it on the hours I committed to this course, but I enjoyed it.
Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week
CWdPvvaia4/DA5b7rSIxpw==2025-06-25T01:53:31Zsummer 2024
Introduction to Cognitive ScienceTAs are the absolute worst and they don't grade consistently. Sometimes my submission looks similar to the exemplary submission and my grade is in the lower quartile because a foolish TA simply removes points for no apparent reason. Going to fill surveys for removal of TA since it affects my grade and my overall GPA due to their incompetence. They also ignore regrade requests.
Rating: 1 / 5Difficulty: 1 / 5Workload: 5 hours / week
jIrAYmDmWFYSEqjaEU9IlQ==2025-06-24T13:32:09Zspring 2025
Advanced Topics in Software Analysis and TestingI am not sure why the rating for this course is so low.
This course is super well organized -- the communication with the teaching staff is outstanding, and expectations are super clear.
The topic (optimization / programming with llvm) is sort of niche but very interesting. The lectures are good and tied directly to the course material. The labs are fun, but maybe not extremely applicable in the day-to-day -- nevertheless still useful knowledge to have.
Rating: 4 / 5Difficulty: 2 / 5Workload: 7 hours / week
7o3yzJf0wlyuWTAtdKLi1A==2025-06-21T21:08:38Zspring 2025
Artificial Intelligence Techniques for RoboticsI have mixed feelings about this class. On one hand, I felt like it helped me a lot with my confidence in Python and my ability to code things from scratch (for the most part). On the other, the lectures felt outdated and full of small mistakes that made them frustrating to watch. The algorithms covered were pretty simple, but I really wouldn't even call them AI. The projects are the bulk of the class - you will either love them or hate them. There is a big disconnect from what is expected in the projects and what is shown in the quizzes/lectures. The projects are indeed satisfying, but the process to get there can be very frustrating. I strongly recommend anyone taking this class to go through the Ed Discussion forum, as you will find a lot of answers there - mostly from other students. I never once got a useful answer from a TA. This seems intentional as they don't want to "give away answers". However, some of their responses could come across as rude or condescending. I once saw someone ask a question along these lines: "how can we align the robot in this direction?". The TA's response was something like "using simple 10th grade math". I do recommend this class, but expect to spend a lot of time on the projects. The time given for each project is generous, and you can get ahead if you want to. My recommendation is to start early and distribute the workload so that you don't rip all your hair out. For each project, I had to spend 2-3hrs just trying to figure out how to even get started and write my first line of code.
Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week
OWj5Bkk31WB4Bo9D3B5F+A==2025-06-20T01:57:17Zfall 2024
Artificial IntelligenceI didn't really keep track of my time but I'd say I took 25-30 hours on average. I paired it with Bayesian Statistics my first semester (these two overlap nicely on some topics, each offering a unique perspective. so I'd recommend the pairing). I thought the staff, and Raymond in particular, did a great job directing things. I loved how well structured and formatted the EC quizzes and tests were. The readings are pretty enriching, and I recommend keeping up with them because they'll expose you to interesting topics you won't learn otherwise (I recommended to the staff to make reading guides just because they can enhance the learning experience and they're easy to prepare).
The coding is the main component of the class, and if your coding skills are solid, you'll have a very easy time. I found the coding to be heavier than IHPC, and maybe similar to GIOS, though things in GIOS can be harder to debug. I think the class is doable in less than 20 hrs/week if your coding is OK (say you can consistenly do the first 3 Leetcode problems of a Weekly in Python) and you read fast/study efficiently.
Rating: 5 / 5Difficulty: 4 / 5Workload: 27 hours / week
/Bn/hUWgnBviKWFTQKpGkg==2025-06-19T13:42:59Zfall 2024
Machine Learning for TradingHeadline: Please, please, please don't do think course and think it has anything to do trading or will help you understand what happens in a mutual fund or a hedge fund.
Background: >15 years in finance, specifically in Portfolio Management and at an Senior level.
Grade: A
History Lesson: As a history lesson, this course was created by a Prof. who left GT to join JP Morgan's ML group. When he created this class it was a cutting edge use of tech to teach ML. Unfortunately, it's been left for a group of TAs to run and it's brutally clear that whilst there are some talented technologist amongst them, they've never run money professionally. It's not an exaggeration that we've failed candidates for jobs based on what some of the TAs said was correct and then when called out some of the TAs will double down. It's all a bit animal farm.
Summary: with the history lesson aside it you treat ML4T as an intro to Python / reintroduction to school after a break and think it of it as "using financial data as examples" it's adequate. There is a lot of interesting material covered, like an into RL, and lots of useful stuff that isn't taught well elsewhere (like environment setup and use of classes in Python). As was pointed out in my course on the forums a lot of what the TAs teach is directly contrary to a Finance 101 class or the CFA textbooks. Why I say "adequate" is because the grading scripts are finickty so if you want a good grade you'll spend 2-3x the time doing the work on debugging the autograder or looking for edge cases that you may get tested on in the grading script (different to the exposed script). Seriously.. just make the course harder and make the autograder result the result [or expose the real test script] so time can be spent on learning rather than triple checking code.
Rating: 2 / 5Difficulty: 3 / 5Workload: 12 hours / week
OIiD2iIImc9rRe2/FHihqQ==2025-06-18T15:24:21Zspring 2025
Applied CryptographyDespite the name, this course definitely leans very theoretical. Those who have a strong math background or did well in discrete structures/algorithms in undergrad (ie people who have experience reading/writing proofs) will have an easy time in this course. Those who do not might struggle with the proof-writing aspects of this course in addition to the course material itself.
There are weekly quizzes (no more than 5 minutes each), 4 proof-based homeworks, and 2 programming homeworks. The programming assignments should be 100%-ed. Each proof-based homework will likely have a problem you do not how to solve. This is OK: The curve for this course is very generous (A is 80%+)
Overall, I really enjoyed this course. I recommend it to anyone who is comfortable writing formally/mathematically.
Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week
Sg9V4u3hpDFZ1gEkvu0lUg==2025-06-17T10:30:33Zspring 2025
Artificial Intelligence Techniques for RoboticsTook this course in Spring 2025. This is a wonderful course. The lectures are pretty chill. This course is very problem set + project heavy that together counts for 80% of the grade, along with 2 exams that count for a total of 20% of the grade.
You only require a basic understanding of python for this course. Problem sets are chill. you can finish them at the start of the semester. Projects are difficult and tricky but satisfying. if you start in advance, you can finish them within time. For exams, you get 2 attempts for each exam and the course keeps the higher score among the 2 attempts. exams are tricky but doable. if your basics are solid, you can ace the exams. the material is great and you really learn something in this course.
There are multiple opportunities for extra credit throughout the semester.
The professor and the TAs are really helpful in this course. They are very responsive in answering student queries. The TAs also take additional office hours for explaining the complex concepts for each project in more detail. Do not skip the office hours or the megathread discussions on Ed.
Just make sure you have a decent PC capable of running the assignments/projects and you are good.
The course permits unlimited submissions until the deadline. the course also uses an autograder program on gradescope and your local machine that grades your code showing the score instantly. this is extremely helpful for debugging and improving your code for submission. I got an A in this course and it was totally worth the effort.
Overall, this is a great course. I highly recommend this course to anyone interested in Machine Learning/Robotics.
Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week
ZfoBSlhJrskga11kL55h8g==2025-06-16T17:38:02Zspring 2025
Human-Computer InteractionLiterally, starting early is what it takes to shine in this course. Lectures by Dr. Joyner are superb and definitely worth watching—he has a magic wand when it comes to teaching. The TAs are incredibly helpful and responsive throughout the course.
Homework: Tip: START EARLY!!! Simply answer each and every question directly and clearly, and you’ll be good to go.
Quizzes: Interesting and straightforward if you’ve watched all the lectures attentively and skimmed through the associated reading materials.
Individual Project: Follow the rubric carefully. Getting participants to complete surveys can be a bit of a hassle at the last minute—so again, START EARLY!!!
Team Project: It’s best to form a team at the beginning of the course. If you don’t, a professor or TA will assign you to one. For the team surveys, start early as well.
Overall: An easy A with effective time management.
Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week
SjyKN55mvyIeoMbR+gZOuA==2025-06-14T06:57:00Zfall 2024
Machine Learning for TradingI found this course to be a good starter course for the II Track, you get a hang of all the libraries, get acquainted to the system , multiple tools to use. Its a very interesting course and you will have to learn multiple learners , code for them. I found it to be pretty balance on difficulty and learning.
Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week
uxFErBza8EDowE7fC3596A==2025-06-14T02:04:09Zfall 2024
International SecurityI found INTA 6103, taught by Assistant Professor Lincoln Hines, to be one of the most disappointing and unsatisfying courses in my whole academic experience. The course structure lacked organization, and the nearly three-hour session format was mentally exhausting and difficult to engage with over time. Compared to other instructors I’ve had, his teaching methods and classroom management felt less effective and did not meet the standards I have come to expect at the graduate level.
The final paper was excessively long, and I felt that students were not provided with sufficient guidance or formative feedback throughout the writing process, which made the assignment particularly difficult to navigate. Weekly readings were lengthy and, in my view, often lacked balance and engagement, which hindered the development of critical thinking.
Overall, the course did not meet my basic expectations in terms of instructional quality, content design, or academic support. Based on my experience, I would NOT recommend this course or instructor to other students.
Rating: 1 / 5Difficulty: 3 / 5Workload: 10 hours / week
bTKeobWJASYZ4K7kZH3lMA==2025-06-12T17:18:14Zsummer 2024
Introduction to Cognitive ScienceNo clear directions. TA's don't care at all. Course is easy enough until you don't get the random pattern right or they decide your explanation of a concept that is, in literature, poorly understood at best isn't sufficient. Don't take this class if you want clear grading expectations.
Rating: 1 / 5Difficulty: 3 / 5Workload: 12 hours / week
PfmIAfgIvMdo9V5jd4mYPQ==2025-06-11T02:56:43Zfall 2024
SimulationTook this in spring 2024
The Professor is such a dedicated and passionate guy but this class is essentially a stats/probability 101 and I was underwhelmed by the rigor and depth, not to mention the irrelevance of some of the topic to what I was expecting. If you have math/stats background, this will be a walk in the park but keep in mind the tedious weekly homework (I got so sick of it lol) If you don’t have math/stats background and want to freshen up on some of that, this course is for you.
Final grade: A
Rating: 2 / 5Difficulty: 2 / 5Workload: 10 hours / week
yTsLrwNGEXdyTxTXjU5r4Q==2025-06-08T23:18:36Zfall 2024
Deep LearningI have a few ML/AI courses under my belt. I would say DL was the most rewarding courses with a relatively high workload.
The most variable time component of this course are the quizzes. they are worth very little in comparison to the projects, but you can spend a lot of time studying for them. Since this is an optional course for most students, I would recommend spending the time to do well on the quizzes. It is time consuming, but there is a wealth of knowledge to tap into that you would not be incentivized to delve into otherwise, and you will leave with a much richer understanding of deep learning if you actually give 100% to the required course material (quizzes, research paper analysis/synthesis, and projects)
I will say that the 2nd half of the course leaves much more to be desired, and I would definitely recommend taking NLP if you feel yourself not understanding Language Models.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
X0CN50M++bmVG3b5ImktvQ==2025-06-08T22:24:41Zspring 2025
Information Security Lab: System and Network DefensesYou will spend 99% of your time dealing with deprecated VMs that don't work correctly. DO NOT TAKE THIS CLASS.
Rating: 1 / 5Difficulty: 5 / 5Workload: 30 hours / week
jIrAYmDmWFYSEqjaEU9IlQ==2025-06-06T12:32:42Zspring 2025
Reinforcement Learning and Decision MakingThis was my first course in the program.
I passed with a B after failing the final and doing poorly on the first project.
Overall, projects 2, 3, and 4 are pretty fun to work on. Project one is extremely tedious and not very interesting, but that's more of a personal thing.
The TAs were extremely helpful and I was fortunate enough to take this with an amazing community of students. However, the course is actively being redesigned and it shows. The lectures (which are hours per week) are completely disjoint from the projects, but certainly not the final.
Rating: 4 / 5Difficulty: 5 / 5Workload: 15 hours / week
PQEFWpeOsa7l//ST1g02eg==2025-06-06T02:31:48Zspring 2025
Information Security Lab: System and Network DefensesThe VMs are absolute garbage. The material you learn in the course is a pamphlet's worth of stuff. You will spend 99% of your time dealing with their shitty VMs. I highly, highly recommend avoiding this class at all costs. Assigments are vague and make no sense. Worst class I've taken so far.
Rating: 1 / 5Difficulty: 1 / 5Workload: 20 hours / week
+WJjueAWTVaGEp7DvIy8ug==2025-06-05T13:46:52Zspring 2025
Information Security Policies and StrategiesThis is my 2nd course within the degree program and I think it was a pretty straightforward class. 2 group projects/papers within the 1st half of the course. One of those projects will have you think like a cyber criminal which was kind of fun. Quizzes are open book...you can use your notes and lectures for help. One of the assignments (assignment 4) is discussion board heavy and you have to interact with others about the cybersecurity topic that is posted. I took this class by itself while working a full time job, but I think it can be paired with another class. I also think that it can be a good course to take during the summer or as your 1st course when you're admitted into the program.
Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week
NtNiP2f5OU9qpNZbS2t5dw==2025-06-04T18:03:35Zspring 2025
Introduction to Cognitive ScienceTo be honest, the main reason I took this course in Spring 2025 was that I was planning a 2 week vacation abroad, and I was looking for a course that was easy and in which I could work ahead. This course satisfied both requirements. This is more a social science rather than a computer science course. You will learn a lot about how we think, and, by extension, how computers should think. You get out of the course what you put in. There were some flashes of brilliance, but they were few and far between. The course has weekly quizzes (simple), some written exercises (some thinking), and a course project worth, in all of its parts, 45% of the grade. I am neutral on the course- several of my classmates really liked it.
Rating: 2 / 5Difficulty: 2 / 5Workload: 7 hours / week
zgMHxawDF1NZxVYd8Iu4aw==2025-06-04T10:23:53Zsummer 2024
Game Artificial IntelligenceFull review here: https://the11d.wordpress.com/2025/06/04/my-thoughts-on-game-ai-omscs-review-7/
TLDR (courtesy of GPT): In my review of Georgia Tech's OMSCS Game AI course (CS 7632), I shared my positive experience taking it in Summer 2024. Coming in with a background in Java/Kotlin and Python but no prior experience with C# or Unity, I found the Unity-based assignments both visually engaging and educational for understanding AI in games. The course had eight assignments and weekly quizzes, with a manageable weekly workload of around 7.3 hours. Some assignments, like Grid Lattice and Race Truck, were especially challenging due to their complexity and the need for precise tuning. I highlighted the importance of thoroughly understanding the provided boilerplate code and offered advice for future students. Overall, I found the course practical, rewarding, and a great fit for the Interactive Intelligence specialization.
Rating: 4 / 5Difficulty: 3 / 5Workload: 7 hours / week
gdhRQiKhSKdgEb5YkXVXkw==2025-06-04T02:28:19Zspring 2025
Introduction to Theory and Practice of Bayesian StatisticsOther than doing the Math for Machine Learning Coursera recently I hadn't done serious Algebra or Calculus for 20 years before taking this class. I learned that being an 'A' student in math 20 years ago is not an informative prior. This was my first OMSCS course, and I think I would have fared better if I had taken ML4T before this one. The programming aspect in the second half of the class was in line with what I was expecting in terms of the level of challenge. Aaron and the other TAs are great for this course. Professor Joseph even has office hours to help students with assignments or questions. The site for the course with all of the examples in PYMC is great compared to if we would have needed to use BUGS. The lectures are not great and didn't help me retain the content. At times I would watch Ben Lambert or Statistical Rethinking Youtube videos which were helpful. If I was trying to prep before the course I would start with Statistical Rethinking. If I was doing this all over again I would absolutely take this course again because it is very interesting content, but I think I would try to take something else to ease myself into the level of math involved in the course. I hope the lectures can be redone in the near future to make that aspect more worthwhile.
Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week
11Wwcn5oDMuArd9QfJEb5w==2025-06-01T00:29:44Zspring 2025
Software Development ProcessThis class was significantly easier than my similar sophomore year CS class. There are no tests which is super nice and its all project based. All of the projects and lectures were pretty straightforward, including the group project. There's one unit testing assignment where the class average is like 71 and that can kill some peoples grades. It happens every year because they don't explain the different types of testing quite well or clearly enough, and the questions are just a little ambiguous. You can get all the problems right with enough double checking and second guessing but hopefully they'll improve that assignment
Rating: 2 / 5Difficulty: 1 / 5Workload: 5 hours / week
11Wwcn5oDMuArd9QfJEb5w==2025-06-01T00:23:13Zfall 2024
Artificial Intelligence Techniques for RoboticsThe projects for this course were pretty fun; they use fun animations to bring your algorithms to life a little bit. The concepts and projects weren't very difficult with a background in applied math but I did spend over ten hours looking for bugs in more than one project. I found the TA's to be a little rude and condescending. Exams were pretty well written. Instant feedback from the autograder was pretty nice. This course has pretty minimal requirements for coding, statistics, and math background. You don't even use numpy, just a custom matrix class they wrote for the course.
Rating: 4 / 5Difficulty: 3 / 5Workload: 7 hours / week
11Wwcn5oDMuArd9QfJEb5w==2025-05-31T23:55:38Zfall 2024
Artificial IntelligenceI took a few courses that covered some AI topics in undergrad and as a result I did not actually learn that much in this class. If you're looking for modern AI and LLMs this is not the place. I think the newest technologies covered are 20 years old. They said they were adding a Neural Network unit soon so that will bring them up to only 10 years out of date. The tests are open for a week and I spent over 20 hours on each one because they are mostly puzzles that test if you can be your own AI and follow the algorithms the class teaches. The projects were kind of interesting and provided some autograder feedback with multiple submissions.
Rating: 3 / 5Difficulty: 3 / 5Workload: 12 hours / week
11Wwcn5oDMuArd9QfJEb5w==2025-05-31T23:48:36Zspring 2025
Machine Learning for TradingWhere to start. I did not love this course because it was simultaneously basic and boring, but still time consuming and stressful. The tests were silly. They're open everything, even AI, but understanding what each question is even asking is the most difficult part of the test. They don't provide any grades until the day before the withdraw deadline so you don't know how you're doing most of the time.
The assignments are simple and easy but each has several dozen pages of project descriptions, coding requirements, general requirements, writing requirements, and even more specifications on top of that. I didn't check my code carefully enough and missed that I had used a 'python list variable' somewhere and lost 4% of my overall grade. I still got the grade I wanted but I develop machine learning for trading professionally and I this class was the fourth time I've coded a decision tree from scratch.
You also will only learn much about the stock market if you don't know what a 'ticker' is. The class is teaching concepts at an undergraduate level. TA's were pretty responsive but about half the time the response was 'read the docs' which was never helpful. If you're on a windows they tell you to install a linux virtual machine but I'd recommend against it. It took me about 6 hours to get it working but then I never really used it. Its only helpful for the scant self-grading resources they provide which don't work on windows for some reason and they haven't bothered to fix that. That said, there's no excuse to not have at least the coding portion of your grade done by an autograder with multiple submissions, but instead they leave you wondering in the dark if you've jumped through all their hoops and hurdles correctly.
Rating: 1 / 5Difficulty: 2 / 5Workload: 9 hours / week
R1Kj70Cla4uAqu/Wj9AR4Q==2025-05-31T14:00:09Zspring 2025
Machine Learning for TradingThis was my first class and I’d like to provide my thoughts from someone who got an A:
Prerequisites:
A brief background about me is that I am a data engineer with a CS adjacent degree (IT). I use and work with Python, however not in an object-oriented sense, but building scripts and more functional code. So admittedly, I was a bit rusty on object-oriented principles. I don’t really have a math/stats background, except for calculus, which I took in college over five years ago. I also had zero exposure to ML before this class. I believed this was enough to fulfill the prerequisites.
Now, when they say strong ‘programming skills’ in the prerequisites, you’re going to be using python with numpy and pandas and matplotlib. You’re also going to be making object-oriented programs. I’m rusty on my OOP as well as had to learn the new libraries. This led to the earlier projects taking extra time.
IMO to get the most out of the class, I think only having a ‘basic knowledge of statistics’ is not enough. Most of the readings, which go into a great depth into the algorithms used in the projects, are heavy on the math and statistics. To fully understand the readings, I basically had to take a crash course in statistics after reading each chapter and then read the chapter again to truly understand what they were talking about. This is a bit overkill for the class but because I am planning on taking a ML/AI focused courseload I figured I was going to have to do this anyway at one point. This led to most readings taking extra time.
Class:
The good: This class is truly what you make of it. If you dedicate the time to do the readings and do the projects honestly, you will learn and be introduced to a lot of machine learning concepts and build a strong foundation for future work or studies in machine learning. The TA’s are active and helpful and truly passionate about helping students learn. I also think this class made me a better python programmer.
The bad: The grading. They are upfront with you about how they release the grades in two batches. I did not think this is going to be an issue because I did not understand that the projects build on each other. Combine this with the fact that they use hidden test cases leads to an unnecessarily stressful experience. I understand the long turnaround time for papers, but not having an auto graded code score, for an online class, is inexcusable. Even if you were going to lose points for not following project instructions, you should at least know if your code correctly executed and the logic is correct so that you’re not using incorrect code for future projects. The project instructions are overly verbose and confusing, with massive penalties for missing details ‘sprinkled’ in various places within the instructions. The regrade request process is terrible, and leaves students feeling disrespected. The instructors made a mistake with my grade in project 3, which resulted in the 20 point penalty. This mistake was very easily disproved when re-running the code. I submitted a re-grade request which went ignored the entire semester. This also led to unnecessarily stressful experience. I agree with one of the reviews stating that this class has scaled beyond its capacity, and the quality has suffered as a result. The exams are truly awful, with poorly worded questions meant to confuse LLM’s. Even if you know the content, it is difficult to get the questions correct because of the way things are worded. I would have preferred more straightforward and less ‘gotcha’ questions, with LLM’s not being an option for exams. It almost made feeling like studying for the exam was a ‘waste of time’.
In summary:
A lot of people recommend this as a good introduction to the OMSCS program. Personally, I do not think it is a good option. I’m not saying it’s a bad class, but I think if you take this when you’re more familiar with how to do projects, read academic textbooks and use the online tools, you will have a much better experience. I’m also shocked at the difficulty score for this class. Maybe if you have domain knowledge this is ‘easy’. But for someone coming in with no background to learn the concepts, this was by no means an easy A. This class has the potential to be a solid 5/5 but because of the issues above I’m forced to give it a 4.
Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week
XzosBcdhnDW15JHR+dckJw==2025-05-21T07:39:43Zspring 2025
Data and Visual AnalyticsI took this class alongside the Deep Learning course, and the difference was very noticeable. Deep Learning introduced a new homework this semester (Spring 2025), and most of the assignments felt fresh and up-to-date. In comparison, this course feels stuck in 2017. The lecture videos, homework, and tools all seem outdated.
Deep Learning has an enrollment of about 150 students and the professor holds regular weekly office hours. In this course, with over 1,000 students, the professor is MIA until the very end when he asks for reviews. The whole experience felt more like a generic online course. The TA office hours are text-based, which makes the course feel even more impersonal.
I had high hopes for this class. I took the recommended Data Visualization courses by Curran Kelleher and was excited to make creative visualizations and learn about design. Instead, most of the work involved recreating outdated D3 charts. There's little focus on good design. Only one assignment asks you to apply basic design ideas to a table, and it's worth just five points. The rest is just copying and submitting through GS.
Many students just rely on GPT to complete the assignments and project. Some even brag about not learning D3 at all and just using gpt or cursor. The first homework was basic SQL and Python, similar to LeetCode Easy problems. If you couldn’t solve them, GPT could do it for you without any issues. I was also surprised by the low level of questions on the forum—some students didn’t even understand object-oriented programming.
The final project was a total letdown. I thought we’d be making something informative and creative like a NYT or Economist-style visualization. Instead, it was just a checklist. As long as you answered the Hellmeier questions, you could turn in the ugliest chart imaginable and still get full credit.
Group work was a disaster. People didn’t know how to use Git, pushed API keys, uploaded giant CSVs and parquet files, and even dumped raw ChatGPT output (emojis, instructions, everything ) straight into the report. They didn't even bother to check the GPT output, like how do these people get in and how are they allowed to graduate?
I did hear of people who got their grade reduced for not contributing to the final project though, so that was a redeeming quality.
Homework Summary:
Homework 1 and 2: Basic SQL and Python, some D3 and Tableau. Mostly just copying old visualizations.
Homework 3: Simple data cleaning with PySpark and Scala. Claims to teach Docker and cloud platforms like AWS and Azure, but in reality, you just follow instructions in a pdf to make an account and complete exercises in a jupyter notebook. Add it to iCDA?
Homework 4: Basic machine learning with sklearn and some algorithms from scratch. It was a good assignment but felt out of place in a data visualization class. Move it to CDA instead?
Suggestions for Improvement:
Add a short proctored design quiz that helps students recognize good and bad visualizations.
Include a homework on deploying visualizations so students can share their work with classmates
Replace the final poster with the actual deployed visualization. The poster and stringent rubric really made me feel like I was in middle school.
Include a simple proctored assignment using Tableau or D3 to confirm people can actually program.
Emphasize teaching design principles so students can create clear, effective visualizations.
Rating: 1 / 5Difficulty: 1 / 5Workload: 12 hours / week
1Pg6oH9Oh6M3xfCDcnfaFA==2025-05-21T04:12:17Zspring 2025
Introduction to Graduate AlgorithmsThis course has 3 exams with 1 extra exam (5 bonus points). The homework no longer counts for the grades. So 90% on 3 exams and 10% on the quizzes.
Exam 1: I did the worst grade on exam 1 (37/60). But I cannot drop this course because it is the required as core course for my track. I did some calculation for my exam2 and exam3 which has to get higher score to recover my loss on exam1. Exam 2: Much better (47/60). I think because of average grade for exam 1 was too bad. So the exam 2 was much easier. All the questions were same/similar to the homework. Exam 3: Best score (50.5). Pretty much familiar with format that TAs prefer.
Quizzes: I did not do great on content quizzes (avg 80/100). But i did get full score for the format quizzes.
Final grade: B. I don't really need A to graduate so I am happy with this grade.
Now it comes to the learning process....
Textbook: Yes. I spent a lot of time to read and understand textbook. Around 2-4 hrs per week.
Course videos: Sometimes I even need to watch a lesson multiple times to understand it. Around 2hrs on course videos. Ed discussion: I spent around 2hrs per week to catch up the discussions and posts.
OH: Joves has 2-3 hrs weekly OH. Dr. Brito has 1-2 hrs weekly OH. So it could take up to 5hrs on OH. Joves OH is very helpful. Highly recommended to take it to see how to solve the practice problems and learn how TA grades homework.
Practice questions: I use chatgpt to provide some thoughts and learning guides on practice solutions. It takes around 4 hrs per week.
Homework: Normally takes me 2hrs. But please do the homework. It is way more important than you think. The reason why I can get higher and higher score in exam 2 and exam 3 is I invested lots of time to understand the homework and similar questions.
It is very time consuming to finish this course because I have a fulltime job. Basically all my after work hrs were learning. 60% of my weekends time on learning. I don't recommend taking this course when you are at the busy stage of your life (changing to a new job, moving, .....etc)
Good luck.
Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week
1a568H24qw6zEPG82ewUkA==2025-05-21T02:33:11Zspring 2025
Data Analytics and SecurityStay away. Dated materials, slow to respond TAs, Honorlock - all of the negatives that appears in various GA Tech courses, nothing to balance it out. Group project too - YMMV on those.
Rating: 1 / 5Difficulty: 3 / 5Workload: 1 hours / week
vsibVbdFfYHQ84sN6cGhvw==2025-05-19T16:40:43Zspring 2025
Introduction to Analytics ModelingI liked the course but it's not as easy as some people make it out to be. Professor Sokol is very knowledgeable and following the lecture content is rarely dry. The videos are well-made and the material is important for your analytics career as you cover important topics like regression, principal component analysis, and optimization to name a few. This is an introductory course so don't expect a full in-depth review. It's just enough to get your feet wet.
Homeworks (15%), 1 project (8%), and intro survey (2%) take 25% of grade while the remaining 3 exams take 75%. You will need to learn R for the homework's which can be time consuming in the beginning. 2 homework's are dropped so do well on the earlier assignments. They are graded by your peers so it's pretty difficult to get 100's unless you go above and beyond which for 15% doesn't really seem worth it. I ended up doing well (mostly 90s on the beginning homework's) and just didn't do the last homework's regarding optimization which was the last topic of the course. The project is just a super simple report on an analytics case study you choose (no coding required).
Now we get to the exams. I'm generally a decent test taker but these exams are worded in such an unusual way that it almost throws you off guard. Not even the content of the questions but the phrasing. Multiple answers may fit but the best answer is needed which can be confusing well. I think the mean for all the exams was high 70s, low 80's. The exams are my only gripe with the course, I wish they were a little more traditional. The homework's are not needed for the exams so in theory you could ignore every single homework and still pass if you do well on the exams (but don't do this lol).
Disclaimer: the class also uses Piazza (I think all the OMSA use it but I could be mistaken) and I rarely went on it.
I'm in the CS track and I'm glad i took this course. One of the better courses to take given the importance of its content and how it was presented just don't expect an easy A. An easy C, a B with decent effort, and an A if you do really well on the exams.
Rating: 4 / 5Difficulty: 3 / 5Workload: 9 hours / week
n/WMWEewMW0+Ra4bHulOlQ==2025-05-19T02:27:07Zspring 2025
Machine LearningThis was the most intensive course of the 4 others I have taken so far (including AI and GIOS). While the projects are helpful in allowing us to explore different concepts, I feel like we needed more time than was allotted to comfortably complete them.
The grading also appears to be luck-based, as certain graders will grade more harshly or better. On Assignment 3 I decided to completely skip a section to save time, but was still awarded with nearly full points for it, showing that at least some of the graders don't do a good job of carefully reading/grading the reports.
I recommend skipping this course if you're not doing the ML spec. If you are, I would suggest starting early on each assignment, and making sure you get the major sections of each report done (even if what you write is surface level or isn't written well). I would also suggest not spending too much time after finishing the writeup to improve the report.
Rating: 3 / 5Difficulty: 4 / 5Workload: 25 hours / week
272C1YZvAFdkEvxZWve4fw==2025-05-18T14:34:59Zspring 2025
Artificial Intelligence Techniques for RoboticsThis is my first OMSCS course. This course is a perfect example of learning by doing. These kind of courses will give you a satisfaction in learning and also boosts your confidence to pursue further courses in OMSCS. Lectures are great, basics are well taught where more focus is on the intuition. Instructor and TA's are well supportive. Projects are interesting where you will be spending most of the time in this course. Sharing the ideas on ed discussion helped me a lot in solving these projects. Starting early is an absolute must as each project has a good weightage on your overall grade.
Overall a great course and recommend this is anyone who is looking for a career in ML/robotics.
Rating: 5 / 5Difficulty: 4 / 5Workload: 12 hours / week
8dIHiq58tQ8NikxHhd5LRg==2025-05-18T13:13:28Zspring 2025
Computing for Data Analysis: Methods and ToolsThis course starts off beginner-friendly but quickly accelerates, requiring strong Python skills and a solid grasp of ML math like linear algebra and probability—or at least the ability to search and apply it effectively. Exams have become progressively harder, so thinking and coding efficiently is essential. I was entirely self-taught and never finished an exam (60%, 80%, 90%), but improved steadily and earned an A—gaining real confidence in Python for data analysis. This course gives you a strong foundation for data analytics programming and independent work. Never give up—and ignore any “easy” comments; those who found it easy likely should have opted out.
Rating: 5 / 5Difficulty: 4 / 5Workload: 12 hours / week
C3Idv8ylYpFDQqlwsq904A==2025-05-17T05:56:34Zspring 2025
Machine LearningI took this course as an elective and recommend it only if you have zero ML experience and are deadset on the ML specialization. I’m happy with my final grade of 91% (A) but spent way too much time for the minimal amount of knowledge gained.
Pros of this course:
Empirical emphasis -- Personally, I already have applied ML experience, so I didn’t learn much in this aspect. However, I think a lot of students benefit from learning empirical analysis of ML. This is the course’s primary strength.
Some of the TAs are pretty good – a few of them really go above and beyond when answering questions on Ed, spelling out more of the hidden rubric requirements not in the FAQs or assignment PDF, responding graciously to complaints, providing much better assignment feedback relative to other TAs
Cons of this course:
Misguided assignment philosophy – this course only teaches empirical analysis and never forces you to build models from scratch or work out any math. Of course, machine learning APIs (scikit-learn etc.) and empirical analysis are important skills to learn. However, these skills are much easier to learn by yourself or on a job. Math and algorithms should at least join empirical analysis to help students reinforce ML concepts. Without them, students often resort to writing only plausible (i.e. not necessarily correct or rigorous) explanations of results. TAs definitely do NOT have enough time to verify the correctness of explanations. Personally, this course did little to deepen my intuition of ML or preparedness for future ML job interviews (situations where I might have to reason about ML from 1st principles on the spot). This course’s assignments don’t cut it for students wanting to do core ML research in the future.
Inconsistencies and low-quality TA feedback – the instructor insists there’s some calibration process to make grading consistent. However, it’s clear after reviewing some of the released “outstanding” reports that some TAs don’t even read their reports since their plots’ font was too tiny and fuzzy to read. After every assignment’s grade release, reading threads of inconsistent point assignments between students was just demoralizing. Personally, I feel like some of the additional feedback I requested was inconsistent with my original feedback. TA only lazily attempted to clarify and presented an incoherent explanation. Other times, the TA’s feedback just seemed copied and pasted.
Lack of any academic standards – I have serious concerns about the lack of standards in this course. The primary course goal is purportedly to teach communication in research and practicum of ML. I appreciate this because clear and effective writing is a highly underrated skill for engineers and data scientists. However, this course fails to deliver on this goal. Some of the “outstanding” reports were grammatically atrocious, contained questionable visualizations, weak analysis and sometimes even incorrect explanations. The course policy permits students to copy code from the internet/LLMs and cite ChatGPT in their reports. What are students being evaluated for? How well they can use ChatGPT? Whether they use the right key words from the hidden rubric?
Course scope is way too broad – this course should follow the same topic schedule as on-campus 7641 or OMSA’s ML course (ISYE-6740) and cut out reinforcement learning entirely – there’s a whole other course for students wanting to learn RL. A lot of concepts are not covered at all in assignments, and others are covered too superficially. Students aren’t tested on topics such as computational learning theory and Bayesian learning until the very end with the final exam. The final exam MC questions are either too easy, only requiring a high-level understanding of lecture concepts, or too tricky requiring you guess the instructor’s particular interpretation and assumptions behind some questions.
Weird faux mysticism in the assignment descriptions and FAQs – not really a major con, just noticed that they sometimes used technical terms in a misleading or unnecessary way.
At the end, I felt like the quality of work and knowledge necessary to achieve an A in this course is not commensurate with a top CS school such as Georgia Tech. The course was just a huge grind and frustrating.
Rating: 1 / 5Difficulty: 4 / 5Workload: 30 hours / week
Jy7GP7iZJBU851z4KuQpbw==2025-05-17T00:09:08Zspring 2025
Human-Computer InteractionThis course is extremely front-loaded, with the majority of the workload concentrated in the first two-thirds of the term. Each week includes intensive assignments, such as 8-page homework writeups, two-hour closed-book quizzes, two-hour open-book exams, and weekly individual project milestones. Additionally, students are expected to review peers’ work and watch 3–5 course videos each week. During the busiest weeks, all of these components are due at once, which can be overwhelming.
That said, I believe the effort is well worth it. The course videos are some of the best I’ve encountered—Dr. Joyner clearly puts significant thought into making the material engaging and accessible. Coming from a purely software engineering background, I learned a great deal about project management and design through this class.
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
Z20xW3/v/uKQQ6NsLlvTkw==2025-05-16T21:20:08Zspring 2025
Secure Computer SystemsI came in without a cybersecurity background at all - overall, this is a broad introduction to lots of security concepts related to files, networks, distributed systems, access management, Linux policies, etc.
Some of the material I found a little too theoretical, but a lot of the info is good knowledge for anyone in the software/cloud space. I actually would recommend taking the course.
Now, for the course itself - I didn't find the workload too bad. There are quizzes every week, and most of the questions are from lectures but a few here and there are from readings. If you watch the lecture videos - even without doing the required readings, you should be mostly fine.
Assignments are all doable, and conceptually not that challenging. P1 - P3 can all be done in one sitting. Out of these three, one of those projects is made optional if you are satisfied with your grades for the other two, because the lowest grade in these three is dropped. So if you get 100 and 100 on the first two projects, don't bother doing P3. Use this to manage your time to do exam prep instead, because the exams are brutal. P4 is the biggest, and most time consuming, and should be started early. However, I didn't find it overwhelming at all, and it can also be done in a few sessions if you grind it out. Assignment grading is pretty fair and lenient.
Now, the exams... Exams are closed note, closed EVERYTHING and fully free response. Each question has multiple parts, and each part has multiple sub questions to answer within it. It was honestly annoying. The questions are all scenario based as well, so it requires a really solid understanding of the material to do well.
Fortunately there is a curve at the end of the course because the exams are generally where people struggle. Make sure to manage your time well on the exams and avoid spending too much time writing a whole essay response for one question!
I would say, with moderate effort and low-moderate time commitment, this is an easy-ish B but difficult A. You can breeze through the quizzes and assignments, MAKE SURE to spend most of your time prepping for the exams.
Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / week
QR7oWgFsn5U8MSVE+lpbaA==2025-05-16T04:46:54Zspring 2025
Machine Learning for TradingCourse material is interesting if you're into finance and the stock market in general. Like others mentioned, the course covers a broad variety of ML topics all while also learning how to work with historical stock data.
For me all the projects were time consuming. I do work a full time job so late nights and weekends were sacrificed to complete everything on time. Exams are also challenging as all the questions are true / false with multi select so knowing the material extremely well is a must.
Overall I would say the course is very good, the projects all line up and are put to use at the end for project 8, but the workload is tough. This was my first OMSCS course so that may be a factor, but I spent a lot of time taking notes, watching lectures, and working on projects/reports. I would say lectures/readings and note taking 20%, projects 80%.
Ended with an A but worked hard for it
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
A6oS5FMkKSP9EWQgsSf5hA==2025-05-15T18:23:50Zspring 2025
Human-Computer InteractionThis was my first OMSCS course and I finished the course with 96.67. The concepts in this course are quite easy, though the early and middle portions of the course can be quite heavy workload-wise. The concepts are quite helpful to consider when developing software and they have subtly altered how I view software and other devices that I interact with on a day-to-day basis.
Every aspect of this course is well-organized. I appreciated the various forms practice--i.e. homework, quizzes, projects, tests--since they helped develop a thorough understanding of the concepts.
Should be an easy A if you manage your time effectively.
Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / week
KZVOAsUiCcRYWvy589p1bA==2025-05-15T00:34:34Zspring 2025
Graduate Introduction to Operating SystemsI have 3 years of experience in software engineering at a start up. This is my second-ish course in this program. Last semester, I took IIS and the data structure & algorithms seminar. I don't have any C or C++ experience. I was not a CS major but I took some basic computer science classes during my undergrad at one of the top universities for computer science. I did not take an OS class. I had a lot of difficulty with my undergrad cs courses and was weeded out.
This course was really difficult for me. I did end up barely getting an A thanks to the curve. I did great on the projects but was always below the average on the exams. You need to do get at least the average on the exams and score well on the projects to guarantee an A. You will be borderline if you get below the average on the exams and do great on the projects.
I never had great study habits which made studying for the exams even harder for me. I also underestimated how difficult it would be. The questions are minimal. The first exam is easier than the second (final) but don't underestimate the first exam. The material for the first exam could be considered dense if you are new. The material for the second half is even more dense. Despite how much material there is, there are no homeworks to help you understand them. They have great lecture videos with timeless content but some of the instruction are out dated. The exams are unforgiving in that there are not much questions and missing one will tank your grade. Study for them early (at least 2 weeks before).
The projects are very difficult but doable if you have the time and start early. It's easy for life to get in the way and derail you but the curve is once again very generous and accounts for it. I'm lucky (also unlucky) to be unemployed right now as it grants me the free time to complete these projects. If I was employed with my limited background experience, I doubt I would be able to keep up. However, there are many people who do this course with a job just fine.
Rating: 5 / 5Difficulty: 5 / 5Workload: 50 hours / week
TMx0y4htLJTB/m2JvjvATQ==2025-05-14T18:09:02Zspring 2025
Introduction to Theory and Practice of Bayesian StatisticsI come from an industrial engineering background for my undergrad. Even though I had learned statistics in college it was mostly in classical statistics. The material itself is very interesting and I learned a lot.
However, the format left a lot to be desired and made it really hard to learn. The professor's recorded lectures (esp after the midterm) are in an old language, so the code walkthroughs aren't helpful, and so you have to self-study PyMC by yourself.
Aaron and the TAs are very helpful though, like many others mentioned in their reviews, and definitely make the second half of the class understandable.
Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week
K8R3ri6mW0RLJgp/kwHRiw==2025-05-14T01:17:16Zfall 2024
Video Game Design and ProgrammingIf you want to learn Unity and C#, you can do that on your own; the only truly unique experience this course provides is the group project. If you want to be forced to actually develop a game instead of just thinking about it, I suppose this course is for you. It's a nice course to pair with another harder course, but do keep in mind that it may consume a bit of time (depending on your teammates, of course).
Rating: 3 / 5Difficulty: 2 / 5Workload: 12 hours / week
K8R3ri6mW0RLJgp/kwHRiw==2025-05-14T01:12:06Zfall 2024
Advanced Topics in Software Analysis and TestingThe course is well-run and was a fantastic first course for me. The topics did not all feel very practical; some were clearly purely academic. However, the assignments were stimulating and I enjoyed them. I especially enjoyed getting a look under the hood at the kinds of static analysis your IDE does for you. The course is largely auto-graded on Gradescope with an Honorlock final.
Rating: 3 / 5Difficulty: 2 / 5Workload: 12 hours / week
K8R3ri6mW0RLJgp/kwHRiw==2025-05-14T00:58:01Zspring 2025
Machine LearningTL;DR: Only enroll if doing ML spec. First understand how to game the assignments (good tips available from past students). Read reviews and check out student blogs and notes.
Notes: https://teapowered.dev/assets/ml-notes.pdf
CLAIM: The course is hard. RATING: Mostly FALSE REASON: The time commitment is high, but final grade cutoffs are generous. If you submit all of the assignments and attempt the final, you are guaranteed a B. If you invest effort, you are guaranteed an A. I finished with a 81.1% = A.
CLAIM: The course is time-consuming. RATING: Mostly TRUE REASON: Student estimates are bloated. Assignments may take you 40+ hours; however, I estimated my own numbers and got 12 hours per week overall. Many reviewers are providing a "peak load" value rather than an average over all weeks of the semester.
CLAIM: The course is rigorous. RATING: PANTS ON FIRE! REASON: Many students misuse "rigorous" to mean "laborious". Formal proofs and derivations are provided in readings, but are de facto optional. They are not evaluated in the assignments (in which completeness matters but correctness does not), nor the final (which is high-level and quite easy, if you gained a basic intuition of concepts and memorized vocab words). In assignments, whether your implementation and analysis are technically correct does not matter - no one will know if your code is wrong, and no one will think critically about what you write. They only check for mention of required topics in each report section, and plots.
CLAIM: Assignment requirements are unclear. RATING: TRUE REASON: You will read a vague assignment PDF, slightly less vague TA FAQ, and spend hours gathering scraps of intel from subtle hints dropped by TAs or the prof in Ed or Office Hours. I generally spent around 3-5 hours 'doing recon' before starting each assignment, making a checklist, essentially trying to reverse-engineer the hidden rubric. Whenever they "suggest" you include something, they actually mean it is a requirement and is on the hidden rubric.
CLAIM: The assignments are open-ended and encourage exploration. RATING: PANTS ON FIRE! REASON: The apparent open-endedness of the assignment descriptions is misleading. You are graded against the hidden rubric, which has very specific expectations. Do not get creative - you will waste precious page space doing something you will not get points for. Instead, do exactly what they "suggest".
CLAIM: You will learn how to do Machine Learning. RATING: Mixed REASON: No practical skills are taught. You will learn some foundational theory in the field. You will not have time to learn in-depth (again, NOT rigorous, NOT proof-oriented, NO evaluation of technical correctness, NO math comprehension required) - all of your time will be dedicated to just completing the assignments.
CLAIM: The lectures are bad. RATING: Mostly FALSE REASON: The Isbell/Littman lectures are effective and pleasant to listen to; however, they are not very dense and I understand those who say they are a waste of time. Watch on 2x or skip and instead read the Teapowered notes.
CLAIM: Grading is based on RNG. RATING: Mostly TRUE REASON: No, they don't literally roll dice; but all TAs grade differently. I think the grading is designed to even out by the end of the course, so that this effect is lessened; but is confusing and demoralizing nonetheless. My experience:
CLAIM: The course is improving. RATING: Partly TRUE REASON: The professor continues to gradually rework the course with clearer communication and reduced workload. I think A3 and A4 have been rewritten with clearer requirements than A1 and A2. However, the hidden rubric and other systemic issues are here to stay. Value for time remains extremely low.
Rating: 1 / 5Difficulty: 2 / 5Workload: 12 hours / week
rpAHA6YUtihUHkejGN+aZg==2025-05-13T19:15:38Zfall 2024
Introduction to Cognitive ScienceA good choice if you want to :
Pros:
Cons:
Rating: 4 / 5Difficulty: 2 / 5Workload: 6 hours / week
d3eVBAwQdb8Rfx/qdWkkyQ==2025-05-13T18:52:48Zspring 2025
Big Data Analytics for HealthcareQuite easy to get an A, very easy to get a B. Homework code is graded using an autograder, so you can just resubmit until correct.
Definitely a lower workload than previous reviews suggest, but very front loaded (the final paper was more chill). If you don't come in with strong coding experience, you will struggle on the HW because the course offers no guidance. The lectures only discuss theory, and the HW are skeleton code you have to figure out. I felt like the HW was just me bashing my keyboard until the autograder passed.
Horribly organized course. Instructions for almost everything were unclear, and TAs were unresponsive. The final felt more like random trivia than an evaluation of our understanding. There's no guidance on how to study, and it included topics from the "optional" labs and several things that were never explicitly covered. The other assignments are graded pretty leniently, so try to get 100s on all the homeworks to have some leeway here.
The assignments were:
TL;DR: Poorly organized course, but easy to do well if you put in the time (or have lots of ML/DL coding experience). I got an A but feel like I learned almost nothing.
Rating: 2 / 5Difficulty: 3 / 5Workload: 13 hours / week
+6daAPKfecHcJhiA7Axm4Q==2025-05-13T17:28:16Zspring 2025
High Performance ComputingVery challenging course, as others have said. Start projects early, and don't leave your performance testing to the last minute. Project 1 particularly took me a long time to understand and complete, and had many students competing for the cluster near the due date. Exams were HARD. Since I was going for an A, I rewatched all lectures and attempted all of the provided example questions prior to the exams.
Having said that, the course is well run, and got more enjoyable near the end. TAs seem to care and are encouraging. There are weekly office hours and paper discussions, making this course feel a bit more alive and less like you are trying to figure this stuff out on your own.
Overall, I ended up with an A. I feel that if you truly put in the effort to succeed by doing well on projects (90+) and actually learn the material for the exams, you should do very well too. Just make sure you come in with a working knowledge of C (GIOS was good prep for me), and be very comfortable debugging your code.
Rating: 5 / 5Difficulty: 5 / 5Workload: 22 hours / week
w1SovK8k43rCPMHj+/qlzg==2025-05-12T20:27:39Zspring 2025
Deep LearningGreat course, I got a lot out of it, I would definitely recommend.
I ended up with a B as I've got other things going on in my life and I decided that some things are just not worth it.
Review
Lectures: Very useful at the start when there is more math involved, I didn't find the facebook lectures or the lectures for project 3 or 4 very useful and I eventually stopped watching them.
Quizzes: I studied pretty well for the first one and got 70%, then didn't really study for the remaining 3 and did bad on them, this was the area of the course that I decided was not worth my time/energy, so I did poorly and got a B because of them, but I'm fine with that.
Assignments: I really liked the first 2 Assignments, I thought that they were great and I learned a lot. Maybe I started to burn out by project 3/4 but I didn't get as much out of them. Part of the problem was that you can pass the test cases and still not really conceptualize what is happening, but I think that the project on transformers is valuable, just to have some hands on experience with them.
Final Project: I loved the final project, which I think is unusual from what I've read. I proposed to my group a project that would be applicable to my current job, so I ended up getting really into it and reading a bunch of papers and really trying to make it work. It was fun and exciting because I felt like I had something to gain. My group was fine, I did most of the work, which I didn't expect to do. I don't think that group project work is every really spread evenly so that was ok.
Overall I took so much away from this course: I feel confident working with deep learning models and reading research papers to stay on top of the latest developments. I also have become really interested/passionate about this topic.
I spent around 20 hours a week a few times, before assignments were due, some weeks I put in very few hours, but most around 10-12. So maybe an average of 14 hours per week. But, I also completely neglected the quizzes.
Rating: 5 / 5Difficulty: 4 / 5Workload: 14 hours / week
6v6NWG6Kl/hPv2eJJuS8gA==2025-05-12T03:56:41Zspring 2025
High Performance ComputingTaking HPC felt like a real level up intellectually, but was also incredibly humbling. It's impossible not to be impressed by the genius behind some of these parallel and distributed computing algorithms, and it's scary to think about how clever the people who thought them up must be.
The labs were the most fun of any class I've done at OMSCS (with the possible exception of the RAIT projects). Chasing those performance scores had kind of a gamified feel, and whenever I scored full marks on one of them it was super satisfying. As I think some others have mentioned, the grading on these labs is not as finnicky as the GIOS projects, and it feels like you can concentrate on the meat of what you're supposed to be doing rather than spending endless hours testing for weird edge cases.
Time management on the labs was extremely important. When you get close to the due date, the PACE cluster gets jammed up with traffic, so you really need to get your work done several days ahead of time if you want a good score.
The tests were incredibly brutal, and despite having heard this ahead of time I was initially caught unprepared. Some of the questions on the midterm were so hard that I started laughing at them. This at least motivated me to try a lot harder in the second half of the class, and I was able to score close to the median on the final exam and then finish the class with an A due to high scores on the remaining projects and an ok score on the extra credit. So if something like this happens to you, and you have some solid programming skills, stick it out and you might do all right in the end.
Dr. Vuduc's lectures are excellent, though quite dense at times. I occasionally found myself rewinding the same 30 seconds of video half a dozen times to grok his points. The material is very different from a systems design class like GIOS, and requires more mathematical maturity and familiarity with analysis of computational complexity.
I remember when I started at OMSCS and I was looking through the course catalog, I figured that I would never in a million years try taking something like HPC. It just seemed too hard, and too different from the kinds of programming that I was comfortable with. I'm glad I had the guts to try HPC, as this class 100% lives up to it's reputation as one of the best and most challenging classes in the OMSCS program. I am also glad that I took the prerequisites seriously, as going into HPC without prior knowledge of algorithms and C programming would not have been a great idea.
Rating: 5 / 5Difficulty: 5 / 5Workload: 22 hours / week
25sNECyoohtQtPinNu8eww==2025-05-12T03:10:55Zspring 2025
Software Development ProcessOverall: I thought this was a good first course. The course takes you through many different software development paradigms and software patterns - agile, waterfall, scrum, x-treme programming, factory pattern, strategy pattern, etc. The assignments teach you a lot of skills you may not know if you don't have a background in CS. The lectures holds your hand before your assignment journey. The office hours are nice because the instructor answers whatever questions are commented in the OH thread.
Assignments:
The first assignment is a simple survey to figure out team placements, which you get after the first 5 assignments are submitted.
The second assignment is a simple github introduction. If you follow all the directions as stated you'll be get 100%
The third assignment is a simple Java coding exercise. It should take you a couple of hours if you haven't done any serious Java coding. Maybe two hours max if you've previously done Java development. Not too difficult conceptually to handle. All it is asking you to do is encrypt and decrypt a message stored in a java class.
This assignment introduces you to Android Studio. I strongly recommend you go through the accompanying lecture and replicate the instructor's actions. That way, you'll have a strong background to be able to do android app. On the coding side, all you need is to copy and paste the third assignment over and make a responsive UI, which you learn in the tutorial lecture.
The fifth assignment asks you to layout the design wireframe/UML for the app that you'll create with your group mates. This shouldn't take you too long. You'll be discussing it with your teammates soon enough.
Group Project: For this group project, you create an app that tracks and compares different job offers. The first two weeks of the project require you to sketch out a couple different diagrams on how testing, UI design, use-case design, and component analysis will go. The lectures give you an example of each of those diagrams. The next two are a speed run of building the entire app. Please make sure you stash away a lot of time to complete the app. It is difficult to get everything done in a week or two.
Individual Project: The individual project focuses in on the testing unit of the class. They have you use their testing generator - which is an interesting tool. One I might actually incorporate into my own job. This project has you implement the mutate text operation of the cli tool box. Ordinarily, this would be about a week endeavor. However, they require you to use the testing framework and build tests which they give you two weeks to do.
Assignment 6: The last assignment you do involves the testing unit again. They present you a bunch of hypotheticals that cover certain testing metrics. Then ask if the testing metrics encompass other ones in attempting to find an error. Becareful reading the instructions on this one. You might also want to attend office hours.
Grading: Grading is relatively chill. Many of the assignments have auto-graders, so you'll know your grade as long as there isn't a academic conduct violation. The grades are curved a tiny bit at the end, but I think it's just a couple of points.
Rating: 4 / 5Difficulty: 3 / 5Workload: 8 hours / week
6v6NWG6Kl/hPv2eJJuS8gA==2025-05-12T02:53:12Zspring 2025
High-Performance Computer ArchitectureHPCA was a very interesting class about computer architecture. The kind of effort required to succeed is very different compared other OMSCS courses that I have taken. Most of the time I spent was on closely following along with the lectures rather than doing the assignments. There is just a ton of content that you need to understand to do well on the exams, and that understanding has to be pretty deep.
The projects were not my favorite of any class in the program, but they were relevant to the material and made me think, so I guess I can't complain about them too much. I'm not sure how you could really improve on them given the subject matter of the course.
Although the tests were hard, they were super relevant to the material you are learning, and not full of stupid trivia or gotcha questions. As some other reviews on here have mentioned, the grading felt extremely fair.
Dr. Prvulovic actually showed up at all of the office hours that I attended, which is really unusual for a professor in this program. It was awesome getting to ask him not just about the lectures and assignments, but all kinds of crazy questions about computer architecture. He is clearly really passionate about the subject he is teaching, and definitely got me excited about learning more in the future.
As many have mentioned before, Nolan is an excellent TA, and all of the TA support for the tests and assignments was comprehensive and well organized.
Overall, I am really glad that I took this class despite it having been more difficult and time consuming than I had anticipated. I definitely learned a ton about an important layer of the computing stack that I was not previously familiar with.
Rating: 5 / 5Difficulty: 4 / 5Workload: 17 hours / week
uqeoKJanJAbD0MamIULgLA==2025-05-12T02:40:18Zspring 2025
High-Performance Computer ArchitectureI enjoyed this class, first class on OMSCS. Classes are fun and engaging. Labs are somewhat challenging, depending if you know a little about C++ with respect to classes and inheritance. For the exam, do the practice test and quizzes.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
q1OtR7SeuWDekbBCKyw0Ig==2025-05-11T18:30:42Zspring 2025
Reinforcement Learning and Decision MakingFirst course of my OMSCS journey. I was in sync with the learnings and lectures for the first month or so, but with so many different papers and algorithms and mainly, the projects, it all went to he'll soon after xD.
The lectures are quite useless, and overly theoretical, but in the initial stages, did help in building some intuition. The projects were super hard and stimulating, and required 50+ to complete, with a paper-style report for each. I got carried by David Silvers lectures in the first half of the course, after which it was mostly about reading papers and the textbooks.
Supplementary lectures and reading material were 10/10 and were super relevant to the projects and the theory. The TAs were also super helpful for any doubts(special shoutout to Uzair for the final project) in the office hours. I feel like there should be more emphasis on the code as well for these projects. The current grading system is almost entirely based on the report, which seems weird, considering 90% of the project time is spent in the code and the different things attempted in the code. It kinda makes sense, as we were asked to implement existing algorithms from scratch, but there should be more weight to the coding aspect of the project, than just the report.
Overall, I enjoyed the course, and enjoyed the gruel it put me through. My final raw % was 83.2 and I was able to bag an A, but mind you, it was a very hard-earned grade. I suggest that people take this course on its own and not along with any other course. I am a full time software engineer so this course really tested my limits. Happy Learning! ;)
Rating: 4 / 5Difficulty: 5 / 5Workload: 20 hours / week
L8rtcPlgYn6PpK+IBXsk9Y6emiUi/+68ZO/1IO61CR8=2025-05-11T02:17:53Zspring 2025
Special Topics: Financial ModelingAbsolute waste of money and time. Not sure how this course was allowed to be part of masters program. All you do is spend hours every week filling blanks on Excel worksheet, blindly following the lecture videos from 2017. Most of the questions on the class forum is answered by TA saying "just follow the lecture video step by step."
They really should rename the course to "Typing accounting numbers on Excel sheet."
If you enjoy filing tax return, by entering numbers into a form one by one, copying W2 form, then you will love this course.
The worst part is they force 4 mandatory group projects, for which 60% of your grade depends on. You have to complete many pages of massive Excel worksheet as a team. There is no automation, no coding, nothing. Just everybody typing in numbers to several hundred Excel cells. But those cells depend on each other. So if your team mate made a mistake, your cells get messed up.
There is no curve. The professor went on a rant to say how she does not believe in a curve. So if you must get your team projects done tightly. Overall so much stress from tedious work with no learning.
Rating: 1 / 5Difficulty: 4 / 5Workload: 15 hours / week
HrG0Zfb8fR+0nlhdAocDQQ==2025-05-11T00:02:28Zspring 2025
Game Artificial IntelligenceOverall good course. No exams as of spring of 2025. Most of the lecture content is not completely necessary to understand the assignments. The quizzes are open note and have no weekly deadline so you can do them until the end of the semester. Was able to get an A by doing well on the assignments and using notes on the quizzes.
This is a good course to take with something else more difficult.
Rating: 4 / 5Difficulty: 2 / 5Workload: 6 hours / week
XzosBcdhnDW15JHR+dckJw==2025-05-10T06:51:37Zspring 2025
SimulationCS undergrad and took discrete math, calc, stats 1 and stats 2, so most of the math felt pretty basic. The early modules especially (like 1 through 4) just go over concepts that probably should’ve been prerequisites. A placement test at the start could help filter that out and let the course go into more advanced content sooner.
Later modules (7–10) were much more interesting. Unit 7 was a standout—I had no idea that taking the ratio of two standard normal variables, like those generated via the Box-Muller transform, produces a standard Cauchy distribution, which helps explain the undefined variance of said distribution. There were some real gems like that I’ll be telling people at parties;). You could tell the professor was really into it, especially in the second half. He kept saying things like “this is my favorite topic,” and you could genuinely feel his excitement.
The exams were kind of underwhelming. Most of it felt like high school-level stats problems, with a few random Arena simulation questions tossed in that didn’t really connect well to the rest of the material. Like how is it important to know what shape this particular button is, or whether function X can be found in spreadsheet A or not.. And for all the focus on calculator rules (like half of the questions TAs answer are about them), I honestly think every exam could’ve been done without one. Maybe in the future try no calculators or just the honorlock/desmos one. If you also provide basic formulas and ban cheat sheets, I bet TA workload would drop by 25%.
Finally, instead of adding arena trivia to exams, turn one of them into a proctored simulation project? Something open-book, but no LLMs allowed, where you have to create and analyze a couple simple simulations similar to those in the lectures. That would feel way more relevant and give people a chance to apply what they’re learning.
Overall, the professor himself is a solid 5 out of 5. Might actually be the best one in omscs I've had so far.
Rating: 3 / 5Difficulty: 1 / 5Workload: 7 hours / week
AqdW0TmiDdSgsdG+xFWuYA==2025-05-10T02:40:26Zspring 2025
Data Analytics in BusinessAs part of the first cohort to experience the updated course materials, I found this class to be well-structured and thoughtfully designed. While many of the models will be familiar to those with a background in Data Science or Statistics, this was the first time some of them truly clicked for me—more so than in other courses.
Here’s how I typically approached the weekly work:
(1) Video Lectures: The weekly videos averaged about 90 minutes (ranging from 60 to 120 minutes). I usually spent 3–4 hours watching them slowly, pausing frequently to ensure I fully understood the content and to look up any difficult concepts.
(1.1) The final video each week was a demonstration of an R exercise. I always replicated the entire exercise on my own machine, which helped reinforce my understanding of what the code was doing and why.
(2) Assignments: After watching the videos and completing the R exercise, the assignments typically took 1–2 hours. They closely followed the class demonstrations, so you could often reuse much of the code structure presented in the videos. 2 assignments are due every 14 days, you could technically do both at the same time the second week, but I highly recommend doing 1 per week.
(3) Quizzes: These included both numerical questions (based on assignment outputs) and reasoning questions. The final few questions in each quiz were usually more conceptual and required careful reading and reflection. I spent about 1 hour on each quiz.
(4) Piazza: I spent about 30 minutes per week reviewing threads. The level of Piazza activity was moderate but certainly not overwhelming.
One of the most valuable tools I used during this class was ChatGPT. It helped me understand many of the mathematical equations and concepts that would have previously taken hours to research or ask about. Used well, AI tools like this have enormous potential in education, especially for exploring examples, getting clarifications, and breaking down complex ideas. I feel a lot more empowered now to take algebra-heavy classes after this experience.
Quizzes were open-book and untimed, which removed a lot of pressure and allowed me to focus more on learning than on time constraints.
Final Thoughts: This class can be as challenging or as manageable as you make it. If you aim to deeply understand every formula and statistical derivation -like I did-, it can be demanding. But if you already have a strong background or focus more on the conceptual understanding and takeaways, the workload is lighter.
Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week
I6s4l1Wyh9NOIGQrVhmXug==2025-05-09T17:39:18Zspring 2025
Advanced Operating SystemsTough course, Definitely front heavy but the pace slows as course reaches the end. Hang outs are good to summarize the lessons. Stay consistent and put the time in. If you can get past project 1 and exam 1 comfortably. Continue that effort and.. that is it.
Good TAs, Good Course.
Rating: 5 / 5Difficulty: 4 / 5Workload: 16 hours / week
ZduXZVe+NcBIRDua2dy92A==2025-05-09T17:38:53Zspring 2025
Deep LearningTLDR: (I’ve re-read the review below and realized that it is not going to be very useful to the general public, so here is the summary) If you are a working ML/DL profession and OK with math, it’s going to be a manageable course for you If you are not an ML/DL profession but OK with math, prepare to spend an enormous amount of time to succeed in this class If you are an ML/DL profession but your math is rusty, you will likely struggle with the theoretical portions of the assignments and the quizzes but still have a good chance to do decently. I would not take this class if you are not an ML/DL profession and your math is rusty. A practical advice: if you don’t have your own GPU (or access to one otherwise), try to get comfortable with the PACE cluster as early as possible. I made a mistake trying to complete all the individual assignments on a CPU and only got accustomed to the PACE cluster for the group project. Should I learn how to use the PACE cluster earlier, I would likely succeed better in tuning the parameters for the NN’s implemented for the individual projects.
Full review:
I have mixed feelings about this class. I learned a lot, but it has definitely been the hardest and one of the most stressful courses among the five I took so far (the other four: AI4R, KBAI, ML4T, AI). For someone with academic background in STEM but without practical ML/DL experience, this class has been much harder than AI.
Assignments: very difficult (especially for someone who has never used pytorch). Plus, it was taking a lot of time to understand what needs to be done. PDF was often referring to the instruction in the code but the later were very brief, w/o any details. Also, each assignment (accept from the last one) contains theoretical questions (sometimes rather though) and a paper review.
Quizzes: they were adding to the stress and honestly not useful for understanding the material. I studied similarly for all of them but was scoring anywhere from 40 to 87%.
Lectures: not very useful either – the slides were schematic, w/o much information on them, and the professor was talking very rapidly, so it was really hard to follow. Consequently, I was mostly using outside materials to get a grip on the concepts.
Group project: I nearly skipped this class because of the group project that I really did not want to have but ironically it turned out to be the better part of the experience – I guess I got lucky with the team, everybody was contributing, and the collaboration was quite constructive – I feel we all learned from each other and managed to get the maximum score for the report.
Overall experience: It is just too much. If one tries to listen to all the lectures, attend all office hours, read all the supplemental materials and the posts on the discussion board – this is a full-time job just to take this single class. Also, because the information is being passed through so many different sources, you inevitably miss something.
On the positive side, the class helped me to develop some intuition about the cutting-edge technology: convolutional NN, transformers, generative models. For that I’m grateful. I need to think how I can use these tools in my work, otherwise I’ll forget everything very quickly.
I got an A in this class, even with some small margin but it was not clear at all what grade I was going to get, especially due to some arbitrariness in grading the report portions of the assignments and my random quiz grades.
Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week
lmu6hiUmzO5CsDhekRfmTg==2025-05-09T16:05:09Zspring 2025
Machine LearningToo much content for a single semester long course, some content doesn’t have relationship with each other at all. The lecture recordings aren’t really helpful. The office hours are helpful since the teaching staff make the assignment requirements ambiguous on purpose, which increases the course load.
Rating: 2 / 5Difficulty: 4 / 5Workload: 40 hours / week
0VarVHQOP+Gjd1Cz61euWg==2025-05-09T03:05:08Zspring 2025
Machine LearningBackground: This was my 10th course in the program, and I have a Bachelor’s in math. I took a machine learning course several years ago and have taken a couple of AI/ML related courses in OMSCS.
Overall, I received an A, and I learned a ton. In other courses I’ve taken, you just need to implement an algorithm, but this course required that we analyze the results of our implementation in depth. The assignments are challenging, but they force you to understand how ML algorithms work, in what situations they work, and when it is best to use these algorithms. I really enjoyed the assignments, though information on the assignments was somewhat scattered. We had to use the assignment instructions, FAQs posted on Ed, and information from the office hours in order to complete each assignment. As the semester went on, the assignment instructions became more in depth, and I had to rely less on the FAQs and office hours. TJ and the rest of the course staff seem to have made a lot of improvements to the course and are continuously trying to improve the course. There was some talk from students about the grading being random, but I didn’t experience that. Four different TAs graded my assignments, and all my scores were within 4 points of each other. Given all the improvements made, I would recommend taking this course, but I would also recommend having some experience with ML and data analysis before taking this course as this is not an introductory machine learning course. We were expected to know how to perform data cleaning, processing, and analysis and how to work with sklearn and other machine learning packages. While these skills can be picked up during the semester, the assignments will be easier to complete if you have some experience with ML before starting the course.
Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week
UVzuF9Uo7P3Zzd/XOmKE/w==2025-05-08T22:17:44Zspring 2025
Reinforcement Learning and Decision Makingthis is a follow-up to my previous post - "UVzuF9Uo7P3Zzd/XOmKE/w== " pretty lucky that I got an A even though my raw grade is around 80. ultimately I think what happened is that the curve is percentile-based, and half of the class gets an A and the other B. so if you care about grades, it's still fine to take it assuming you can be the top 50% of the surviving students. also like others said, the final was pretty ridiculous and I got ~60. the mcma format is also bad as it incentivizes you to be cautious and not select any choice you are not confident in.
Rating: 4 / 5Difficulty: 5 / 5Workload: 15 hours / week
dsjsxn4tDZErhMUUia3pbw==2025-05-08T15:37:55Zspring 2025
Modeling, Simulation and Military GamingThis course is generally straightforward. In the first part, you’ll complete a series of forum-style reflections; in the second part, you’ll work on a group project modeling a battle scenario. While the usual group-project headaches apply, the assignment is simple enough that you could tackle it solo if needed. The only real snag is NetLogo. It’s easy to pick up but hampered by spotty documentation and idiosyncratic syntax, which can be frustrating at times.
Overall I think it's very possible to take this with another course, and it would probably pair well with something hard as long as you don't get a bad group.
Rating: 4 / 5Difficulty: 1 / 5Workload: 6 hours / week
ErW3R9C1ZwReAtI96bl9Jg==2025-05-08T08:05:37Zspring 2025
Reinforcement Learning and Decision MakingI finished with a B.
Overall, I learned a lot and ready to handle real projects in Reinforcement learning. The reviews here are correct. However, I think with good lectures, the difficulty of this course would drop significantly. I watched the lectures by David Silver and those prepared me for all projects and quizzes but not for the final (that’s why the B). However, the final is wierd anyway and nobody does well, so don’t worry about it too much, make sure you are always above the median in all projects and you will get at least a B.
The projects are nice but creativity or learnings are not really rewarded, I got points deducted because an important plot was not exactly as they asked it (I think I took training episodes instead of training steps as x axis). So only worry about what they want on the project description, nothing else.
The LLM to study was terrible, I don’t think this is an effective to study.
Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week
HEgP3uohxFl0KsOLnijblg==2025-05-08T00:52:09Zfall 2024
Machine Learning for TradingThis was a very interesting course, great primer to ML concepts. The exams are fair and tests your conceptual knowledge. I wish they lean less heavily onto the "finance part" since the financial concepts introduced can be overly simplified. Overall its a great class, very fun, I in particular liked the final project.
Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / week
HEgP3uohxFl0KsOLnijblg==2025-05-08T00:47:03Zspring 2025
Artificial Intelligence Techniques for RoboticsThe course was exceptional, ranking among the best offerings at Georgia Tech. It was well-organized with a logical structure throughout. I echo the appreciation on how the course maximizes learning while minimizing pain!! The course policies are reasonable and create a sensible learning environment. For example, this term students can make two attempts at exams, with questions randomly drawn from a pool so they likely won't encounter the same questions twice. This approach reduces exam anxiety and allows students to focus on demonstrating their knowledge of the material rather than worrying about performance pressure. The only critique is a matter of personal preference. The course content could be more challenging. While the concepts taught, such as graph SLAM, are intrinsically complex and intriguing, the course requirements don't necessarily demand deep exploration of these topics. However, this limitation is offset by the opportunity to earn bonus points through completing engaging hardware projects and research challenges, which allows motivated students to pursue more advanced applications of the material. Overall this is an excellent course.
Rating: 5 / 5Difficulty: 2 / 5Workload: 20 hours / week
+NfsmOnmhOqDqKPw/3bbew==2025-05-07T19:47:41Zspring 2025
Special Topics: High-Dimensional Data AnalyticsThis is my 7th class taken in OMSA (taken iAM, iCDA, DAB, SIM, CDA, and Digital Marketing prior) and most of my experience with Python/R comes from this program. This was by far the hardest class I've taken and I'm definitely glad its over with.
Most of the content is really interesting especially the image manipulation assignments, but if you haven't taken DO like me then the optimization modules might end up killing you. You get two weeks per homework so that about a month of time spent working on the optimization homeworks were the most intense it got. But given that we have two weeks to work on everything I still don't think I ever got to more than 20 hours of work for this class in one week. Some assignments I could even do in the week we got so that really brings down the average time spent per week.
The sample code comes in Matlab, Python, and R and the slides/videos all use Matlab. I feel like in some cases it was more convenient to use R but other than that I mostly used Python which is what it seemed like most people used. I feel like it could've been helpful to know and use Matlab for the class since the class was taught with it but it's definitely doable with any of the languages.
Each TA had several office hours they held each week and the ones with attendance got recorded. They were mostly Q&A sessions about topics in the slides or to go over exam problems. There were times where I felt like information from one TA was contradictory with another and had to wait a few days for that to get cleared up. Initially they did help people if they showed them their code but they eventually announced after the first 1-2 HWs that they wouldn't be helping with code but just understanding topics, after which the attendance for OHs went down by a lot. They only recorded sessions if people went so there weren't that many recordings by the latter half of the class but they were mostly answering questions on Ed. Also I think a previous review from 2022 mentioned a TA was pretty generous with their hints, I would say if you were to take it now that might not be the case and you should expect to search for resources and aid on your own.
There were occasionally typos in the slides and homeworks and there were 3 incidents I remember of assignments being released late ( 1 of which supposed to released on a Monday that was a Federal Holiday in the US and 2 being exams) and only the exam 2 had received an extension since there were issues with the files to be used as well.
Despite all the issues, the TAs were EXTREMELY lenient with their grading which I do appreciate. I think halfway through the class I was resigned to just accepting a C but somehow I barely ended up with an A. As long as you try your best to answer every question to the best of your ability, you shouldn't lose too many points.
In comparison to the other stats options, I don't think there were other classes I would've rather taken since REG has bad reviews and I prefer assignment based classes so I would probably take it again if had to pick again. I think the best way to take this though would probably be taking DO before this (which I don't plan on taking) or taking this in the summer so the optimization models get dropped. This class gets referenced as Machine Learning 2 a lot with CDA being called Machine Learning 1 and I'm not sure if that's the best way of seeing this, although the class was interesting it's more niche so I'm not sure if I'd use the content in this class as much as one might from CDA.
Rating: 3 / 5Difficulty: 5 / 5Workload: 15 hours / week
HJEEbpT4HOG6r7CYHNUkRg==2025-05-07T18:32:09Zspring 2025
Artificial Intelligence Techniques for RoboticsThis was my first course at the OMSCS, recommended to me to get used to the format of GTs online courses, and it was a great first choice. It's very project heavy, which is great for my ADHD brain that loses focus during exams. Everything is very fair and the TAs are super helpful in Ed Discussions, even making tutorials to help you out with each assignment and clarify common questions.
I did pretty well in this course, got a high B, because I didn't have enough time to properly complete one project, due to personal reasons, but it's very easy to get an A in this class if you do all the projects and score over 90% on most of them.
Everything is graded through gradescope, you know exactly what you're going to get, baring any TA intervention, which is rare. I recommend this course for those starting out or who want a chill semester, but still want to program. It's a lot of fun.
Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week
RJnVGg81f1ifSy69onW2IA==2025-05-07T18:25:40Zspring 2025
Introduction to Computer VisionThe assignments were frequent and miserable. The test and final project were fine. I got an A.
I'm an experienced computer vision engineer, so I understand the material and have spent years implementing similar (or the same) software. However a single assignment could easily take me multiple full days of piecing together information across forum posts, docstrings, readmes, assignment pdfs, questionably structured python classes, and gradescope errors to figure out what I was actually supposed to do.
Stepping back, I think this class is a great example of perpetuating uninformed, misguided pedagogy. Responses from TAs seemed to indicate that working with inconsistent, incomplete, scattered instructions was a purposeful design. What a course design guru might call “Project Based Learning with problem solving under uncertainty”. However, this is lipstick on a pig, a fundamental misunderstanding of Project Based Learning and the design of useful cognitive load. Assignments consisted of submitting templated code to an auto-grader that required specific formatting and types, and submitting templated reports to a TA who graded off a specific checklist. Thus, our goal as students was to search for assignment-specific details and wait for answers on how to please this automated system. And to do so for 6 assignments each with up to 9 subassignments.
I do not recommend this course.
Rating: 1 / 5Difficulty: 5 / 5Workload: 15 hours / week
e7uz13xR/V3bHYg0SAVqww==2025-05-07T18:00:20Zspring 2025
Graduate Introduction to Operating SystemsThis was my first course in OMSCS and I both loved and hated it. The course content is very good and the projects are interesting and engaging. I went into this class with very little C experience and some C++ experience. Overall, I'd say I only spent about an average of 10 hours / week on this course. On weeks with project deadlines, that number would go up significantly. On weeks without any deadlines, that number would be much lower. I'd recommend not being like me and getting started on projects early. I found project 1 to not be terribly difficult and it probably took about 30 hours for me to complete overall once I somewhat got my bearings with C. Project 3 was the worst for me and this is where I found the course to be less than stellar. I spent well over 60 hours on this project and ended up with a 40% because of components failing in my computer and corrupting my files shortly before the deadline so I had to start over on part 2 with only about a day left. The code I submitted didn't work due to 2 minor bugs, but showed an understanding of how shared memory works and how to implement it. Unfortunately for me, they only grade them based on the tests you pass in Gradescope so I only got points for the code compiling. I emailed the professor explaining my situation and asking for a 24 hour extension given my circumstances but never received a response. Project 4 was much easier than the other 2 for me as it was in C++ rather than C. It probably only took me about 10-15 hours total. The midterm and final were both fairly easy so long as you watched the lectures, did the reading, and studied the study guide they provide.
Rating: 4 / 5Difficulty: 4 / 5Workload: 10 hours / week
FNE7KG9UHITnWcBoMYKKlQ==2025-05-07T14:48:50Zspring 2025
Knowledge-Based AIThis course is an absolute nice choice for those choosing the AI track (formerly the II track). After taking it, I found it to be significantly easier than the ML and AI courses, and getting an A is quite achievable. I spent about 4–8 hours per week on this course. Only one or two of the mini-projects were relatively challenging. I recommend that those who don't want to spend too much time directly take a case-by-case approach for the AGI project, rather than trying to develop a strong generalized AI method (this is for efficiency — if you’re passionate about KBAI, then you should go for it).
As for the exam, since it allows the use of any online resources, I barely prepared and completed it using AI (which is permitted). The exam score generally doesn’t have a decisive impact; as long as you perform well on other assignments, a score of 70 on the exam is acceptable (in my opinion, this is the lower bound for using AI without your own thinking). Similarly, it’s hard to rely on the exam alone to pull your grade back up to an A.
Rating: 4 / 5Difficulty: 2 / 5Workload: 6 hours / week
m5jh1FGKjkNZr9rWKWi7Fw==2025-05-07T12:47:37Zspring 2025
Special Topics: Geopolitics of CybersecurityThis course content is fantastic but the way grading and timing is handled is not great, especially for a class in a program billed toward working professionals. TAs often did not give complete feedback on assignments and grades seemed highly arbitrary, with several areas of the rubric missing points without comments. Though outlined in the syllabus, I still do not understand why the due date is not the actual due date - discussion posts must be posted by you a week in advance of the due date and you cannot comment on others posts in the same day otherwise risk losing points. Grading was consistently delayed in getting inputted, with final items being put in the last day grades were due. With a few logistical tweaks this class could be excellent but it has turned into one of the most disappointing of my time at Tech.
Rating: 2 / 5Difficulty: 2 / 5Workload: 12 hours / week
7VGm9VJ/8v/AJwSNtDIk9g==2025-05-07T12:25:42Zspring 2025
Special Topics: Geopolitics of CybersecurityHighly recommend this course if you can take it with Professor Lindsay and have an interest in the topic. This is the only OMSCS class I've taken so far where I was somewhat sad for it to end - minus the final project. I wanted the class to continue so we could learn more. It was an opportunity engage with the material, professor, and other students, without high stress or meaningless busywork. This environment was conducive to learning.
Professor Lindsay and the TAs are engaged with students in weekly office hour chats pertaining to current events in geopolitics and cybersecurity. The class is the most interactive of any OMS course I've taken, and feels more like what I'd get out of an in-person class. Part of the assignments include ongoing 1-2 weeks of discussions with other students, and it's interesting to learn from one another if you have an interest in the course topic.
The lectures are up to date, professional, and well put together. The assignments are effective at getting one to learn from the lectures, readings, and from other students.
Deliverables were:
4 group projects including 2 shorter papers, one 15-minute presentation, and a final longer paper. You review the same 2 cybersecurity incidents, which your group chooses, for each of the project deliverables. You also get to see 15-minute presentations on all the other groups' projects, so you have the opportunity to learn about several different cybersecurity incidents outside those covered in lectures.
4 learning modules, each of which includes 1.5-2 hours of high quality video lectures, Perusall readings which are interesting, relevant, and well chosen, and answering 3 discussion questions along with commenting on other students' discussion answers
Rating: 5 / 5Difficulty: 2 / 5Workload: 5 hours / week
RFdcVItsUgW5OZBPmNjsLQ==2025-05-07T11:58:49Zspring 2025
Human-Computer InteractionOverall, it was more enjoyable than I expected. The lectures were fun. However, the class IS front loaded so make a schedule and stick to it. (I watched lectures and did peer reviews M-W and did homework afterwards.) For every HW assignment including projects. and quizzes, make sure to answer EACH AND EVERY question asked. They like to throw multiple subquestions under each actual question and you'll get points off if you don't answer them properly.
The quizzes were graded rather strictly, so prepare and study accordingly. As for the tests, they expect you to read a TON, like 100+ textbook pages a week and that wasn't feasible for me, so I had to google during the Test since there were lots of questions about the readings.
Main tip: get ahead on your homeworks, especially the individual and group project to give yourself more time to study for the quizzes and tests. Plus if you finish the projects early, you get a bunch of free time it was relieving
Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week
Hlbv1xErB9n1pHPQKEPY4Q==2025-05-07T05:06:44Zspring 2025
Artificial IntelligenceCS 6601 - AI - is a survey of various topics within the field rather than a class where each lecture builds off the last. In other words, the course prioritizes breadth over depth. The topics we covered in fair detail were - Search, Game Playing, Constraint Satisfaction, Bayes Nets, and Machine Learning. Half the lectures aren't taught by the main professor; they were clearly recorded for other classes. The Facebook lectures are particularly awful. One of the non-Facebook lecturers is Proffesor Norvig, who is also the author of the textbook. His style of teaching focuses too much on the minuta of the algorithms (as opposed to the big-picture, the "why?"), yet at the same time he glosses over important details and will simply tell you "the time complexity is so-and-so, for reasons out of scope" or "there exists a proof for this". There is a heavy emphasis on his textbook - we were tested on many topics that were not covered in the video lectures, only in the book. This laziness of the staff also applied to the assignments, on about half of which we were referred to third-party research papers, YouTube lectures, and Python libraries to self-teach ourselves the necessary material.
Your grade is made up of 7 assignments, 2 exams, and 10 extra credit quizzes. All exams and quizzes are untimed and open-book, which is very welcome. The professor also generously provides a few exams with answer keys from previous semesters. Many of the quetions are detailed math problems, and you will need to refresh on linear algebra and calculus for a small few of these. Assignments are alright. The first few were more about designing an algorithm or a heuristic, and getting graded based off your performance. The rest were more about following a guide/walkthrough to get the right output and pass the test cases - not as fun. If you don't manage to hit 90% score you can still get an A if your grade is over the class median.
Rating: 3 / 5Difficulty: 3 / 5Workload: 10 hours / week
Hlbv1xErB9n1pHPQKEPY4Q==2025-05-07T05:01:03Zspring 2025
Introduction to Health InformaticsCS6440 - HI - is a big waste of time. I got fooled by the positive reviews below. I honestly haven't learned anything besides the very basics of FHIR. There are about 10 "required" ~30 min PowerPoint lectures that you will get open book untimed MC quized on and no exams. There are 6 "required" assignments which vary between a) fighting with Docker to get a completed project to run and following step by step instructions "click here, enter this, etc..." to type up a few one-line answers in English, and b) fighting with the IDE of the week to get skeleton code to compile and then researching documentation so that you can fill out a handful of functions with about 2 lines of code each and pass the test cases. There are weekly "discussion" prompts in Ed for participation points and a low-effort group project. The class median received full marks on nearly everything. Those of you who are privacy concious be warned - one of the assignments requires you to have a Google account!!!
Rating: 1 / 5Difficulty: 1 / 5Workload: 5 hours / week
Nv/cUqz/VWjhuBzXzesP/g==2025-05-06T23:47:08Zspring 2025
Machine LearningI have complicated feelings about this class - it’s a mix of strong positives and strong negatives.
On the positives:
Overall, the material in the class is great, I am somewhat amazed how much attention the course runners manage to give to 1,200 students, and I had some very educational and positive interactions with the material and my fellow students.
But then we have the bad:
These negative issues combine to create an experience which can be quite miserable and unproductively stressful, with aspects that can seem almost designed to make things difficult (like releasing ‘important feedback’ less than a day before the next assignment is due - which isn’t enough time to make changes to the upcoming submission).
If you are a student who tries to use grades as feedback for how you’re doing in the class, the inconsistency in grading can be pretty disheartening. To be fair - trying to use a fixed hidden rubric (which, at least in my experience, was not at all intuitive in terms of what would or would not be included) then getting a small army of TAs to consistently apply said rubric against ‘exploratory’ papers is a truly daunting task. But between the variability of students trying to decipher what exactly is required for grading, combined with the variability of how different TAs penalize submitting anything slightly different answers than anticipated it’s not uncommon to see people reporting getting their best score on papers they didn’t think were particularly good (80s-90s) and poor scores (60s) on papers which seemed solid.
The thing to remember however is the class is heavily curved. As of Spring ‘25 that ‘60’ on a paper would average a B. (cutoffs were 71.4% - A and 57.5% - B). But since you don’t know what the curve will be until the very end and the cost for failing rather than dropping is high, many people drop the class early rather than take their chances. I worried I was failing mid-semester and ended up with a completely solid A (>80%) by the end of the term. The whole process feels a lot worse than it actually is.
So would I recommend this class if you’re not required to take it? Hard to say. If the arbitrary grading will brother you as much as it did me this might prove needlessly stressful, but if you’re the type who is less bothered by it then this could be an interesting class.
Rating: 3 / 5Difficulty: 4 / 5Workload: 25 hours / week
LdUCwaravOrZ37Up9FutNA==2025-05-06T22:42:29Zspring 2025
Software Architecture and DesignMy background: This was my fourth course in the program. I have a BS in CS from a while back.
The course: The graded components are: 39 lecture sections with an associated quiz. These quizzes can be taken an unlimited number of times. Use your resources to figure out how to get 100 on them. Your five lowest quizzes here are dropped. Do these as early as possible so you have time for other things.
Assignment quizzes - there are 7 of these. All allow 2 attempts. Aside from the 1st quiz, which is all about not cheating and such, your lowest of the 6 remaining grades is dropped. If you remember your selections from your first attempt, you should be able to ace this.
Team surveys: you get to grade yourself and your teammates on participation of your team project at the end of each half of your project. You get graded for the completeness of your comment and on how your team scored you.
Ed Discussion - participate in Ed Discussions. There is no rubric, per se. Everyone will ask how it's scored. The answer is... its scored basedon whether you've been reading your Ed Discussions all term. Maybe you ask a few questions. Maybe you answer a few. If you're participating, you'll get the points. You know if you've been doing enough.
All of the above, accounting for 40% of your grade, are relatively easy to get even if you have about no knowledge of computer science.
The remaining 60 percent is the fun.
You have two exams worth 20% of the grade. Your lower of the two exams is dropped. You'll get your exam 1 score frighteningly close to your exam 2 deadline.
For the first exam, you are given two sets of three UML class diagrams created by prior students for a prior assignment. Your goal is to rank three diagrams from each set from best to worst. You must also give a healthy explanation as to your grading. If you pick wrong, but your reasoning is sensible, you can get partial credit. If you really know your UML classes and connectors, this may be painless. You even get the assignment details ahead of time and can practice making your own diagram.
Exam 2 is all about sequence diagrams. Once again, you get the problem ahead of time, though it has slight adjustments in the exam. You have to make your sequences based on actions described in the exam. It is a mad dash to finish. Figure out which online program you can use most efficiently because you will need the time.
The rest are assignments. Assignments 1 and 3 are a team assignments. I have never had a bad time getting on a team as early as possible, so I highly recommend doing that. Assignment 1 is building a UML class and a couple sequences. This is a great time to figure out who is good at what and get everything put together. Assignment 2 is an individual assignment where you grade 3 other teams' diagrams. You will be writing a LOT. It works out to a good 5 pages worth of writing. Use Motepad to compile all your notes then drop in the simple text box. Assignment 3 updates your assignment 1 task and requires you build a full program with a front-end and multiple documents, along with a video explaining the program. This will be a lot of work, especially as you're also working on 3 quiz assignments and taking exam 2, as needed. Be prepared for a meltdown.
All grades seem to take about 4 - 5 weeks to come out. I never got my exam 2 or assignment 3 grades, judt my letter grade. It was a bit of an experience.
Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week
w8O28GZbi4QsOKRokvPQ3w==2025-05-06T17:41:05Zspring 2025
Natural Language ProcessingML4T is preparation for ML/RL, and NLP is preparation for DL. They're a similar amount of work and similar level of difficulty. First four projects were straightforward (with autograding) with a large jump in difficulty with the last one (not autograded).
Dr. Riedl's lectures were fantastic and clear. The meta lectures were not, but it was possible to get the required information from them after reviewing them a few times.
Exams were actually pretty great:
Grading is lenient. I finished with over a 99%, but it doesn't mean I didn't put my time in and work hard to understand the material.
Discord was active and chatty, I never looked at Ed once (didn't need to).
Overall, course was high quality, the material was interesting, it's preparation for another course that gets deeper into the topics. Definitely worth it.
Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week
QMYk+fLuXJfLN9zPLlDB4g==2025-05-06T16:04:37Zspring 2025
Machine LearningGoing to keep it short with some tips.
Overall not very difficult or stressful due to the scale of the class. If this course was not scaled then it would be total war. I found it just very time consuming to write the papers as I'm not the best writer.
Rating: 4 / 5Difficulty: 4 / 5Workload: 17 hours / week
4+n4TWr/KUI1eyJlG8htBg==2025-05-06T13:13:27Zspring 2025
SimulationFirst, I think this course is a great course to take along with CSE 6742 (Military Gaming) since that course goes over internal model validity, while this course is more nitty gritty. You might never need to write a pseudo-random generator from scratch, but it's important to understand how the foundation of your tools work.
Aside from that, the professor mentioned their intention to refresh the course and to remove the arena specific grading and I agree - the arena modules are nothing but correctly memorizing the very specific questions ("Oh you memorized the Advanced panel (which isn't even in the Comp Lab version of Arena)? Sorry, this question was for the Basic panel"). The group project I think is a nice balance of learning and not a tremendous importance to your grade, but I think the large curve in the class speaks a bit to how rigorous the math sections are - I think some of the math questions are little bit unfairly transformed from the problems given in the questions and practice exams necessitating the curve. Lower the bar a little bit to more align with the problems as given in the lectures and I think the curve wouldn't be as necessary. Outside of that, the cheatsheets present a great opportunity to study - but you'll also spend a tremendous amount of time trying to cramp every little bit in. I also thought the final was a little bit too broad - since its cumulative, there's a lot of problems in the last two modules I would have expected to be problems (a lot of "ah... I bet this Antithetical Random Numbers portion will be a test question") only for them to not be problems and to have to remember where on my cheatsheet I put parts about Newton's Method. Dave's enthusiasm and the TA's helpfulness on Piazza really made me enjoy the class and I believe I learned a lot, but it is by no means a perfect class
Rating: 5 / 5Difficulty: 4 / 5Workload: 13 hours / week
8QCkBpfuICilGM394ipFEw==2025-05-06T01:26:44Zspring 2025
Cyber Physical Design and AnalysisThe course was not difficult and my experience pretty much matched other students' experience in older semesters. The lectures are not needed to do the assignments and the homeworks (except for one) and projects are straightforward. The TAs were pretty active and helpful -- no complaints in their effort.
My only complaint is that there was one homework where I very much disagreed with the framing of the question -- it was a simple optimization problem but the constraints were not fully explicit (granted the original paper the homework was based on did not either). We had to infer how to further add constraints to obtain a sensible result. However, I was hesitant to do so in fear of assuming too much and ended up taking a grade hit. Some students complained about the grading, like I did and I kinda felt like it was an "office hours" curve (the recorded office hours and public Piazza posts seemed as if TAs were hesitant to provide the answer though). The TAs were nonetheless very helpful, despite seeming as if they were restricted in being able to clarify the constraints as I wanted. All the other assignments were straightforward though.
Like previous reviews mentioned, Homework 5 and Project 3 are a bit more difficult. Homework 5 involved (if you used Windows like I did) using WSL to run a program correctly and answering question related to that and to hardware datasheets. Project 3 involved using AADL but the project was well written and links to many useful textbooks/ resources. In addition to that, office hours were available with a guest speaker very proficient in AADL.
This semester did mark a slight change in the course where instead of just a take home assignment, the final was split into a two portions: a shorter take home assignment and a proctored exam. The take home assignment was pretty much similar to a homework in terms of difficulty and scope. The proctored (closed notes) exam involved reading provided articles and using concepts learned on CPS to discuss it (sort of like the first homework). The exam was not difficult if you understood the basic concepts of CPS, it took only 1.5 - 2hours to write a short essay and since it was the first time we were doing it in the history of the course, the grading was very lenient. The only reason the essay portion of the final was made proctored was to dissuade use of ChatGPT to write the essay.
Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week
wkxO+UGtTv+8rhAoguSnYQ==2025-05-05T22:56:31Zspring 2025
Special Topics: Global EntrepreneurshipThis class was extremely easy, and I think for the worse. The course pairs you with a group with the task of filling out a business model canvas and conducting market interviews. I felt that the entire class should have been compressed into about half the time, while the second covered prototyping, fundraising, and getting initial users. Unfortunately, this class didn't cover any of that which made me feel that my toolset as an entrepreneur is incomplete. This class would really benefit from expanding it's scope past market validation and into prototyping, but I understand the difficulties of actually building a startup with a group that may not be present, legal issues that may arise on ownership, and compressing the timeframe.
There were some good parts. This includes networking and the lecture videos. The videos, while lower quality/effort than some of the other classes, had great content and was presented by the professor in an easy to understand and intuitive way.
Rating: 2 / 5Difficulty: 1 / 5Workload: 3 hours / week
wkxO+UGtTv+8rhAoguSnYQ==2025-05-05T22:46:01Zspring 2025
Deep LearningThis course was a great experience, and I was able to learn a lot from it and I feel a lot more confident in our skills and using the tools necessary for deep learning development. It was very time consuming, and I felt that some of the other supplementary material - such as the textbook and guest lectures - were stronger and easier to follow than the lecture videos themselves. Additionally, in such a fast moving field it is tough to stay up to date, and there are some topics that are either quickly covered (like transformers) or not covered (like GNNs) that I wanted a deeper explanation or more time spent with. However, the guest lectures help supplement this, especially with LLM development. The assignments are also frequently updated to cover new technologies, this is all a factor of the class being in such a rapidly developing field.
The group project for me was the highlight. I had an involved team that all contributed and we chose a challenging project. This allowed us to push ourselves and develop a system that required a large compute unit (the PACE cluster) and I learned a lot from it. Being open ended, it was also a great opportunity to pick something I was interested in and really get a deep understanding of the field. That said, it's a group project. YMMV on the group members you get.
Pros:
Cons:
Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / week
820RUWEy7nz5VzYftRRZ0g==2025-05-05T21:46:32Zspring 2025
SimulationIf you are looking for a course about using simulation in an operations environment, this course is terrible. If you are looking for a graduate level statistics course that is depressingly called Simulation, then this is the right course.
I will never use any of the materials in a professional setting ever. For example, there is a one week module on Pseudo Random Number Generators. Is anyone going to write one from scratch? No, you will just use the rand function. If you want random numbers from a different distribution, you will use that function.
There are a few weeks spent on Arena (again a piece of software I will never use in a professional setting) but it more a how to use the software sort of module.
80% of the grade comes from two midterms and a final exam. They are timed multiple choice without any materials except for a one page cheat sheet. Since you cannot use any outside tools or materials this is a big game of memorization. There are alos series of questions about in what drop down menu in Arena certain functions are contained . . . .
There is almost no time spent trying to connect the stats work to actual simulations and how to evaluate simulations. You are asked questions around calculating expected value from functions that are transformed with equations, but never is it explained why you would ever do this in a professional setting.
If you can't tell, I did not like this course.
Rating: 2 / 5Difficulty: 4 / 5Workload: 10 hours / week
Y0p+1lfk2jRxT+Y8MpA7lA==2025-05-05T19:05:47Zspring 2025
Natural Language ProcessingI would consider the pedagogy of this course better than that of DL because Professor Reidl's lectures are excellent. I came out of the DL course having a very fuzzy understanding of transformers and other newer architectures but the lectures in this course coupled with the relevant assignments did a commendable job of explaining the key concepts. It is a also a low stress course meaning you get to devote sufficient time on key concepts not worrying about busy work forced on you. Getting an A in this course should be very easy. I think the biggest missed opportunity in this class is not exposing students to more real world applications of NLP. While the HW5 does a good job of implementing the much famed "attention" mechanism, the overall project was based on a redundant architecture. Assignments aimed at achieving real life use cases using pre-trained models/transfer learning would have been amazing.
Rating: 5 / 5Difficulty: 2 / 5Workload: 6 hours / week
FjfClbiNLXzP1to+iFwvXg==2025-05-05T18:43:51Zspring 2025
Introduction to Graduate AlgorithmsThis was my 10th and final course in the program. I wanted to share my experience to try to provide a more balanced perspective than many of the reviews on this site. This was the first semester that exam grades counted for 90% of the final grade (30% each), with the remaining 10% from open-book quizzes that should mostly be free points. What this means is that it is very easy to fall into the temptation of not attempting or submitting the unweighted homework, which is a recipe for failure
During the semester: watch the lectures early. Engage with the material - don’t just passively consume. Err on the side of reading the corresponding sections in DPV (textbook). Homework is unweighted, but that doesn’t mean optional. You should always, always make an honest attempt at the homework, not only because it’s an opportunity to actively engage with the material, but also it’s a stakes-free way to get feedback on how your submission would be graded in the exam setting. Don’t just blindly paste the prompt into AI and copy its solution, because that’s a total waste of time. The coding homework is fine if you have time for it, but not critical IMO. Watch Joves’ weekly OH and attempt the problems he goes over before watching the solution. Brito’s OH is a nice supplement but less crucial IMO. He mainly covers the previous week’s homework and the material more generally.
Before exams: watch Joves’ exam review OH. Do all the ungraded homework problems if you haven’t already, as well as the suggested exam prep problems. You can skip the ones marked as more difficult. In this semester, every free response question was a slight variant of a problem seen in lecture or the homework (graded or ungraded), so if you understood those well, you’d be off to a great start. The MCQ were a mix of concepts covered in lecture and the Joves OH and were fair overall.
Lectures: wonderful. Dr. Vigoda is a very talented lecturer and it shows in how he’s able to explain difficult concepts clearly.
TAs: maybe the most responsive teaching staff I’ve seen in the program, both on Ed and Ed Chat. The TAs have gotten flak in the past for being snarky or whatever, but I didn’t see any unprofessional behavior. The most “edgy” response I would see from them is “What does the post above say about [question that was already answered and yet clearly not read by the question asker]”. I think it’s perfectly responsible to ask students to actually read official Ed posts, etc. before expecting the staff to spoon feed them the answers. We’re adults here.
Brito: disgruntled students might also complain that Brito is unfair or uncaring, but that couldn’t be farther from the truth. He held weekly OHs and was genuinely open to good faith feedback. All of the exams were reasonable with respect to the material covered, but there could be some adjustment pain after the first exam because this class is unlike most in OMSCS. If you didn’t do the homework or understanding the grading expectations, and then did poorly on the exams, it’s on you to adjust for future exams.
Grading: yes, with 90% exams, each question on an exam is high stakes. That’s unfortunate for students who prefer homework or projects, but there’s nothing inherently unfair about the exams. Nothing on them is a surprise if you’ve watched the lectures/OHs and made an honest attempt at the homework. A lot of students complain about the grading scheme, but the expectations about required components of a solution are made perfectly clear up front and reiterated over and over in OHs. You have ample opportunity to get feedback on your solutions if you submit homework. As said before, nothing on the exams is really a surprise. It’s such a confined time window, so there can't be anything truly novel on the exams or students would get wrecked. Dr. Brito even says over and over again that he’s not trying to trick students, so don’t twist yourself into a pretzel coming up with some unusual interpretation of an exam question. KISS.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
9YsRFGtC0IgtidFrG1xvDQ==2025-05-05T17:22:28Zspring 2025
Natural Language ProcessingBackground: I work full time as a data engineer. Undergrad majored in Statistics. Relevant OMSCS Courses taken include AI and ML.
I registered into NLP after seeing the waves of good reviews about this course, and because I never formally learned NLP techniques.
Pros:
Cons:
There's a lot of good about this course, mostly around the content and the open-ended projects. I think it would be excellent as a MOOC.
I suspect that the course was under-staffed, especially with the hand-graded assignments, and if OMSCS fixes the ratio of student/staff, it would improve the course experience a lot!
Rating: 2 / 5Difficulty: 2 / 5Workload: 8 hours / week
mVhkLy8arsyoej9HdA+tCA==2025-05-05T17:04:37Zspring 2025
Machine LearningInitially, I appreciated the combination of writing original code alongside a graduate-level research report. It made sense, particularly for the first assignment, which involved comparing and contrasting various supervised learning methods. That task was both sensible and practical—anyone getting into machine learning, especially supervised learning, would benefit from such an analytical exercise, even if it was just a mock scenario. The insights gained were genuinely valuable.
However, extending this same format to Assignments 2, 3, and 4 felt excessive. Many of the later topics were so niche that it was hard to see their practical relevance. At that point, completing lengthy reports seemed more about meeting assignment requirements than achieving meaningful learning. It felt like the format was being forced, rather than adapted to the topic at hand. While I understand the value of combining code and analysis, making this approach the core of 60% of the course didn’t feel justified. The way to gamify your grades was to spew a bunch of technical neat looking BS on plots which barely made sense - it was all about the optics of presenting than the true craft of ML, even if for the sake of learning
There’s a wealth of exciting material in ML that could have been explored instead. Consider ML4T, for example, where assignments are contextual coding exercises with direct application to trading—a domain where ML is practically useful. Despite being mock setups, they offer an engaging introduction to quantitative finance. A similar approach could make this course more impactful.
Unfortunately, this course seemed mismanaged. Communication from the instructional team often centered around delayed grading updates, with vague or inconsistent feedback. Even though I received an A, I couldn’t discern the rationale behind specific grades across assignments. It’s clear the instructors may have innovative ideas, but something—likely institutional constraints—is preventing their implementation.
Ultimately, it’s a disservice to both students and staff when feedback and concerns go unaddressed. There’s real potential here, but only if the course is restructured with less bureaucracy and a stronger focus on practical, engaging learning.
Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / week
tSrDhY3wil5piKkKTxG1WA==2025-05-05T14:47:45Zspring 2025
Deep LearningThe lecture videos were underwhelming — I had to rely heavily on better explanations from external sources like University of Michigan and Stanford to understand core deep learning concepts. The quizzes often focused on obscure slide or reading details rather than testing broad understanding, which felt frustrating and misaligned with actual learning goals.
Some assignments were well-structured with decent test coverage, but others (like A3 and the new A4) were painful. For example, inconsistent outputs across Intel vs. AMD CPUs could’ve been easily fixed but weren’t — this kind of lack of polish adds unnecessary debugging overhead. From what I gathered, each assignment is made by a single TA with no review process from the instructor. Instead of having meaningless office hours, I wish that time was spent improving assignment quality and test cases.
The group project experience was poor. Many students end up carrying the team while others contribute little or only reach out at the last minute to ask basic setup questions. It’s a common complaint, not an isolated case. The project options also felt overly resource-intensive and impractical, as if adapted from internal Meta experiments without much consideration for coursework suitability.
Polished by ChatGPT to sound more polite
Rating: 2 / 5Difficulty: 3 / 5Workload: 15 hours / week
KCXPaUVMNdTn9FFaBtCk/g==2025-05-05T07:08:41Zspring 2025
Knowledge-Based AIFinished with 93%. Projects are doable, and difficulty is manageable. Aim to collect max points for each assignment, and you will end up with A. The actual ARC-AGI problem becomes difficult as you progress through the semester, so it will be difficult to collect the full points later. If you follow the Slack and Ed Forum, other students usually give a lot of hints on how to solve problems.
Rating: 5 / 5Difficulty: 3 / 5Workload: 11 hours / week
Mg8VbB4wqnj8Dv27PhxvHQ==2025-05-05T04:29:54Zspring 2025
Video Game Design and ProgrammingI have a bachelor's degree in CS, been working as a software dev for about a year, and this is my fourth course. Honestly, this class is one of those classes that you could easily spend anywhere from 0–5 hours a week to 15+ depending on how deep you want to go.
The course is made up of 4 personal milestones, a group project (almost 60% of your grade), and a small 10% quiz, that’s pretty much it. Imo, it’s easier than SDP and probably one of the easiest foundational courses (not counting the general electives).
The milestone projects are all guided with really clear instructions, so it’s actually kinda hard not to get the points. The group project is the main thing, but I feel like I’ve got plenty of time for it. Overall, I’d say this course is pretty chill and interesting, low effort if you want it to be, or medium effort if you really want to dive in.
Rating: 5 / 5Difficulty: 5 / 5Workload: 5 hours / week
HAguuo5dzJMJGPaXXeclcA==2025-05-05T03:48:19Zspring 2025
Reinforcement Learning and Decision MakingI did very, very well for this course (89.5% raw grade without any curve), but I felt that there were a lot of issues that made the learning of crucial RL material difficult:
The lectures were thoroughly lacking in quality, and honestly the banter between the 2 professors was very much unnecessary. What worsens this is that the lectures do not have much connection with any of the 4 projects (which take up a massive 68% of your grade), and after my first project, I realized that watching the lectures were a waste of time and instead focused my attention on the textbooks,
The final exam unfortunately does not serve any pedagogical purpose in this course, and was essentially a test on whether you watched the lectures at all. It serves as the only reason for a student in this class to ever watch the lectures instead of reading the textbook. The mean and median grades for the exam were ridiculously low (< 50%) and further served to show how unnecessary the exam really was. Correct answers were not released as well at the end of the course, which was disappointing. The very generous curve however made sure that getting a median score in the exam would suffice for a good grade, assuming you did decently for the projects.
The final project was plagued with bugs and setup issues. Kudos and respect to the one TA (Uzair) who was single handedly handling the entire project's code base, but this obvious lack of manpower needs to be addressed for this project to be doable. At this point of the semester, most students including myself were burnt out, and we were lucky that the instructional staff were lenient to drop the lowest scoring project out of the 4 required, and I think roughly half the class including myself did not submit anything for this project.
A lack of rubrics for the grading of the papers you submit for the project makes it difficult for students to know what to focus on in the paper, and in RL terms, there is a clear lack of reward signalling / a reward function for the students to learn what constitutes a good or bad report. I was fortunate to do very well for the papers, but I think that perhaps a clearer rubric would also lead to better learning outcomes and not just grades for students in general.
I found that the Ed discussion was very lacking in terms of TA response. The office hours were decent, but if they could achieve the level of office hours like RAIT (AI4R), it would be perfect.
The course, however, does well on quite a few aspects, which, if barring the above issues, would have made a perfect course for RL:
The textbooks (especially the Grokking supplementary textbook) was excellent for learning. It essentially takes crucial content from the Sutton textbook and makes it easier to digest, and also includes deep RL related concepts that are very well explained.
The projects were very well designed. Projects 1 to 3 (barring Project 4 due to the issues mentioned above) were excellent for learning, and I felt that they were super useful projects that I can use to demonstrate my RL knowledge to any potential employer. Although tedious (most of the results are kind of gate-kept behind hyperparameter tuning especially for Projects 2 and 3), it was very satisfying once one is able to train good RL models and solve the given environments. I would advise students to ensure that their implementation is done correctly first via using sanity checks based on the model's design before moving on to hyperparameter tuning (which will take up a lot of time given the complexity of the model and environments).
The AI Chatbot quizzes were excellent in propping up my understanding of the course concepts learnt, and I reckon this should be present in other OMSCS courses as well due to their excellence. Of course, the quizzes could have been shorter in length and less redundant but were otherwise helpful pedagogically.
All in all, I would advise people to take this course by itself and be ready to be quite preoccupied with the course due to its challenging nature. It is definitely a rewarding course, but can be better in terms of the lectures and final exam as well as TA engagement.
Rating: 3 / 5Difficulty: 5 / 5Workload: 18 hours / week
OWj5Bkk31WB4Bo9D3B5F+A==2025-05-04T19:40:12Zspring 2025
Graduate Introduction to Operating SystemsGood class. I signed up for an OS in undergrad (I'm a math major) , but it was really bad, so I had to withdraw. So I was excited to take this class, and it pretty much fulfilled my expectations. I learned a ton of new stuff. That's not to say I love every aspect of the class, and it certainly can be improved, particularly in the projects (I think the TAs should make some kind of recorded walkthrough for each project; this would be reduce redundant questions and time wasted figuring things that are vague on the project descriptions); also, I'm not a fan of the exam format (a lot of the questions don't test substance, and focus too much on what I'd consider minor trivia), and I'd prefer more "real" questions from the papers or a textbook— though I'm sure changing the format would require redesigning other aspects of the course because of the TA workload.
As far as advice for other students, just start the projects the day they're released, and read at least some of the papers (you can get by without them, but I think you miss on a lot them; the ones I read were fantastic). I'd say I spent about 20-25 hours a week on the class, a bit more than 6220, and a bit less than 6601 (both of which I got As on).
For the current iteration of the class, how easy things feel will depend on how good you can be at the coding. So I'd say: a week before you start make yourself familiar with sockets, pointers, double pointers, handles, file handling, and string functions in C (null termination was a weird thing for me, and it was uncomfortable to adapt to it at first); maybe build some toy server/client to send images with the help of some LLM; if you're unfamiliar with this stuff, doing this will save you a ton of hours of work later on.
Rating: 4 / 5Difficulty: 3 / 5Workload: 25 hours / week
PoQ3UPp0U2AnwzOB/7IwRw==2025-05-04T19:11:35Zspring 2025
Machine LearningOverall, this course was disappointing, frustrating, and had limited value. A kind of "meh" class. I think it had some good content, but I would not recommend taking it in its current form. I ended the course with a secure A, but I felt like I didn't learn a lot from the course. The material was often presented in such a convoluted and very academic manner. Even though I watched and read all the course recommended materials, I felt I mostly leveraged my previous course work that covered the same material but did a far better job of it. There is a lot of overlap between this course and the AI course, and I feel the AI course is far superior in its course implementation and its learning outcomes. I think the course instructor is passionate and that the course has a lot of potential, but I think it falls short of its goals due to easily fixable structural problems.
This course was challenging, but not in a productive way. It was challenging because it was inefficient. For example, rather than releasing a rubric that clearly laid out assignment expectations, you were expected to tease apart the rubric items not covered by the assignment description and FAQ by attending 6 hours of office hours. This lack of clarity often led to effort being wasted in reports because you weren't fulfilling the secret expectations. Course lectures and readings were very academic and not directly applicable to your actual assignments. The readings were especially dense, outdated, and mostly inapplicable. The assignments required utilizing a lot of libraries not covered by the course which would've been fun if there wasn't so much time pressure. It was unclear in all the assignments how much hyperparameter tuning would be required which led to hours of wasted effort in tuning hyperparameters to create performant learners. The assignments were advertized as "open-ended", however the grading rubrics were not and if you deviated from the expected rubric items you would have to trust that your TA had the judgement and prudence to award you points for your approach even though it wasn't in their rubric which unfortunately was not always the case.
I thought the course lectures were pretty good. I was indifferent to the banter style of the lecturers, but enjoyed their presentation of concepts. I would like to see new lecture videos added that cover concepts more relevant to the assignments like picking an accuracy metric.
The course does not care about your code. This would be fine except, then why waste student time even writing it then? It's not helping people learn at that point. If this is gonna be an academic, theoretical, and impractical course then that's not my cup of tea - but embrace it. If you're going to allow generative AI slop to produce plots and tables of data and all you care about is interpretation of data, why not just give example data and have students interpret it? That way you could automate grading and provide better feedback on any remaining written reports.
The grading is very subjective, unaccountable, and quite random. There is a hidden rubric, but there is great variation in the level of effort of your grading TAs to actually read your paper. Some TAs genuinely read my paper and provided specific, actionable feedback that was constructively critical and supported my learning for which I am grateful. I had one TA that clearly did not read my paper then copied and pasted rubric items into their feedback and called it a day after penalizing me for things that were clearly present that they just painfully obviously missed. Upon asking for additional feedback on this one assignment (you cannot ask for regrades) that seemed to have odd feedback discrepancies to clarify the feedback, I was told I would get additional feedback and never received it. That lack of accountability is completely unprofessional.
I would not worry too much about your grade. This class can be incredibly furstrating and frankly unaccountable with the grading, but it is graded quite leniently. About 40% of the students will drop out of fear and being overwhelmed. Among the remaining 60%, ~60% will get an A, ~35% will get a B, and ~5% will get a C and below. One thing I think the course does really well is that it emphasizes your learning. I think the critical feedback in papers does support that and should continue to be an aspect of the course as it improves.
Main Advice: Don't take this course as an elective like me. There are much better courses in the program. Don't be discouraged if this is your first course in the OMSCS program - it is not representative of the program and is consistently rated below most other courses. If you are taking the course, read the assignment descriptions and FAQ and attend the office hours you have time to to understand what's desired on the assignments. Don't take them seriously. Despite what may be advertized, you are not in a graduate-level machine learning course writing research papers. No no no. You are in a graduate-level machine learning book club. Your code doesn't matter. Your data doesn't matter. Meaningful hyperparameter tuning doesn't matter. Your model performance doesn't matter. Statistical significance doesn't matter. Simply reference the course material and research papers as you interpret some AI generated slop plots and try to fulfill your best estimate of the hidden rubric. You need to understand that your learning benefit and your grading benefit for the assignments is somewhat uncorrelated and somewhat inversely corelated. If you spend too much time tuning to make an actually performant machine learning model that is valuable experience that is useful outside of this course. However, it will not be rewarded in your grade. The course overall does not reward practical machine learning skills and analysis. Instead, focus on bullshitting the reports and then have fun with the assignments because the assignments are actually pretty cool and I wish the convoluted approach to explaining them and grading them didn't mess them up for so many people. I especially enjoyed A1 (ML Algorithm Comparison on Different Data Sets) and A4 (Reinforcement Learning).
The reality of the advice described above is incredibly frustrating because machine learning is really interesting and I enjoyed the material. It often feels like you're punished on the assignments when you try to develop something actually practical and useful instead of fulfilling their secret rubrics. I feel that the incentive structures of the course grading are not encouraging the development of good machine learning practices or the development of good models and analysis. A glaring weakness in many "model" reports was statistical significance. I think many of the students in the course, even by the end, fail to understand when their results are actually significant because the course doesn't stress this at all in grading. Comparing averages seems to be good enough - which is absolutely laughable for a graduate level course.
Rating: 3 / 5Difficulty: 5 / 5Workload: 25 hours / week
Wgbo7KMNVGd79w/NbQknlw==2025-05-04T18:15:06Zspring 2025
Human-Computer InteractionSo this was my first class in the program so take that in mind. The lectures were decent, they had some good interaction to them and professor Joyner's lectures are high quality in general.
A couple tips for people looking to take this class. Start your homework early, just easy to get ahead. When you finish your quizzes, also do your tests. Test 1 covers quizzes 1-2, and test 2 covers 3-4. However Test 2 is due at the end of the semester, do it in the middle when you finish the quizzes. Your memory will be there and you'll get it finished early.
For the team projects, make sure to get your members early in the semester, so you can have better team members. For the homework, answer all questions and you'll be fine. Majority of the class is pretty easy, just do what you are told and answer all the questions. The quizzes are the hardest part as you gotta do the readings and review the lectures. They are closed book and if you didn't review it wont be fun. However majority of the grading is lenient and the TA's are understanding.
The middle of the course is the busiest. The class is very top heavy, meaning the start of it is busy, but once you get to the group work stage it has very little workload.
All in all, answer all the questions that are in bold for HWs, projects, and quizzes, and you'll be fine.
Rating: 3 / 5Difficulty: 2 / 5Workload: 13 hours / week
zIZzXHYQ2jFLtOKoXRineg==2025-05-04T17:42:18Zspring 2025
Reinforcement Learning and Decision MakingThis was my first course in the program and it definitely lived up to the hype in terms of difficulty. I originally thought that most of my time would be spent on the lectures or the readings, but quickly realized that the projects require the most time. These take anywhere from 40-60+ hours of work and often meant sacrificing time on lectures/readings. Since this was my first course, I had to spend extra time learning things like writing Latex, creating plots, and using PyTorch. Deep Learning should 100% be a prerequisite to this course. I had minor experience with neural networks before, but the hard part is that you are building them from the ground up along with complicated RL algorithms. This makes it extremely difficult to debug, since the problem can be with your hyperparameters, your neural network, or your RL implementation. I wasted many hours on the projects trying to tune my hyperparameters when there was some stupid bug in my code, making the experiments useless. Overall, I scraped by with an A in the class, despite doing very poorly on the final. If you stick around in the class, and spend a lot of time on the projects and final, you will get at least a B.
Lectures: I liked the teaching style, but the content drifts farther and farther from RL. Most of the game theory concepts are completely irrelevant. There are so many things that they didn’t cover and it was left for us to figure out.
P1: I thought this project was great for learning reward shaping and how to implement simple RL algorithms, but found the requirements of the traffic problem to be pretty confusing. P2: This was a great project all around. P3: This one was rly tough, but worthwhile. P4: This had the shortest amount of time, and quite a few technical difficulties. I strongly think that the CNN portion of the code should have been given, or maybe have a video explaining how to implement it. I spent most of the time on this project trying to get that to work, which is NOT how it should be in a RL class.
Quizzes: The quiz structure was fun and very helpful for understanding aspects of RL that don’t quite click. Final: The final sucked and was stupid. The questions were vague and confusing, and the material was barely covered. Also no study guide? This should be removed from the class.
For future students, I’d recommend taking DL before this. I’d also recommend making sure you follow the project requirements closely, and explaining the reasoning behind every decision you made. I got my highest project grade having not fully solved the environment. The last thing is that you don’t need the most complicated RL algo to solve most of the problems, so maybe start with something simple before trying PPO.
For the staff, there is a serious gap between the lectures and the projects. Miguel’s supplementary lectures fill some of that, but not nearly enough. Also, some of the projects should be tweaked to allow more focus on RL rather than DL. And please remove the final exam.
Rating: 3 / 5Difficulty: 5 / 5Workload: 21 hours / week
PoQ3UPp0U2AnwzOB/7IwRw==2025-05-04T17:22:19Zspring 2025
Video Game Design and ProgrammingThis is an awesome course if you're interested in learning how to independently develop and publish video games. The professor is awesome and passionate about the field of Video Game Development.
My main advice:
1.) Form a group as soon as the forum thread opens. Proactive people who are on there tend to be better performers so you're more likely to match with stronger teammates if you're proactive in your teammate search.
2.) Understand that the course project is for developing the skills to make a 3D third person game. It is not necessarily to make the game you want or even a fun game. The project is for your learning and skill development so you can make your dream game later. There are a lot of less glamorous yet essential skills that need to be explored in the project that you will benefit from. It's important to understand this as you plan, develop, and compromise within your group around the game's design so you don't become overly attached to the project. At the end of the day the project is there so everyone can practice their skills. I would recommend forming a group with this understanding.
3.) The course videos can be long. However, I recommend watching every minute of them if you truly are interested in video game development as they contain a lot of awesome ideas that I found inspiring for my own game ideas. I would recommend watching them efficiently, however, because the speech speed is a bit slow. You can use this recommended link to see how to modify the video speed beyond 2X using javascript: https://thejaymo.net/2023/05/14/194-how-to-watch-youtube-faster-than-2x-speed/
4.) Watch videos at faster speed and search the txt version of the video transcripts (the transcripts are available for download in the video attachments) for key terms to re-read and re-watch key sections when taking the quizzes. I personally enjoyed watching the videos at 3-3.5X speed while taking notes on them. This made the hours of video in some of the modules manageable while still absorbing the content.
5.) Meet with your group regularly (weekly) and maintain an active group chat.
6.) Github merging of Unity scene files sucks. The short of it is you basically can only overwrite each other's work within a scene so there is no smart merge functionality. The best approach is to have only one person making changes to a scene file at a time. If you need to work in parallel, simply make a copy of the scene and then make your additions to that. Once you've pulled your teammate's additions to the target scene you can then manually copy and paste your changes into the target scene and commit them. It's not great, but it works for small teams.
Rating: 5 / 5Difficulty: 2 / 5Workload: 12 hours / week
B4Rg+t5El3svbUx4Dnp1Nw==2025-05-04T15:46:59Zspring 2025
Machine LearningGreat course! I enjoyed it more than ML4T personally and found it to be more fulfilling. If you focus on solely the grades (which can be understandable at times) you will end up being frustrated but from a pure learning standpoint this is a very valuable class. It helped me see ML in a significantly less mechanical way.
Assignments: There are four assignments: supervised learning, random optimization, dimensionality reduction, and Markov decision processes. Get started at least a couple weeks before an assignment is due. You generally get three weeks to do a project, but I often took a week off after an assignment was due because of burnout to clear my mind. Grading is based on the analysis in the reports, not the actual code. This means that model accuracy is not what matters, but how you react/respond to results you see, and how that should influence your hyper-parameter tuning. Papers are limited to eight pages, although it's generally not hard to hit that limit fairly easily. Unfortunately, this leads to a tradeoff between how large to make your visualizations and including some additional analysis. I ended up losing some points for smaller graphs but my hands were a bit tied there. There are also five point extra credit opportunities for each assignment. I didn't do those because that would have meant cramming even more information in eight pages which was already next to impossible with the non-extra credit stuff.
If there's a critique, it's what some people have said below. The grading can be a bit random and based on who is grading. Additionally, grades are released late making it hard to implement feedback on the next assignments. Thankfully, I built myself a bit of buffer after the first two assignments that my doing worse on the last two assignments did not matter as much (which was strange, because I actually thought the last two assignments were easier than the first two, yet my grades didn't really suggest that). The last assignment on reinforcement learning was my favorite, and if you feel similarly there's a reinforcement learning class that goes more in depth apparently.
The first three assignments make use of the same two datasets that are pre-assigned. For Spring 2025, it was the Customer Personality Dataset and Spotify most streamed songs from a few years ago. I believe this is a change from the previous semester where students could choose their datasets. They change the data each semester, but these are generally relatively small datasets in nature.
General Tips: I'm not sure whether this has existed for some of the semesters before under some different instructors but the assignment instructions do provide recommendations of what to include in the reports. Additionally, read the TA FAQ on Ed Discussion for each project (generally released within a week of the start of an assignment). That was my go-to when I had questions about what visualizations to include or what to analyze. A big question that I had after working on the first assignment was what they are looking for in a hypothesis. Note that they are looking for predictions of algorithmic performance rather than a hypothesis of the actual data. I didn't quite understand this until after the first assignment. Some people may benefit from the office hours, but I personally didn't. I went to several before the first assignment was due but stopped going afterwards as the TAs weren't the most clear when answering questions and it felt like a waste of time to watch them honestly.
Final Exam: There were 57 multiple-selection questions during Spring 2025, with points awarded for each choice that you either select or don't (so technically 57 * 6 = 342 questions). You get three hours to finish, which is more than enough time to take your time with each question and review each question carefully a second time. There are three questions on each of the 19 modules in the course. I studied with another student in the class prior to the exam, so if you can find someone to review the material with it will make the studying less daunting. Overall, it felt pretty fair and wasn't overly difficult.
Others: There is a hypothesis "quiz" that's more of a paper summary that's generally graded fairly leniently from what I can tell at the start of the class. Additionally, there's a few one point extra credit opportunities that may be worth doing if your final grade is borderline, such as participating in Ed Discussion posts and turning in a completed problem set before the exam.
Lectures: It seems like others disagree, but I enjoyed the lecture videos. Some sections are a bit too theoretical and get into the formulas a bit too much (you don't need these for the final exam) but I enjoyed the banter between the original instructors of the course. There is also a textbook for this course (from 1997?). I read a few chapters for fun, but you don't really need it for the class. It's probably beneficial to keep up with the lectures as you work on the assignments but it's easier said than done. I had to play catch up before the exam because the assignments commanded a ton of attention (and I was taking a second class).
Overall: Don't worry about your grades on the assignments, especially early on. Stay the course and don't drop unless you absolutely have to. The curve is very generous. For this semester above a 71% was an A, 57% was B, and 43% was C. I finished with a relatively comfortable A in the class.
Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week
gjRqwQuAGjiEgIVrApDscQ==2025-05-04T11:29:25Zspring 2025
Special Topics: Compilers - Theory and PracticeBackground: Non-CS undergrad, but work professionally in math/computational science, 3rd course after GIOS and RAIT. I was a beginner-intermediate C++ programmer before so this course doubled as both a large-scale programming course + compiler course. I did not meet the recommended pre-reqs e.g., AOS, computer architecture etc. but I was very motivated. I would say this was 1.5x to 2x the effort of GIOS and 3x the effort of RAIT.
I did not have a partner. I expect to get a solid A.
4 homeworks (Scanner, Parser, IR, CodeGen/Optimization): 4 questions each of which tested a compiler workflow or concept. Each HW took 2-3 days to complete.
4 projects (Scanner/Parser, SymbolTable/Semantic Analysis, IR Gen, CodeGen):
The 1st project was trivial. The 2nd and 4th were incredibly challenging. The 2nd because I had to level-up my programming ability and I needed to understand how the Antlr4 visitor interface worked, and the 4th because it was a huge amount of work with a lot of requirements and edge cases. I also was burnout by this stage.
Tip on project 4: Fully understand the MIPS function calling conventions and work out on paper what the function stack will look like before implementing it. Figure out a clear way to map a variable to its register or to its stack position. Also it pays to have a good IR data structure from Project 3, starting from fresh IR for project 4 would have been a lot more work.
The grade on gradescope was effectively the final grade, there were no hidden tests.
I ended up taking 2 full weeks from my day job to write the compiler and I effectively spent most weekends on the course. I ended up with around ~4000 lines of fairly compact code.
Final exam: A large fraction (~80%) of the final exam was quite mechanical: there are about 8 "workflows" you need to memorize from the home works and apply to problems under time pressure. 20% involved tricky questions that tested precise understanding of compiler techniques (e.g., when does this particular optimization apply, when does it not apply etc.).
I prepared using lecture notes and homeworks and skimming through the textbook, except for the chapter on optimization where I read through the textbook in detail.
Tip: Skim through the end of section questions in the textbook to prep for the final.
Takeaways:
Rating: 5 / 5Difficulty: 5 / 5Workload: 28 hours / week
lVaErvC+H+S2COrzPeOalw==2025-05-04T09:38:47Zspring 2025
Machine LearningFinished the course with an A, achieving an 86.56%, before the curve was 83.62%.
Background: Bachelor's degree in Computer Science from a university ranked #377 out of 436 National Universities in U.S. News English is my second language (TOEFL score: 95/120) 1 year of experience as a full-stack developer
Overall: I think this is an excellent course and one that really makes Georgia Tech stand out. It doesn’t just cover basic machine learning algorithms—it requires a deep understanding of how they work. The course can be time-consuming, especially if you get stuck on the algorithms, as it's difficult to complete assignments without truly grasping the concepts. I recommend starting early and watching all the lecture videos as soon as possible—don’t stick strictly to the syllabus timeline. If you find the lectures hard to follow, look for additional explanations on YouTube. Since the course covers a lot, the lecture pace is fast.
Reading/Writing Quiz (27/27): This part can be frustrating because there’s a lot to read. I scored 27/27 after four attempts, and you can try it as many times as you want. Did it help me structure my assignment paper? A little—but I was already comfortable with academic writing.
Hypothesis Quiz (5/5): This is meant to test how well you explain your reasoning, and it’s a good starting point to see if your answers align with what the instructor is looking for. I wrote mine in depth to clearly explain everything, not just "I think A worked, so the result was B," but more like "I believe A worked because of specific reasons, which led to result B."
Assignments (95/100, 79/100, 98/100, 82/100): This is a major part of the course, and you'll need to invest a significant amount of time. Start early, as it requires running multiple experiments. I found the grading to be somewhat inconsistent—you might get a lenient or strict grader, as grading written work can be subjective. There's no easy fix for this, since writing is a key skill and standardizing assessment in large classes is challenging. I recommend using Python, as the TAs suggest libraries in Python for all four assignments. Java is a decent alternative, as it also supports libraries for all the projects.
Problem Set (Extra Credit): They give you plenty of time after Assignment 4, so there's no need to rush. The goal is simply to have you try it, and I think it's a very useful tool for preparing for the final exam.
Final Exam (38.98/57): I'm not a strong test taker, and since English is my second language, this part was challenging. There were 57 multiple-choice, multiple-answer questions, which took me about two hours to complete. If you're confident in English, you might find the exam easier than the assignments.
Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week