XETirs7m3iri+2qyLkaSmw==spring 2026
Game Artificial IntelligenceProjects are interesting and time consuming, but felt fair.
Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week
XETirs7m3iri+2qyLkaSmw==spring 2026
Game Artificial IntelligenceProjects are interesting and time consuming, but felt fair.
Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week
PxZxOLD18JzOk7m0ITwuVw==summer 2026
Information Security Lab: Binary ExploitationI took GIOS prior semester Fall 2025. I thought GIOS knowledge would be enough to be moderately equipped for this course, but I was wrong. Frying my brain after work for 3 hours before bedtime tired me a lot but the lessons learned are worth it. It's only been week 3, but I'm enjoying it so far. No pain no gain. I definitely think this course is more difficult than GIOS. The hardest course I've taken so far is HDDA (complexity wise).
Rating: 4 / 5Difficulty: 5 / 5Workload: 12 hours / week
FESOs6XgrRZxJkZZJd8k7g==spring 2026
Machine LearningIt's too much content and an overwhelming amount of work. I leaned very heavily on LLMs and on having 10+ years of programming experience including Python, so I came in at 15-20 hours weekly, which is on the lower end for most people. I ended up with an A, but feel like I didn't learn much and dreaded grinding through it. At times I even toyed with the idea of dropping the program altogether.
I saw someone mention this a "data science simulator" class and I feel that's accurate - the course effectively teaches you how to deal with projects end-to-end. I felt like I learned a fair bit about the "meta" aspects of DS and ML. However, and although the course provides very deep readings about algorithms, you will learn very little about how they work unless you either spend 40h weekly, or are otherwise extremely smart or efficient. I'd say most students achieved very poor performance results on all projects - we were all stuck with very low accuracy, F1 and other issues. Luckily (and understandably) they don't grade on that, but the course also doesn't teach you how to extract good performance out of projects. Because of this, I don't feel ready to apply ML in real-life professional settings. I might be able to be involved in project management if surrounded by competent professionals, at best.
It seems that since AI is allowed, they just doubled the amount of work to be done. You have to work on multiple algos, datasets and produce dozens of artifacts for each project, making for a combinatorial explosion of work. They should tone this down, and instead show you how to improve performance, solve problems robustly, and favor depth over breadth.
On the bright side, the teaching staff is extremely professional, hard-working and kind. I empathize with them for having to deal with the uncertainties of teaching in the age of AI, in what is already by nature a very complex course. I root for them and hope that they improve on these issues in the future.
Rating: 2 / 5Difficulty: 4 / 5Workload: 16 hours / week
9AIBpLdKh5gudR0j51RJBQ==spring 2026
Special Topics: High-Dimensional Data AnalyticsThis is a good course with many derivations and proofs which help build on and reinforce understanding of ML concepts especially as it relates to high dimensional data objects that aren't tabular. This is a good survey course of methods to handle representation and supervisied learning on high dimensional data objects outside of neural end-to-end approaches.
Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week
kCewUHAwOk4/Bff0djmMJg==spring 2026
Special Topics: High-Dimensional Data AnalyticsThis is a math-heavy course that, frankly, did not meet my expectations in terms of engagement, interest, and perceived usefulness. The homework is heavily focused on mathematical derivations, which I personally found quite tedious.
Compared to the other four courses I’ve taken, this is the one I invested the least time in, both for assignments and participation on Ed Discussions. Fully understanding and digesting the mathematical content would require a significant time commitment.
I would not recommend this course unless you have a strong interest in mathematics or are primarily taking it to fulfill a credit requirement.
Rating: 2 / 5Difficulty: 1 / 5Workload: 5 hours / week
RX89jxbhE669MGC0OZ/tVQ==spring 2026
Human-Computer InteractionI took this as my first course of the program, and while it was well organized, it left a lot to be desired. What it lacks in difficulty it makes up for in workload. You will do a lot of reading and writing.
The class is broken up into 3 phases. Phase 1 is the content phase where you do a bunch of tedious homework assignments which is all writing. Phase 2 is the individual project, a bunch of closed-note quizzes, and an exam. Phase 3 is the group project and an exam. The pacing is all off; you end up doing majority of the class and it peaks in phase 2 on/around week 10. You will have an insane amount of work to do certain weeks, while other weeks are a complete breeze. I would not pair with another class, and don't be fooled by the average workload on this site as things have changed quite dramatically in recent semesters (e.g. quizzes).
There is a lot of "busy work"; trivial stuff that is simply time consuming and not at all enriching. Quizzes are anxiety inducing and you must allocate time to adequately prepare for them. I do think it is a good intro into OMSCS if you have been out of school for a while but beware the workload.
Unfortunately, I did not find the material very valuable, and I think the only thing I learned is that I would rather take programming classes than do a bunch of reading and writing about stuff that is largely irrelevant and inapplicable to software engineering. Maybe I am just jaded because I already have a lot of career experience, but some of this stuff is just elementary. I finished with a 97% and felt like I didn't learn much.
Rating: 2 / 5Difficulty: 2 / 5Workload: 16 hours / week
hnP9bU9AStuilQb3Tg7XwQ==spring 2026
Artificial IntelligenceMy background info:
CS Bachelor's degree graduated in 2021 5 years experience SWE Worked full time during the course
Hours per week spend on the course: 10-30 Final Grade: A
Overall:
The class will be very challenging if your rusty with the background math and cs concepts (recursion, trees, etc) required for the projects and exam questions. You will need to learn it on the fly, which will add extra complexity and time to your workload.
There were 5 assignments and the lowest assignment was dropped. The assignments were really fun and will force you to learn AI concepts and really deep dive into a few. I ended up skipping the last one because I was burnt out and ready to be done.
We had 10 required "Challenge quizzes" that are worth 5% of your grade, two of these are dropped and they WILL help you prepare for the exam questions so def take the time to complete them and learn concepts.
There was a midterm and a final, each had questions similar to the quizzes. They allow one week to complete exams in a take home open notes & no internet format. This is a huge plus for those who work and or have families to care for.
Pros:
You will learn some good really cool concepts! Searching, Game playing, Decision Trees, Bayes nets, Clustering algos and more!
They have implemented a fork of vs code (NOSI) which is essentially an AI powered, key logging code editor we were forced to code in for most projects. This caught cheaters red handed and will continue to evolve and hopefully catch more!
Cons:
There were inconsistencies with the lecture vs quizzes scheduling.
Grading took long periods of time with little to no updates from instructors.
There were some hiccups with NOSI since we were the pilot semester!
Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week
LEuO/X5FkksU+QFbLVdBGA==fall 2025
Seminar: Robotics and Human-Robot InteractionI originally posted this review on r/OMSCS. I took the course in Summer 2025 (the form here doesn’t allow selecting earlier than Fall 2025, so I chose that). The difficulty and workload depend almost entirely on how seriously you approach the semester. If you read every paper carefully before each lecture and Q&A, you can easily spend as much time as you would on a 3‑credit course.
Overall, though, the seminar is light. There are no formal deliverables, but you must attend at least 75% of the sessions (at least that was the rule for Summer 2025). If you miss a session, you’re required to watch the recording and submit a one‑page summary to the instructor. Active participation in the Q&A is strongly encouraged.
There were also a ROS workshop and a Human–Robot Interaction simulator demo between the lectures/presentations.
Review starts here:
--
TL;DR: If you're interested in the cutting-edge why of robotics and not just the how of a specific project, the ORI seminar is fantastic. It directly shaped my final research paper for another course this semester and connected a lot of dots for me.
A little background:
For context, I came into the program with a professional background in commercial robotics but little formal academic training, so I was very curious about this seminar. I took it this summer alongside another course that involved an open-ended research project. Last semester, I took CS7643 Deep Learning, and my final project was also robotics-related.
What the seminar is:
It's a weekly series where the TAs invite recent PhDs and researchers from top-tier universities, labs, and companies like MIT, Stanford, Amazon Robotics, and Toyota Research Institute, to present their latest work. You read their papers beforehand (or as much as you can!) and then engage in a live Q&A.
So, why am I recommending It?
I came into this semester with a question about robotics that I've had for years. While I had a solid foundation from my DL project, I needed a framework to connect everything. The ORI seminars handed me that framework at the perfect time:
A researcher from the Toyota Research Institute broke down his work on XAI for personalized ML assistants and how large-scale multimodal models are used for interactive autonomous driving.
A postdoc from the MIT HRI lab presented his fascinating work on the psychology of robot deception and trust repair, and even shared how students reacted to an LLM-based teachable agent.
A researcher from Amazon Robotics introduced us to multi-robot systems, covering collaborative planning and control algorithms for teams of autonomous robots in dynamic environments (think wildfire response or disaster sites).
We also had talks on cutting-edge work in specialized fields like medical (again, fascinating work) and agricultural robotics (their delicate fruit pickers could be applied to warehouse automation too, I thought).
These weren't just "interesting talks." They were so timely (at least for me) and relevant that I was able to directly cite the papers and use the insights to build the entire structure of my final research paper. It's one thing to read about these concepts in a textbook or blogs. It's another to hear directly from the people doing the research and be able to ask them questions. Frankly, I wish the Q&A section could be a bit longer.
Who should take this?
If you're like me and want to understand the current state-of-the-art, see how different fields of robotics connect, get serious inspiration for your own research, or are simply curious about the field, this seminar is for you.
Hope this helps.
Rating: 5 / 5Difficulty: 2 / 5Workload: 5 hours / week
F7w5MrmYmdufprUF+EMCvA==spring 2026
Knowledge-Based AII took this class in Spring 2026, and I’m pretty sure the exams are different now compared to what people who took it in 2025 experienced. The exams are technically open book, but you can only use Canvas materials — nothing else. I heard that last year people were allowed to use AI during exams, but they removed that policy this year.
Even though it’s open book, I honestly didn’t find that very helpful because the exams are pretty tricky and cover a huge amount of material. What worked better for me was actually studying beforehand and organizing my own notes to review during the exam. You are allowed to use your own notes during the test.
I started OMSCS in Fall 2025, and out of all the classes I’ve taken so far, this one had the best overall course structure. My background is non-CS, but I majored in math and already had some familiarity with Python, so I was able to keep up. That said, it definitely wasn’t easy. You’ll probably see some people saying this class is easy, but I’d guess most of them have a CS background. If you don’t, it’ll probably feel pretty challenging. Also, you absolutely cannot use AI for any of the coding assignments, so if you’re not from a CS background it can be rough at times. Still, if you’re already somewhat comfortable with Python and NumPy, you should be okay overall.
There’s also a decent amount of writing involved. Honestly, if you lose points on the coding parts, the writing assignments can help balance things out a bit. I ended up getting an A, and I spent a lot of time on the writing portions. The rubrics are also very specific, which actually helped me understand what I missed in my coding and where I needed to pay more attention.
Rating: 5 / 5Difficulty: 5 / 5Workload: 16 hours / week
kPRbSxTFjIkenr0EYxqjcQ==spring 2026
Video Game Design and ProgrammingThis course primarily consists of 1 large group project basically beginning right away. You must find your own group and your experience in the class will be heavily determined by the group you end up with. My group was very opinionated and not the best to work with- they took some fun out of the class for me for sure, however we were able to get more than 100% on the final project. Grading isn't super strict but it is very open-ended so expectations are unclear.
The other annoying aspect of the course is that you are only taught a portion of what you need to know to create a game, thus you will need to spend considerable time on your own learning Unity and how to write scripts to do what you want in your game. AI is very helpful to fill the teaching gaps, however.
I really wish there were more independent structured assignments to go beyond the first 4 "milestone" assignments as these were pretty fun to work on.
Lectures are interesting but very slow, I watched most of them at 2-3x speed, sometimes even 4x speed. There are quizzes but they are quite easy if you watch the lectures.
Rating: 3 / 5Difficulty: 3 / 5Workload: 13 hours / week
da7O7qNyQKFzML05ESJ2ng==spring 2026
Human-Computer InteractionThis was my first semester in the program. HCI is a very well-organized course, and I am glad I took it in my first sem. It's a perfect introductory glass for acclimating to an academic setting, years after graduation.
The concepts taught are immediately applicable to industry workflows, pushing you out of a purely engineering-centric mindset and into designing for human mental models. This course is not exactly a UI/UX course, but more of a superset of it. While we use tools like Figma for projects, there's a strong emphasis on HCI methods and principles, and on applying them through surveys, interviews, heuristic evaluations, prototyping, and so on.
The TA support is excellent here. Moreover, participation is highly encouraged (there are participation points), and that makes the online course even more engaging.
The homework and projects are report-heavy and push us to think about methods and principles from a practical perspective. The Quizes and Exams are proctored. There are 4 quizzes, each with 5 mini-essay questions, and 2 exams, which allow us to access the ed discussion and canvas documents (Ctrl + F is very handy here).
A few tips for future students:
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
UmpoA1qvCf95whP2KKtuNQ==summer 2026
High-Performance Computer ArchitectureTimes taken: Lectures/General studying- 110 hours Midterm study - 30 hours Final study - 45 hours Project0 - 7 hours Project1 - 28 hours Project2 - 30 hours Project3 - 35 hours
Pros:
Cons:
Rating: 3 / 5Difficulty: 3 / 5Workload: 18 hours / week
EzqMbjxx9xl9bZ9I7WMGpg==spring 2026
Cyber Physical Design and AnalysisThis course has nothing to do with Cyber-security, it's a System's Engineering course. I found the material covered in this course interesting for me, because I work with hardware AND software at my work. My only gripe with it was that, for some of the assignments, I found the gap between the instructional material (lectures and readings) and the assignment requirements to be a bit too large. For instance, I had zero background in embedded systems, so I struggled with homework 5 quite a bit. I know that some people struggled with the first project because they did not have any background in control theory (luckily I did, so I did fine in that project). Furthermore, I sometimes found the TA's to be a bit unhelpful, because it seemed to me that they would not answer questions for the fear of giving away too much, when I felt they could have guided us better, without giving away any answers to assignment questions. Despite all this, I did manage to get an A in the class, and I recommend this course to anyone who wants to learn about the different ways software and hardware can work together in the industry.
Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week
53/LnunEUaJSlio8aWpS+Q==spring 2026
Advanced Operating SystemsLots of content and a nonstop schedule. I wouldn't say the content is difficult, but I've taken GIOS and HPCA and without those two it might feel more challenging.
What I struggled with in this class is that the schedule often has overlap between projects and exams. This of course is not a problem if you can finish projects long before the deadline. This was my goal going in, but unfortunately I was never able to finish projects earlier than the weekend of the due date even when starting early. I did choose to work solo on all so ymmv.
Prioritize projects first, then lectures, then papers. I found lectures tedious and watched them at 1.5x. I only read papers for the reviews and to build answers for the exams. I did not realize that students could discuss exam answers on ed discussion until right before I took test 2. I learned more having to write all the answers without other input for tests 1 & 2, but in reading student discussions it made it a lot easier to locate important sections in the relevant papers for questions.
As far as content, I think the actual systems learned are not that important, but provide critical thinking about how engineers tried to solve existing problems and why their solutions were or often were not effective or used in the long term. People might think this is not useful, but I think this is extremely critical. If you are involved on the frontline of thinking about system development, you need to be able to identify problems, come up with solutions, and consider how your solution might fail or be ineffective. The fact that these are older systems/papers from the 80s/90s is irrelevant, it is the design process that is important. If you try to memorize a bunch of facts about these old systems, then you are not getting the most out of this course.
I struggled with burnout throughout the semester, but my final grade is an A. If you are able to push through the endless content and prioritize well, you will get a B or higher.
Rating: 3 / 5Difficulty: 4 / 5Workload: 20 hours / week
AsXSpPZZ36Buac6bbnSyRA==spring 2026
Introduction to Information SecurityPros: A learn-as-you-do introduction to lots of different information security topics. The ctf systems were well designed, fun to interact with as if you were almost in a real world situation, and the breakthrough moments when you find the flag are quite blissful.
Cons: The biggest one for me is that everything I learned from this course was from links to publicly available articles and information. Paying tuition just to be referred to other peoples' explanations feels cheap. A major improvement would be if this course had lectures that actually related to the subject matter, which is really not too much to ask, as this course brings in millions of dollars every year. The professor is non-existent - you are quite literally paying for access to the class VM & ctf suite and the aggregated links from various online sources.
If you take this course you will spend most of your time reading wikipedia or other articles, watching YouTube videos, or spending a lot of time making educated guesses trying to figure out the flags. The TAs do their job well but can really only restate and refer you to the instructions; ultimately you have to find the answer yourself. The discussion threads are filled with redacted comments.
A bit of a warning, the past reviews make the course seem a bit easier and less time-consuming; they seem to have added more flags to each part since then (as evident by the un-updated json flag template files). Each week you have to start at ground zero on a topic which can be daunting and exciting depending on your perspective and how hard the last week's assignment was.
Overall the built-up frustration of starting at the screen week after week sometimes not making progress for hours and being told to re-read articles so many times left a bad taste in my mouth. I cannot say I recommend this course.
Rating: 1 / 5Difficulty: 4 / 5Workload: 25 hours / week
gmWL+76oxQYdHb0wFFIk3Q==spring 2026
Software Development ProcessArguably the worst course I've ever taken with OMSCS and I am about 8 courses into this program and I have gotten nothing out of it. The content is not hard but very outdated. Instead of spending time to update the content as well as course policies, the instructors and TAs seem to focus on making the course very cumbersome for students to manage with assignments locked until the week of, A LOT of random administrative tasks, inability to pick our group members for the group project, outdated AI usage policy, etc. While students are expected to prioritize the class on a weekly basis (if you have something going on in your adult life and want to work ahead? Nope, good luck.), TA's are extremely untimely in their gradings - grades on an assignments would not be released until 4-5 weeks after the assignment is due despite the promise of grades being released in 2 weeks. The class is overall very poorly managed and need a complete overhaul.
Rating: 1 / 5Difficulty: 1 / 5Workload: 8 hours / week
8RVWE1me9yyd9zFdHbgpiZiCxcj2ji67AWLtzpyWUGM=spring 2026
Statistical Modeling and Regression AnalysisThis is a perfect sequel to 6501. Not too difficult and the workload was really manageable. I felt I should've taken this class in summer instead of regular semester because there were some weeks where I had nothing to do.
I also appreciated how TA team gave lots of lots of template code files so students could just reference them for the homework and exams. Having nice example code for various analytics scenarios really helped me solidify my intuitive understanding.
I was stressed about the project but its grading was so generous that most teams got 90+%. My team did a simplistic analysis with garbage results but still got 95%. It seems like they are not looking for innovative research but just looking for a report that shows the required analytics (fit a linear model, analyze outliers and residuals, do variable selection, so on)
Overall, it's been a rewarding class. I highly recommend it for others to take this class after 6501 before taking on other advanced classes like CDA.
Rating: 5 / 5Difficulty: 2 / 5Workload: 8 hours / week
CVtRtLXlAkAGhR9yRp0SVA==spring 2026
High Performance ComputingThis course was alright, I was expecting it to be very difficult due to the past reviews but it seems like it has been diluted in terms of intensity. All 3 projects were easy to be honest. The algorithms you implement are trivial and there are research papers for each one. The content was interesting I would say, midterm was hard and so was final but if you build up your intuition by practising the sample problems they give you 2 weeks prior, you will do good on them. Overall I enjoyed the content but it's not as hard as people make it. To put it into perspective, I think the 1st GIOS project is 10 times harder than all 3 of these projects combined. It's also pretty easy to hit the performance targets. I did not have many issues with the cluster because the projects were easy so I finished them very quickly. I believe for project 2, I finished it 1 day after it got released. This led me to slack off during the last stretch of this course and absolutely bomb the final but luckily my midterm and projects carried me. Also, they give out a generous curve on the midterm and final. Content is very interesting for sure and a very niche subject in computer science. It definitely got me thinking differently in terms of what "parallel processing" is.
Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week
CeYpZ8KCHTq62pxXUF/ZtQ==spring 2026
Game Artificial IntelligenceI took the course in 2026 Spring and passed with an A.
To be honest, if you just want to get the course pass with A like me (I am a bad example), this course does not require you a lot of time. There is no exam, 8 projects account for 80% of grade (the rest 20% is open book untimed quiz so most people get good grade).
Among the 8 projects, 4-5 of them are pretty easy, because there will be friendly classmates prodiving unit tests and all you have to do is to try locally until all unit test passes, then you get 100. The rest is a little challenging, meaning getting 95% or 100% will be hard, but getting 85% is still easily achievable. That means if you do the easy ones well (they equally weight 10% total grade each), it is not hard to achieve an overall 90% for A cutoff.
There is also a bonus project which you just need to resubmit one of your assginment code without further work, which you will be put in PvP with classmates for a linearly scored 0-3 bonus score. I think I got 1.2 out of 3. Make sure you participate as there is no penalty, you more or less get something.
Aside from the grades. I think the content is very good. I didn't watch all videos but watched in depth for the parts I feel interested in. The "AI" here is not the genAI era game AI, but about the traditional techniques used in games, like NPC actions, finding a path, use information available to operate a race car, generate game map terrians etc. As a gamer I like the content. (But again, for just to pass the course, you honestly do not need to watch all the videos and understand all the slides)
Rating: 5 / 5Difficulty: 2 / 5Workload: 5 hours / week
MTe6tej7EE1GvJDnFis8FA==spring 2026
Machine LearningI just finished this course and I loved it, but it was by far the most challenging one I’ve taken, ever!
Here's what I really liked:
What I liked a bit less:
Overall, this course is definitely worth it, but you either need experience in ML, a lot of free time, or ideally both, to aim for an A. Having said that, many students lost points because they hadn’t carefully read the instructions. As a matter of fact, a lot of the questions posted on Ed were actually answered in the guidelines on Canvas or through posts published by Prof. LaGrow and pinned on top of the page. So that is really on them. Everything you need to know in order to succeed is explained to you in great details, so don’t make the same mistake: take the time to read all the instructions for the assignments and quizzes, and you’ll save yourself a lot of time. And you’re going to need it!
Dr. LaGrow is amazing and very accommodating, providing everything you need to succeed. I did pull several all-nighters, and by the end of the semester I was exhausted... But overall, the sense of accomplishment at the end made it all worth it!
Rating: 4 / 5Difficulty: 5 / 5Workload: 40 hours / week
0H6kpiUjXmoK2BpVPdTh2g==spring 2026
High-Performance Computer ArchitectureThis was my first course at GA tech and I thought it was great!
I got an A in the course even though I fully neglected the course for 4 weeks after the last lab.
Lectures are very well organized and the topics are interesting, although a little stale/outdated. That being said, it's still a good overview of the fundamental concepts in computer architecture.
Labs were pretty easy implementation-wise, but the instructions at times were rather unclear. If you take the time to review the FAQs and know the basics of C++, you should be more than okay. I feel like those should just be embedded the FAQs into the assignment description instead of making you look for it on Ed. Get started on the labs early, and you'll probably do well in the course.
Both the midterm and final exams were more than fair. The practice exams serve as a decent gauge of how well you will do.
As others have stated, the TAs were somewhat slow to respond and to mark the labs, as only 50% of the labs were marked at the time of the final exam. Overall, I would recommend this course to others that are interested in embedded systems and computer architecture.
Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / week
Flq5Ybni4B0gY/9Ddy8jjQ==spring 2026
Introduction to Information SecurityThis course was a fun introduction to cybersecurity for me. I was completely new to CTF-style assignments and many of the concepts taught in the course. It definitely increased my interest in the field and also made me realize, as a developer, how little thought I had previously given to some of these areas. In industry, a lot of times we rely on analyzers and automated tooling to identify such vulnerabilities for us.
This is a completely project-based course with no exams whatsoever. There are lectures available, but honestly I didn’t watch many of them because they felt somewhat disjoint from the actual projects. Most of the learning in this course came directly from working through the assignments themselves.
The TAs are really helpful, and most of the assignments are genuinely fun to work on. While the assignments aren’t necessarily difficult, some can be quite time-consuming depending on how quickly you identify the vulnerabilities. The Binary Exploitation assignment was the most time-consuming for me, but also the most fun.
I especially enjoyed the assignments on Man-in-the-Middle attacks, Machine Learning, Binary Exploitation, API Security, Database Security, and Log4Shell. I wasn’t a huge fan of the Malware Analysis assignment because Part 1 involved true/false-style questions, and I found it difficult to validate whether my reasoning was actually correct.
One thing to note is that since most of the learning happens through the projects, if you don’t complete an assignment fully or score well on it, you may not clearly understand where you went wrong or how to improve. The solutions are not released (which is understandable since parts of the assignments are reused across semesters), so it’s important to be diligent while working through them.
My recommendation to anyone taking this course would be to make the most of the office hours. The TAs spend a lot of time walking through the assignments and answering questions. If you start working on the assignments early and come prepared with questions, the office hours can be extremely helpful.
Overall, I really enjoyed the course. I ended up getting an A and received full marks on all assignments except Malware Analysis Part 1.
Rating: 4 / 5Difficulty: 2 / 5Workload: 12 hours / week
+HE/QJYfrQ/tXMLXtPwX8w==spring 2026
Artificial IntelligenceThis is a great course for learning a ton of foundational stuff in a short period of time. I LOVED the assignments -- they embraced the use of AI in code generation which I found very refreshing. We are past the point of ever needing to manually write code for SGD, etc and I liked that this course has understood that. Instead it focuses on analysis, synthesis, and data. Comparisons of the algorithms and datasets. I found it incredibly interesting to explore the datasets and build on my knowledge of them through each assignment, and its open ended enough to give you space to explore and satisfy your curiosity. The exam was on the difficult side but fair, and I liked that it was proctored. It ensures we're being tested fairly and actually forced me to study. Open book exams just don't result in the same absorbing of the material.
Cons: The assignment reflection just felt like busy work and it was annoying, but it only takes 5-10 mins so it's okay.
Pros: The opportunity to earn back missed marks is nice. I didnt use it bc I was lazy but I would have if I needed the marks.
Overall: take this course if you're good with a challenge and want to learn about data analysis, AI algorithms and their biases, and deeper synthesis of problems
Rating: 4 / 5Difficulty: 4 / 5Workload: 11 hours / week
hCeF4qstXOywPa410S93vg==spring 2026
Artificial IntelligenceI have very little CS background but a lot of stats background which helped in this class. I was aiming for an 80% but I ended up with an A.
For assignments, you get 2 weeks to work on them and turn in as many times as you want to be autograded.
A1: I stopped after 19 hours with a 77. I didn't even try the last section, as I said I only wanted an 80 in the class and I didn't feel the need to finish the whole thing. People often say this is the hardest project in the class and I don't think I totally agree, but getting used to the style of projects definitely adds more time.
A2: I got a 100 after 13 hours of work on this one
A3: I got a 94 after 13 hours of work.
A4: I got a 93 after 26 hours of work. This one was definitely the hardest for me, but the TAs did a great job of helping me through the end and I wish I had utilized them sooner.
A5: After 12 hours I got to an 80 and didn't try any of the rest of the project.
A6: Did not attempt.
Along with assignments, the lectures, reading and challenge questions took up the rest of my time. I watched all the lectures and read all the readings in their entirety which probably wasn't necessary and added a lot of time committment to this course, but I found it valuable. The challenge questions took about an hour each and were crucial for doing well on the exams.
The exams in this course take a lot of time - I probably spent at least 15 hours on each over the course of a week.
Overall, this course does take a lot of time and thinking (and I did feel like I was losing my mind some weeks!) but I think it was worth it. I learned a lot, the TAs were great, and I was able to take "breaks" by not doing all of the projects which helped a ton. I've seen a lot of hate for NOSI in this course, and even when I came to a few minor issues with it, TAs were super fast to remedy and always super kind.
Overall, I reccomend this course, just be prepared to have little to no free time outside of work+school for the next few months!
Rating: 4 / 5Difficulty: 4 / 5Workload: 13 hours / week
I4MDov7zJRzLvB2f/NGcYw==spring 2026
Natural Language ProcessingA fairly long read. I have a lot to say about this course:
NLP was my 6th course in the program and by far the most frustrating. I finished with an A before the curve. My only taste of machine learning thus far was ML4T. I am also not a professional software engineer and work in a completely different industry.
The lack of ML/DL knowledge did make this class more difficult, however it was obviously doable for me. Those of you who have prior experience with the fundamentals of neural networks and probability will have a much smoother time overall.
As many others have mentioned, Dr. Riedl’s lectures were quite good. However, I’m personally reluctant to give the class bonus points for having quality lecture material. With rising tuition costs every semester, an emphasis on rigor, and the supposed degree quality from a well-respected institution, professional lecture material should be the standard for the program - not some special outlier. Furthermore, these lectures only account for ~60% of all course content, as the infamous Meta AI lectures flesh out the rest. These are disjointed and horrible in comparison and should have no place in a high-quality educational environment.
Again, lectures with good audio, a coherently speaking professor, and well put-together slides accompanying his commentary should be a basic fundamental aspect of the program. Some other classes struggle with this, but I also didn’t find these lectures much better than anything from KBAI, ML4T, or RAIT, and I believe they are overhyped because of the adjacent Meta AI lectures.
This semester, logistical changes were made to the course that resulted in closed note, closed book exams and quizzes that account for 50% of the overall grade. There is an honorlock proctored quiz almost every week, requiring a full room scan and the removal of all other monitors from the room entirely. These quizzes are maybe 4 questions long at most and include multiple-choice or multi-select questions. The grading methodology for multi-select questions is punishing in comparison to other courses I’ve taken. There was a decent handful of ambiguous or debatable questions across the quizzes. Some resulted in regraded free points, while others were ignored. I’m not entirely sure what constituted a regrade for quiz questions.
The midterm tested content from a ton of lecture videos with only 19 questions and accounted for 20% of the overall grade, making each point on the midterm worth just over 1% of the overall grade. There were 3 flawed questions on the midterm with one being flat-out wrong, and another containing a typo that affected how some students interpreted the requirements of the question. The first question set the stage for a follow-up question that depended on your answers on it.
The first one affected my score, while the second did not (I was able to infer what was required and do not even notice the typo). They offered a retake quiz to correct these questions and make up points. I finished with a high B on the exam after the retake quiz, and if it weren’t for a couple dumb mistakes on two other questions, I would have had a perfect score.
This required an insane amount of preparation and studying, however. I burned myself out pretty hard and put myself through a ton of stress worrying about these high-stakes exams. A practice exam was released beforehand, but myself and many other students did not find it as accurately reflective of the actual exam as one would hope. Nevertheless, it was decent study material to work with.
The new emphasis on challenging exams is in response to overinflated high performance on the homework programming assignments, which are a collection of Jupyter notebooks that have you read through summaries, code, and fill in blanks. They suspect these are being “vibe-coded” and don’t know what to do about it.
Aside from the 5th and final assignment, these are all abnormally easy and require 1-2 hours at most to complete. They offer way too much implemented for you, and only ask for maybe 20-40 lines of code. The final assignment suddenly pulls the rug out from underneath you and is much more difficult in comparison.
The overwhelming majority of the homework content is relative to the first half of the course, leaving you with only the Meta AI lectures to absorb the second half. They also include a decent amount of confusing instructions or function names that give you pause, cleared up by other students on Ed who acknowledge this and take the extra time experimenting, instead of responses from the instructional team.
The Final exam was similar to the Midterm, but without the broken questions. Again, this is on content from mostly Meta AI lectures without homework assignments to practice or reinforce the ideas. There is a wide breadth of potential material and you are required to memorize everything to be prepared for the exam. I ended up doing better than I thought on the Final, and finished with a mid-B average on Quizzes and 100% on homework, which secured my A in the course before the curve.
A curve of +2.5% was added at the end of the course, as well as a 0.5% grade cutoff reduction (e.g. an A went from 89.5% to 89.0%). This was introduced to align grade averages with previous semesters, which I’m not sure I understand. They were so concerned about overinflated grades from previous semesters, so they increased exam difficulty dramatically, just to curve back to the grades of before. Whatever.
The instructional team is unfortunately the worst I’ve encountered in the program. They should be embarrassed by their blatant lack of professionalism. They are extremely slow to respond - if they even respond at all. By slow to respond, I mean that some questions take weeks to get a response, or get ignored entirely.
The head TA does nothing except respond to a few logistical design questions (exam difficulty increase, quiz question format, etc) with lengthy over-complicated responses to justify them. All they did was change percentage weight values and sloppily rewrite 2 exams and some quizzes. This individual does this and makes a weekly copy-pasted post on Mondays detailing the material and due dates for the week, and just changes the date. I noticed mistakes here too (e.g. forgot to change dates, forgot to post it entirely).
Any mistakes that they made were explained with “this was rolled out too fast”. They clearly don’t check their work with the same rigor and attention to detail that we as students or everyday professionals do in our work environments. Some quiz question flaws (that resulted in regrades) have apparently even persisted across semesters! They are not engaged with the class and I’m not sure what they’re getting paid for. The overwhelming majority of questions - no matter the topic - are slowly figured out by fellow students, oftentimes with some uncertainty still lingering about. Many questions are left unanswered entirely, which I find unacceptable. The amount of “unresolved” I saw on my Ed Discussion was appalling.
The most responsive TA shows much better effort, but also doesn’t know the answers to a lot of questions and ends up tagging the head TA’s, who then never respond to the original question.
The professor is also completely absent from Ed discussions. During the midterm drama, he accidentally made a post saying “I give up. This isn’t fun anymore.” public for the class to see. It was up for maybe an hour before he took it down and never addressed it. While this was obviously an honest mistake on his behalf and probably an over-exaggeration, this does offer a glimpse into his sentiment and frustration over the state of the course. Similar to the head TA, aside from maybe a couple of logistical responses, he never engaged with the class. This was the most isolating course I've taken in the program by a long shot.
Prior reviews for the course are positive-biased because previous iterations did not have to worry about any of this. Without the changes from this semester, this course must have been so ridiculously easy to get an A in, and even easier to pass with a B. It probably felt like a semester off! With much lower-weighted exams and quizzes, open notes, and open book, I can see how suddenly those Meta AI lectures wouldn’t seem so bad and the horrible TA team becomes much more forgivable! None of that mattered because the class was just so easy so all they remember is that sweet, juicy A they got!
This is no longer the reality. You will have to work very hard for your A. If you just want a B, it’s a little easier, but still stressful. Just a few mistakes on those exams, and your grade tanks. Be prepared. I don’t mind a challenging course, but this course felt challenging for all the wrong reasons.
All of this being said, I learned a lot and I found the topics fascinating. The experience is just severely marred by disjointed course management, flawed material, and high-pressure exams. I really wish they would have had more interesting and challenging assignments that drive the “deep synthesis with the material” they want from their students. They also need to get rid of that Meta AI content entirely. Somehow, I doubt any of this will happen and they’ll either double down on the changes from this semester, or roll back to the previous design where sentiment was more favorable.
I’m torn on this course because the material is extremely interesting and fun to learn, but it’s hard to recommend overall. The experience really just tanks, fast. Also, only the first half of it is of acceptable quality, and most of the focus is on this half. I’m paying for a full course, not an appetizer.
If you’re interested, I might still give it a shot, but be prepared to deal with a lot of BS that is beyond your control.
Rating: 1 / 5Difficulty: 4 / 5Workload: 12 hours / week
FuW7Lf2BVGTKYArYj7f7ew==spring 2026
Introduction to Cyber-Physical Systems SecurityOn one hand, the material was interesting and I learned more about cyber physical systems than I knew before. On the other hand, the class moved at a glacial pace, especially the second half. The first project requires Factory IO. This program only runs on Windows. Therefore, you will need to have Windows as your OS or use a VM. You can get a copy of Windows from the IT office if needed. For this project, you will be using block diagrams to build a control system. It gave me a different way to look at problems. This is the most challenging project in class. The second project uses ladder logic. The basic building blocks are the same as the first project, but using ladder logic instead of block diagrams. Overall, it was interesting but not challenging. The fourth project was trying to use machine learning. It was completely pointless and I did not learn anything from it. This project ruined my impression of the class. The workload is light and not very challenging. I recommend taking it during the summer or pairing it with another class. I wish I had taken it during the summer and saved the full semester for a more challenging class.
Rating: 3 / 5Difficulty: 1 / 5Workload: 5 hours / week
rBAAprTd7n4xR3KjrheEEg==spring 2026
Computer NetworksI came into Computer networks with a limited background and experience with networking. I mainly had full stack software engineering experience coming in.
Lectures and modules were for the most part ok but they were in the "read on your own" format which felt more passive. The Kurose textbook and Jim Kurose's youtube channel were way more helpful to understand the concepts.
However, pay attention to the later modules like SDN, CDNs, VoIP. That stuff was interesting and actually used in practice which is helpful for system design concepts
Pros:
Cons:
Projects ranked by enjoyment:
This project also resembles real world software development because you're thrown into a small codebase with some config files that you need to thoroughly understand before you can make your changes. There are a ton ton ton of gotchas, but once you get things working, the concepts make sense
SDN Firewall: Helpful for getting practice on wireshark pcap files. Jeffrey is really sweet and he makes the project approachable. It's not "hard for the sake of being hard" but it preps you for intro to info sec
Distance Vector: Algorithmic project and was more like a leetcode medium difficulty. Aja's video on how bellman ford works made the project a piece of cake
STP: Algorithmic and DSA esque project. The requirements are a bit tricky but worded very specifically. This project didn't really help me internalize STP protocol since you're implementing a simplified version of it
Rating: 4 / 5Difficulty: 2 / 5Workload: 10 hours / week
/xBSUnnDc/9xllzRES6cvA==spring 2026
Reinforcement Learning and Decision MakingThe RL course was very time consuming. As someone who works full time and was in the middle of a big move, I was struggling to keep up with the amount of time it took to fine-tune projects to be able to get good results. This was my fifth course in the ML track, and I took it at the same time as Software Development Process. I previously took AI for Robotics, Computer Vision, Machine Learning, and AI. All straight As, including RL and SDP.
I think that we were the first semester (Spring 2026) that had the course assignments frontloaded. Given my other work commitments and move, I was not able to take advantage of that but wish I could, especially for the last project.
Quizzes are open-book and have unlimited attempts. You basically have free points on these. Some quizzes needed many attempts to get one or two questions right as they are MCMA. Overall, easy points but they don't weigh much so not a huge piece here either. Some people missed out on their deadlines.
P1 - P3 were okay projects. All projects take significant amount of hours to run (at least 20+). What was frustrating is the amount of time it takes to train your agents only to discover that your 5-hr or 10-hr run was for naught, and had worse results than your previous run. It felt like a never-ending cycle of fine-tuning in the dark with many of the projects, as beyond needing to write all code from scratch with no RL libraries allowed, there were some heavy restrictions on what you could or could not do when writing your code that would therefore would have made your agent faster and easier to solve, despite all being from scratch. So some of those weren't allowed, like speed adjustments to the agent, and made it much harder.
I got an almost perfect score on P1, and got above 90 on the rest. On top of what is laid out requirements-wise for the report, there is a hidden rubric by the TAs, I believe. I found that it kind of depends on who you were graded by to dock points on things they wanted you to write more or less about.
On P1 I was docked a few points on writing too little on hyperparams, although it was a significant section. Another project they docked off points for mentioning that too much and not enough on other things. I believe that all my reports had relatively balanced or logical portions.
Overall I tried to write as much as possible on the most important topics, but found that writing the reports for RL were harder than ML or AI project reports, for example, due to their hidden expectations. Also, every report has to come with a video presentation (you don't have to show yourself), which I find is just unnecessary added workload for every project. They don't mention anything about your videos in your grading and I don't know what difference it actually makes.
P4, AWS Deepracer, needs to become an optional project or be replaced. I was scared I might lose an A due to this and the possibility of doing badly on the final exam. The median on the final was 50%, but I got above 80%. I work in the field for many years, while also still cramming studying time.
For P4, they initially only gave us 3 weeks to complete this project (unlike 4 weeks each for P1 - P3) but it wasn't nearly enough time. A lot of students were using the PACE servers but it was constantly down and people were waiting for 8+ hours on a PACE waitlist just to be able to run their project on GPU. There were also never-ending technical issues on PACE that students constantly reported on Ed even when they were able to use a PACE session. Due to this the TAs gave us another week penalty-free.
Without that week I'd have not been able to solve at all. I was only able to solve, and only partially, near the end of the deadline, after running my CUDA-enabled NVIDIA GPU computer non-stop since the official beginning of P4, for almost 4 weeks. Discord was the only thing that saved me and even then I wasn't able to solve completely on all required portions of P4, and only solved three quarters of Part I's tracks. I was expecting them to dock points on that, and they did, but not too much. I still got almost 90% for that project. I had a well-written report and explained challenges in-depth.
If you don't have a dedicated personal computer with a GPU, I'd strongly discourage you from doing this course. Or get one, FAST. You will simply not survive well on Google Colab or PACE, when there is a day's long waitlist for PACE + technical issues, and your runs take at least 5 hrs at a time.
The curve for this course is very generous. The cut-off for getting an A was anyone who had an overall grade of 75% or above.
Rating: 3 / 5Difficulty: 5 / 5Workload: 40 hours / week
zIZzXHYQ2jFLtOKoXRineg==spring 2026
AI, Ethics, and SocietyThis is a good easy course to pair with another harder course, however I can't say I learned too much. To me, the main drawback to this course is the assignments, not the lectures. The lectures were informative and concise, but could have elaborated more on some more recent subjects/topics. On the other hand, the assignments were very confusing and I kept finding myself just trying to get it over with instead of taking the time to understand things. Also it would take days for TAs to answer questions on Ed, which prevented me from posting there and instead I just did what I thought was correct. I think the assignments should be more open-ended and less based on specific directions. I put workload as 5 hours because some weeks there was closer to 10 hours of work for assignments/lectures, but many other weeks were 0.
Rating: 3 / 5Difficulty: 2 / 5Workload: 5 hours / week
zIZzXHYQ2jFLtOKoXRineg==spring 2026
Deep LearningThis course really covers a lot of material, which inevitably leads to some subjects not being covered as much as others. This is especially true later in the course, when you get to advanced topics like Semi-supervised learning, self-supervised learning, vision transformers, diffusion models, etc. However, I did learn a lot. I also think the assignments were very effective, though beware assignment 4 is graded harder than the others, which almost cost me my A. The group project was fun, and the lectures were all effective, except for the facebook lectures which covers things too fast. If I did this again, I would not take it with another class, I would do the lectures and readings (and prob additional youtube videos) BEFORE starting the assignments to make sure I understood the underlying concepts. But the staff was super helpful and responsive, and you can tell they care a lot about the class.
Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week
9AIBpLdKh5gudR0j51RJBQ==spring 2026
Natural Language ProcessingI don't agree with some comments that OMSCS courses don't teach the bleeding edge (it's moving fast). OMSCS is not some vocational program to teach Langchain etc.
Dr Riedl brings a refined and non-vocational way to teach over-arching macro concepts. Unfortunately the change in the spring semester coupled by over-zealous, power tripping support staff made a dent in the overall experience.
The tests and quizzes are harder but not as hard as in DL. The main issue was hiring young and inexperienced individuals who overstep their power. If this is sorted out, it's still a good class and a survey course into the developments of NLP from stat ML approaches to neural approaches c. 2023. The main issue is hiring teaching/support staff with bad character.
Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week
vKZss4f98jPc2E1Wl2a0Cg==spring 2026
Introduction to Graduate AlgorithmsTL/DR: This course has a reputation of graduation gatekeeping, and while it can be difficult, it is very doable if you are diligent and detail oriented when following course expectations.
People will be unkind this course, but I enjoyed it and have some thoughts. Keep in mind that OMSCS is a massive program and thus the acceptance rate is much higher than other masters programs. In my experience, there are a lot of students that think earning a masters is a simply a matter of paying for the courses. A masters degree is difficult and requires work outside of areas you are completely comfortable with. This was a somewhat frustrating course, but there are some interesting course lessons to learn along the way. Anyways, my thoughts:
Throughout the course, you are given common blackbox algorithms like a DFS or graph search algorithm. You are expected to take these building blocks and design new algorithms to solve problems in efficient runtimes (similar to proofs). While solving open ended problems can be stressful to study for since you never really know what you know until you try and solve the problem, it is kind of fun and I found the course engaging. The discussion board was robust, and collaboration on homeworks is encouraged.
Is the grading frustrating: yes. It is very easy to understand the material and still get a lower score than expected due to the amalgamation of trivial little mistakes that don't matter a lot. However, the exact expected format and guidelines for answering problems is presented clearly in advance, and the allowed tools to use in your algorithm design are outlines clearly. Homework solutions and feedback are robust. And it was astounding to me how many solutions I saw on the discussion board even after exam 3 that still were lacking compared to the posted format expectations. Just be diligent and understand what TAs want and you can do fine.
Were the exams difficult: yes. But most longer problems match at least one homework or textbook problem. Make sure you do them and understand the feedback.
Last, make sure you read through EdDiscussion and look at other students solutions/feedback. This tells you exactly what will lose you points on the exam.
If you read the texbook, do the problems, understand the feedback on your homeworks, and understand the feedback on other students homeworks, you will be ok.
Format: 3 exams, a couple open note quizzes, ungraded homeworks.
Rating: 4 / 5Difficulty: 3 / 5Workload: 6 hours / week
9YPm6F6qrpULA6fj6AUBmw==spring 2026
GPU Hardware and SoftwareExcellent course. The semester is built around five major projects. Lectures and quizzes are relatively light on time; projects take up most of the workload.
A developing course that incorporates student feedback. This semester added a flash attention project, which may be why the final exam felt easier than expected.
Strongly recommended, but not as an early OMSCS course. Take it later in the program; otherwise the learning curve can feel steep.
Rating: 5 / 5Difficulty: 4 / 5Workload: 15 hours / week
9YPm6F6qrpULA6fj6AUBmw==spring 2026
Natural Language ProcessingUsefulness: 8/10 Difficulty: 7/10 (10 = hardest) Enjoyment: 5/10 Difficulty getting an A: Not quite easy
This was my first OMSCS course. I spent hours refreshing the registration page and was thrilled when I finally got in. I ended up with a B, so maybe don't celebrate too early.
The professor's lectures are excellent. The first half covers RNNs, LSTMs, Transformers, and related foundations. It is genuinely useful and well taught. I'd put the usefulness of that portion at well over 80%. I strongly recommend it, especially if you're not yet solid on what a Transformer is.
The second half shifts to somewhat dated NLP applications. Content is organized by application per module, so it feels scattered. Honestly, beyond memorizing keywords that map to each method, I couldn't clearly explain what we were doing. I couldn't retell the material in my own words if asked. It felt like rote, exam-driven learning rather than real understanding.
The midterm and final together are worth 40% of the grade. To aim for an A, you essentially need near-perfect scores on quizzes and homework, and roughly 75% on both exams, which is not easy. Between aggressive course reforms and some TA grading mistakes, the class ended up with a +2.5 curve.
I'd still recommend it as an intro if you don't know Transformers yet. If you've already taken a solid deep learning course, this class is mostly a subset of DL plus a block of opaque, application-focused NLP (machine translation, open domain QA, etc.). Those tasks are largely obsolete in practice now that LLMs dominate. In that case, it's hard to justify the time and effort.
The experience was okay. The professor is engaged and responsible, but TAs may not have much bandwidth to help. My biggest takeaway was a gentle introduction to NLP and LLM building blocks such as Transformer, but in hindsight I didn't retain as much as I hoped.
After Spring 2026, I would not recommend taking this in summer because of the exam load and time pressure.
Rating: 4 / 5Difficulty: 4 / 5Workload: 15 hours / week
NkjFNFpvbATJRrSCjVgVSQ==spring 2026
Machine LearningThis class is brutal. I learned a solid amount about ML, and Dr.LaGrow is a suppoetive instructor, but you need a ton of time for this class, even if you took the prerequisite AI class like I did. If you’re a pretty quick learner you’d probably do this class in 20-30 hours a week. My biggest gripe is the time commitment compared to the amount learned, the hidden rubric, and the report grading.
Time Commitment: I would say I’m typically around average in most classes, so take that for what it’s worth, but even then I easily put in around 40 hours a week. That’s madness. Most of it was spent self learning and vibe coding for the reports because the course isn’t structured to allow students to breath. Time to watch lectures is nonexistent since your grade is based on reports. Essentially I just had to do a bunch of self learning to get what was needed for a conceptual understanding of the reports and quizzes. I doubt most students watch the lectures. The first report was the hardest.
Hidden Rubric: It feels like a scavenger hunt trying to gather all the requirements. This wastes a ton of time where students have to scour ED and discord. Even then responses between TA’s are conflicting.
Report Grading: The grading is wack attack. It feels like a rng. Each TA gets 40 reports to grade and you’d think that since they all have a hidden rubric the grading would be at least somewhat similar, but nah.
Rating: 2 / 5Difficulty: 5 / 5Workload: 40 hours / week
hgdvJl6D9SKgPU81x0CD3w==spring 2026
Artificial Intelligence Techniques for RoboticsAs a headsup, this was my first course in OMSCS, and I paired it with a couple of seminars, one of them related to robotics as well. Even though I don't have anything else to compare this course to, I really liked it.
This course is very well run from start to finish, and it feels like everything has been thought out. From the timeline focussing on getting through most of the lectures early so that students get enough time to focus on projects, office hours with Dr. Summet, office hours with the TAs, and specially the tutorials with Leo and Sasha, I really liked how everything was setup. Another call out would be around the structure of the grading policy as well. By the time I reached the final exam, I barely needed a lot of marks to be able to secure an A, so safe to say that even if this course has closed book exams, the projects are where the meat is at. And even then the exams were very fair, and easy to score in my opinion. For people who already have experience with python, probability and data structures, this should be quite easy. And even then the projects are super fun to work on.
Special shoutout to John and Sasha (the head TAs). Just listen to what they say if they are still TAing, and you will sail through. And I think to Dr. Summet, for setting up the course and the TAs, the way he has.
Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / week
D8C7L4DMq33abLb+tYYaqw==spring 2026
Graduate Introduction to Operating SystemsThis was my first class in OMSCS. It was my first formal introduction to C, C++, and OS. The lectures are all publicly available, so what you pay for is the projects/exams.
I found the projects extremely rewarding. After doing them (and the lectures), I feel like I have the skills needed to approach reading the Linux kernel source code. They're also very fair. They have an autograder, and my experience was that if your code consistently passes the autograder, you get full points, but YMMV. IIRC the average for the code-portion of all the projects was near 100%. The project submissions also require a written report, but the rubric for those are available and seemed to be graded very fairly.
Project 1 was the most time-consuming. Including prep work I did before the semester to learn network programming and C programming, it probably took me ~100 hours, but most of that was learning C and the socket API. Project 3 was much easier. I personally found project 4 by far the most conceptually challenging, and I extremely underestimated how long it would take to learn C++ given that I had just learned C. I think PR4 would have been much easier if I had watched the DFS lectures first. Woops.
Even though the course material is vast, the exams consisted of a small number of very simple questions, which means any unfortunate wrong answer largely impacts your grade. Luckily, most questions were either reminiscent of the practice test, or was on content that was heavily emphasized in lectures, so I thought the questions were fair.
I only skimmed 2 of the papers. Relevant portions were all mentioned in lectures. I really liked the textbook, but its not necessary either. I also ended up watching a lot of HPCA lectures to dive deeper into some topics I was curious about.
I tried doubling GIOS with Reinforcement Learning, and my experiences were night-and-day. RL was about 2x the work, no auto-grader, and rubrics were hidden, feedback was minimal, and grades were lower. I ended up withdrawing from RL. GIOS is a great starter-class, RL is not.
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
qMm+zPdn+15mkwwiFSJ3Vg==spring 2026
Statistical Modeling and Regression AnalysisI took this class because Regression is such an important foundational subject. The course really covered many details of regression analysis, which I'm happy about. Also the course focused a lot on coding/implementation, and how to analyze data, how to test assumptions, how to select/filter variables, so on. Overall I got extensive knowledge and hands-on exercise of the subject. Glad I took this class.
Rating: 5 / 5Difficulty: 2 / 5Workload: 9 hours / week
wzuTgVDUXQlOr0c6l20xdw==spring 2026
Knowledge-Based AICourse is fine... but workload is honestly insane. Class expects no AI usage despite being an AI course.
Workload was borderline inhumane. 1 week to do both code and written reports which were on average 4-5 pages. And then on top of that, you have to worry about the final project in conjunction. So like everything just keep piling and piling up. It was very difficult for me to manage work with this.
Rating: 3 / 5Difficulty: 4 / 5Workload: 35 hours / week
dxXLB5dalZfLbCgjbOSvBg==spring 2026
Mobile and Ubiquitous ComputingThis is a masterclass in how NOT to run a course, and I am saying this as someone who more or less breezed through with a high A. The review 2Yb9pTqZf8v0/X/Q1rELfg== pretty much matches my experience, but I wanted to add a couple details:
Overall, course staff needs to be held accountable for this disastrous offering. I experienced severe whiplash from how well CS 6750 was ran last semester.
Rating: 1 / 5Difficulty: 2 / 5Workload: 10 hours / week
8QCkBpfuICilGM394ipFEw==summer 2026
Artificial IntelligenceThis semester was when NOSI was introduced as a a requirement. IMO it was only problematic in assignments A0 and A1 but you were permitted to use VS code until A3 onward. Some students did have trouble with it in later assignments. Unless you copy-paste code from LLMs or unallowed sources the TAs mention, using NOSI shouldn't flag an OSI violation.
Excluding withdrawals, this semester had a lot of As (about 60-70% I believe?). Managed to get a comfy A (94%) despite no extra credit and scoring slightly outside one standard deviation below mean on both midterm and final (I got 81s for exams that had averages between 90-95%).
Got a 100% on all assignments except A1 which I only did half of for taking too long. Assignments took about 20-30 hours in my experience except A1. This time included lectures/ textbook reading learning the material in-parallel to doing the assignments. I would drop A1 as your freebie since it is the longest. Aim to get 100% on assignments to give yourself a cushion for exams and make them more stress-free.
Exams weren't difficult but were a time sink (approx 30 hours for me each) so start early. Challenge questions were the best prep for exams -- exams matched difficulty of challenge questions, or were slightly harder. Did all challenge questions (took about 2-3 hours each) and got a 90%, dropping the two lowest scoring ones.
I didn't go to any office hours or do the additional readings -- only read/ watched what I needed to complete assignments and monitored the Ed discussions. Have the textbook on-hand for the exam and review video lectures when you come across a question you need a refresher on. I didn't prep for the exam so you would do better if you did all the things I didn't.
Overall, TAs were helpful, grading was lenient, NOSI was not too bad, material and assignments were not too difficult but the class does require time investment. Only improvement would be to have a TA record videos of them doing practice questions based on lecture examples or previous exam questions.
Rating: 4 / 5Difficulty: 3 / 5Workload: 20 hours / week
MPtpJXn2MbfgMn1wLkKkUg==spring 2026
Machine Learning for TradingI’ll be upfront, I received an 89 = B. First B after 8 classes.
My rating and ranking are split. The lectures and projects created by the original instructor, Tucker Balch, are great! I learned a lot from him and would rate his content 5/5, with a difficulty rating of 3/5. He put time and effort into what he created, and you’ll gain insight from his lectures/projects.
Unfortunately, David Joyner took over. My ratings are of how Joyner is ruining this course.
How to succeed:
Video lectures help you with projects (this is what Tucker Balch created). Watching those is key to completing the projects.
Start lectures and projects early. It'll give you breathing room so you don't stress out and can focus on exam prep.
Don’t expect to learn from David Joyner. His contribution to this course is reading material that HE DOES NOT TEACH. Learning on your own is great, but 75-80% of the exams are based on the reading material. And since he doesn’t teach, it’s hard to know what to focus on for those exams. The real kicker is how Joyner wrote the questions, which are confusing and verbose. I went into each exam feeling prepared after 20-30 hours of studying, but left discouraged. Challenging exams can be helpful when they make you think deeply. The issue was that the wording often made it hard to know what was being asked, even if you knew the topic.
Carefully read the project rubric. Joyner added major deductions to projects. I received an 80% on one project because not ALL my graphs/charts were generated in Gradescope, which is an immediate -20%. Even though it could be fixed with 4-line updates, it doesn’t matter how well your project report was written or how well it demonstrated what you learned. I received an 80% on the report. That dipped me to an 89 in the class. I asked whether the deduction was correct or proportional. No. A strict -20pts. Watch out! Joyner is unnecessarily adding hurdles that change focus from learning to admin.
Pros:
Cons:
Rating: 1 / 5Difficulty: 5 / 5Workload: 15 hours / week
yGQfqHWI/Zm/+Be0x+tsuQ==spring 2026
Introduction to Analytics ModelingI wrote up a pretty thorough review here https://www.nickcolleran.com/articles/isye%206501:-intro-to-analytics-modeling
Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week
Ud9D8IKvThPDvsV91CC6iQ==spring 2026
Introduction to Graduate AlgorithmsOverall, GA was probably my least favorite class that might be due to me narrowly missing an A (my only B). But that was mostly due to me misreading parts of the first exam and not taking the quizzes seriously at the beginning. I ended up doing very well on Exams 2 and 3.
Personally, I think the class grades too harshly. I saw many students lose nearly all points on free-response questions for relatively small mistakes on Exams 1, 2 and 3. The grading consistency between TAs also didn’t always feel the same. For example, I saw some students lose 5% on a free-response question while others lost 10% for essentially the same runtime mistake, depending on who graded it.
That said, I don’t think most of the questions themselves were unfair or excessively difficult, aside from the Divide & Conquer free-response on Exam 1. In general, the material tested was reasonable. My bigger issue was with how strict the grading criteria could be, especially since some questions were easy to misinterpret under exam pressure. I think adding clear examples would help a lot of students.
It also doesn’t help that homework is basically the only meaningful source of feedback throughout the course. Definitely take the homework seriously because it gives you the best sense of what the TAs are looking for in free-response answers.
One thing I will give the course a lot of credit for is the teaching staff’s availability. The TAs were consistently quick to respond, and I appreciated Professor Brito holding office hours almost every week. The accessibility and support from the staff were honestly better than in almost any class I’ve taken.
For context, I came into the class with some informal algorithms background, but not a ton. The biggest thing I gained from the course was learning how to quickly recognize which algorithmic approach applies to a problem. I’m much better at that now. LeetCode problems, even many of the hard ones, feel significantly more manageable after taking this class. I also improved a lot with dynamic programming and graph/tree algorithms.
This class wasn’t the hardest class I’ve taken by any means, but it was still difficult and definitely time-consuming. A big part of the challenge was learning both the material itself and understanding what the teaching staff expected in free-response answers. The exams also occasionally threw curveballs that tested whether you could adapt concepts rather than just memorize patterns.
My personal ranking of course difficulty based on the classes I’ve taken would probably be:
IIS < ML4T < GIOS < AI < ML < GA < DL < HPC < RL < DC
Of course, difficulty is subjective and depends heavily on your background. If you already have strong algorithms experience, GA will probably feel much easier than it did for many students.
If you don’t have a strong math or logic background, it may be a good idea to brush up beforehand.
The class itself isn’t impossibly hard, but it’s very easy to make small mistakes that can cost a significant number of points because of how strict the grading can be. I think that’s a large part of why many students end up with Cs and have to retake the class
Rating: 3 / 5Difficulty: 4 / 5Workload: 15 hours / week
4HxQFBVgNyfcv/Glb/RyyA==spring 2026
Graduate Introduction to Operating SystemsOverall: This was a really informative, challenging, and mostly well-designed course. If you want to learn a lot about operating systems and develop your C/C++ programming skills, this course will do that for you. Be prepared to spend a ton of time on the projects. If you have no prior C programming experience, even more so. This was my second OMSCS course, and was a really challenging but rewarding experience. I'm torn between rating a 4 and a 5 because of a few complaints (see "cons" below). Would give 4.5 if possible. Gave 5 because ultimately the point was to learn a lot about operating systems, and I did, so the course absolutely achieved its objective.
Background/Context: I do not have a CS undergrad degree, but between various non-degree undergrad courses, MOOCs, personal projects, and work experience, you could say I had the equivalent of a "self-study undergrad-level CS minor". I came into the course with zero C/C++ experience, zero systems programming experience. A vast amount of the time spent on the projects was learning C/C++ and Linux system programming patterns and conventions. Those with more prior relevant experience may find the projects less time-consuming. This was my second OMSCS course.
Pro: Great video lectures. Everything is explained starting from the very basics, building up to more complex concepts. Great graphics and explanations. Project 3 is really well-designed. Midterm seemed fair. You will learn a lot.
Con: Lecture content and projects are sometimes not well aligned. You will have to do a lot of research on your own just to grasp what the project is even asking you to do. I get that it is a graduate course and this is to be expected to some extent. But a little more lecture-project alignment would have been nice. A lot of "hit or miss" grading. If you make a small mistake in a project and can't manage to debug it, you could fail most of the auto grader tests and bomb the project. Final exam questions seemed more difficult than most of the examples presented in the lectures.
Assignments P1: C socket programming. Incredibly time consuming. This was compounded by the fact that I had never used C before, so had to learn as I went through the project. Not very related to lecture content, so it is very much a "figure it out on your own" sort of thing. Beej's Guide is incredibly valuable.
P3: Interprocess Communication. Best project. Most connected to the lectures so it feels relevant. You have to make some real design decisions.
P4: gRPC. You will spend hours reading gRPC documentation. You will spend more hours reading more gRPC documentation.
Midterm: Fair. Not easy, not too hard. Questions mostly matched lecture content.
Final Exam: Brutal. I read this in many reviews, and still underestimated it. Every single question required making very fine distinctions between concepts - no really straightforward questions. Calculations were more complex than most lecture examples. You can't really overprepare for this final. I had zero confidence in how I would do when I finished. I ended up doing fine, but it felt like any of a few small decisions could have swung my grade +/- 40 points.
Workload: Lectures (35 hrs), P1 (120 hrs), P3 (60 hrs), P4 (60 hrs), Midterm (15 hrs), Final (30 hrs)
I ended up with an A, but at the cost of a considerable time commitment. The workload never lets up, but if you put the time in, you'll do well.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
2Yb9pTqZf8v0/X/Q1rELfg==spring 2026
Mobile and Ubiquitous ComputingI was dreading taking this class to fulfill the HCI requirement, and for good reason. There are a lot of discrepancies between assignment rubrics, assignment instructions, and Jupyter notebook templates that didn’t get resolved until days before the assignment was due! Crazy.
The lectures are actually pretty interesting, though not very necessary. I just referred to them when I needed to for the assignments (which have infinite attempts btw).
I didn’t do any of the readings unless there was a question that referred to one, at which point I would skim the reading in question.
The first individual assignment is a mess. I’m not sure why they haven’t fixed this assignment since every single semester seems to complain about it ad nauseam. You have a rubric (which they took down midway through the assignment), Python files (which you don’t need to modify, though they’re not very clear about that), a Jupyter notebook, assignment instructions, and a deliverable template, all of which seem to contradict each other. You’ll be drowning in Ed Discussion posts asking for clarifications. My advice: 1. Walk in a straight line for the first part of the assignment, since walking in circles creates variables that are hard to account for, and 2. Ask for permission to use the stairs data they have on Canvas for Task 4. It’s a clean dataset and probably a lot easier to analyze than what you’ll get if you try to create your own at home.
The second individual assignment is actually pretty fun. I enjoy working with Arduinos. I’m not sure how much I got out of it, but I enjoyed it.
The final exam had unlimited attempts and no timer. We had a week to do it, and it was made up of the same kinds of questions the exercises had. I spent a lot of time on it (about 15 hours) to make sure I got a good grade, but it wasn’t particularly difficult since it was open book, open notes, and open Canvas. Most of my time was spent trying to find the specific papers or lessons that the questions were referencing. AI is not allowed, but even if it were, you wouldn’t want to trust its answers over the course material. I will say, though, that the ranking questions seem subjective and therefore unfair, but they didn’t make up much of the test.
The project was annoying. My group just wanted something easy to do, which I was immensely thankful for since I was burnt out from stressing over previous projects in the program.
Overall, the course was annoying but not particularly difficult. Most of the stress came from its disorganization, lack of guidance on the project, and the inevitable group dynamics you need to deal with. I’m left wondering if I would have hated GA less, which is ultimately the reason I chose the HCI route.
The one redeeming quality of this course is that it’s graded very leniently, but that doesn’t mean it isn’t needlessly stressful.
Rating: 2 / 5Difficulty: 2 / 5Workload: 10 hours / week
C3Idv8ylYpFDQqlwsq904A==spring 2026
Database System ImplementationBackground: not an SWE but fair amount of coding experience and systems courses such as GIOS, AOS, DC, CN, undergrad OS, computer architecture, DSA. Having taken all of those systems courses was definitely helpful for understanding the assigned readings.
I wouldn't say this course is an easy one, but definitely not harder than GIOS or AOS. My impression is that early reviews of this course were done by students who are much more skilled in C++ or when the curve was more generous, quizzes were easier etc. At the same time, instructors offered 10% extra credit this semester, so I wouldn't be surprised if most students ended up with an A again.
Assuming familiarity with C++, the assignments take about 0.5-0.8x the time of a typical GIOS/AOS assignment. Like most other courses, this course's quiz/exam questions could be worded more clearly or precisely.
For me personally, most of the knowledge I learned was from reading the textbook, papers, and studying for the exams. The lectures are very high-level and prioritize teaching C++ too much at the expense of teaching about databases.
I would get rid of:
I would have liked to see a coding project on vectorized execution, columnar storage, or log-structured merge trees.
TAs are nice but kind of slow responding to questions and not really transparent about bugs or issues that come up with the assignment instructions etc.
Rating: 3 / 5Difficulty: 3 / 5Workload: 20 hours / week
MaHyEUE/MH2f8CyMDzyNHQ==spring 2026
Introduction to Computer VisionI did NOT take the Computer Vision class itself and my rating and workload of the class are the averages of those who had reviewed it previously, but after reading some of the comments here, and having taken Deep Learning focused on neural networks, I would strongly recommend at least becoming familiar with deep learning fundamentals before or alongside CV.
A huge portion of modern computer vision today is built around deep learning, especially CNNs and increasingly Transformers. Understanding how neural networks learn, process features, generalize, and optimize can make many CV concepts feel far more intuitive and less overwhelming.
One approachable deep learning resource I recommend: Deep Learning: From Curiosity to Mastery Volume 1 builds intuition around neural networks, PyTorch, training, classification, optimization, and practical projects in a very beginner-friendly way. It helps build the mental foundation before diving into more advanced architectures.
Volume 2 then moves into CNNs, Transformers among other architectures and ideas heavily used in computer vision and generative AI today.
You can preview the books cover-to-cover here: https://balloontip.com/preview.html
What stood out to me is that the explanations are intuition-first and much more approachable than many mathematically dense deep learning books.
Rating: 4 / 5Difficulty: 4 / 5Workload: 22 hours / week
9aX2plVl2VrCgwFlHmvalQ==spring 2026
Machine LearningDespite getting what turned out to be a comfortable A, this has been one of the most demoralizing academic experiences of my life. I have already taken HCI, AI, and SDP before this course. There is a lot of overlap with AI here, but ML goes deeper in almost every area.
The quizzes and exam were all very standard stuff. Interesting and challenging, but ultimately very fair assessments of learning. Occasionally, the questions felt like they were clumsily worded without care to understand how imprecise language can be misinterpreted. For the quizzes, this was fine because you could retake them, and for the final a couple of these questions were struck after the fact.
The reports are where this class is really brutal. They present themselves as "open-ended", but in reality, they couldn't be farther from that. They are an exercise in trying to piece together the requirements, the FAQ, Ed-threads, and office hours notes to figure out what the actual secret rubric is. You cannot stray from this very rigid rubric, or you will fail and they will never tell you directly what the rubric is. It's essentially playing a game of academic battleship with the TAs. On of my chief complaints with this structure is that the "FAQ" and Ed threads are not valid places to put hard requirements. FAQ doesn't mean "more requirements" anywhere in the world except this course.
The content required for these reports is also so vast that you essentially have to use gen AI (which is allowed). I felt like I never had the time to deeply understand anything before I had to move on. I understand how things work in the real world now (it's certainly how my job works now), but I can't help but feel like the academic setting is where you are meant to slow down and go deeper. They say these are "8-page reports", but the first one contained over 30 figures, and the formatting is doing a ton of heavy lifting. Make no mistake, these are massive, extremely dense reports.
The report grading is an absolute mess. I got an F and a D on my first two reports and an A+ on my second two. There was no significant quality difference in my reports, I just got the same grader for the first two reports and different graders for the last two. I don't know if I was just unlucky, but it felt like writing these reports was spending 80+ hours and then getting graded by a random number generator. Even on the last report that I aced, the grader gave me full credit for the extra credit which I didn't even attempt. Succeeding didn't even feel satisfying because it just felt like random outcomes.
The saving grace of this is that you can just muscle your way to success despite how unsatisfying the reports are. If you sink enough time into this and do the revisions, extra credit, and retake the quizzes you will get an A, it just might take a full time job's worth of effort. To add to the pain, you never really know if you need to do this because the course is curved. I ended up well above the threshold for an A after spending the vast majority of the semester over a standard deviation below the median. I feel like curve check-ins after each report was graded would've helped me manage my effort a lot better. Overall, I actually loved the material presented in this course. The fourth report in particular, I found really interesting and made me want to take RL in the future. However, actually learning and exploring the content ended up being a tiny fraction of the time commitment of this course compared to vibe coding, report formatting, and trying to reconstruct a hidden rubric.
Rating: 2 / 5Difficulty: 5 / 5Workload: 30 hours / week
C3Idv8ylYpFDQqlwsq904A==summer 2025
Computer NetworksThe course is not a total blowoff but relatively easy. Coding assignments are just implementing basic algorithms or packet processing/firewall rules in Python. Most of the lecture material is ripped from textbooks or poorly written.
CN is an okay course to "check the box" if you've never formally studied computer networks. Most of the knowledge I learned during the course was from reading the Kurose textbook or preparing for the midterm/final exam. Don't expect a lot of value if you do the bare minimum for an A.
Rating: 2 / 5Difficulty: 2 / 5Workload: 15 hours / week
C3Idv8ylYpFDQqlwsq904A==summer 2025
Deep LearningCompared to 7641, this 7643 course strikes a decent balance of implementation and theory. The coding assignments are fairly time-consuming but reasonably challenging. The lectures are mostly okay albeit high level. The later lectures are pretty bad. I think I ended up reading only ~5 of the most foundational or required papers. Some quiz questions go beyond regurgitation and toward testing real understanding and logical deduction from lecture concepts. However, some of the quiz questions can definitely be made more precise by the instructors IMO. I suggest rewatching parts of lectures, asking yourself questions, and supplementing with the textbook/other resources as needed. With the quizzes weighted only 20%, it's easy for students to feel unmotivated to study, so I do think they should be weighed more.
I never expect contributions to be perfectly equal since every student comes with different skills, knowledge, and experience, but I think free riders on the group project are probably underreported to instructors for various reasons. With that said, I suggest trying to pick a project idea that's genuinely interesting since it's easier to stay motivated and dedicate time. Scope the project experimental design so that you can easily scale the work up or down if your teammates don't contribute much. Even with 1 non-contributing teammate, I put in a ton of time and effort and was pretty happy with my other teammate and how the project turned out. The group project should really be replaced by an individual project like ISYE 6420 Bayesian Stats course - TAs have enough time to grade those, I don't see DL projects being any more difficult to grade by TAs, especially with how lenient they are.
Rating: 4 / 5Difficulty: 4 / 5Workload: 25 hours / week
P7SiG0gyo83wBJ/36vaDhQ==spring 2026
Human-Computer InteractionCourse Review: HCI (Dr. Joyner) This was my fifth course at GaTech and easily my favorite. It actually convinced me to switch my specialization to HCI; I’m now split evenly between HCI and Computing Systems.
Lectures and Content This was my first class with Dr. Joyner, and I was very impressed. The lectures are logical, consistent, and the information flows well from lesson to lesson.
The readings provide good context, but the volume is excessive. I spent about 8 hours a week by only diving into readings when they were necessary for assignments. Those who read everything were easily clocking 18–20 hours a week.
Workload and Practicality The deadlines are tight and the work is heavy, but the payoff is real. I use the concepts from this class at my actual job every day, which has already led to better processes and higher user engagement on my projects.
Projects Individual Project: This is a heavy lift that effectively reinforces course concepts. You have a lot of freedom to choose an interface to redesign. It’s a "get out what you put in" assignment—I spent significant time on a 40-page submission and earned an A.
Group Project: This occurs late in the term when burnout is high. My group struggled with motivation and timing, often finishing right at the deadline. This seemed to be a common experience across other teams as well.
Participation Points This was the only frustrating part of the course. Points are earned through Ed Discussion, peer reviews, and surveys, but the tracking system felt inconsistent for much of the semester. It led to "panic posting" just to hit the cap.
Recommendation: Once a student reaches the cap, allow for bonus points or extra credit to keep the collaboration going. A milestone dashboard or class ranking could also help keep students engaged without hinging grades on it.
Staff and Support Dr. Joyner and the TAs are excellent. They are helpful, professional, and genuinely eager to assist. When my group had a scoring issue during the final project, the staff guided us through the process immediately and respectfully, which is a refreshing change from the "snarkiness" found in some other courses.
Rating: 5 / 5Difficulty: 3 / 5Workload: 8 hours / week
w1SovK8k43rCPMHj+/qlzg==spring 2026
Knowledge-Based AII wasn't that interested in the material, so I decided to just get a B. That said, this really wasn't that hard. About half the grade is written reports, which took me about 15-25 minutes on average. There is a detailed rubric and if you follow it and make sure to answer all the questions you'll get full points most of the time. That leave a lot of room for error on the other assignments. I got about 60% on the tests and final project performance part and ended up with 88% in the class. I stopped watching the lectures after the first test and actually did better on the second test lol.
There is a lot of extra stuff you can do for this course, so I can see why some people spend so much time on it, but if you don't want to do that, this class can be really easy if you're already pretty good at python.
Rating: 4 / 5Difficulty: 2 / 5Workload: 4 hours / week
d1CsKsoAaxRb7ElceWkfmQ==spring 2026
Machine LearningCohort: Spring 2026 Grade: 94% pre-curve, 98% post-curve. Report grades: 2 >=100, 2 ~90. I took this course with multivar. calc., linear alg., and probability theory in my toolkit, but no ML experience. If you already know scikit-learn and pytorch workflows, can do cross validation, plot learning curves, and tune hyperparameters, this course will be much easier for you.
With that being said I would kindly advise you not to take this course. Also, I would kindly advise you not to take this course.
I took this along with GIOS (also scored a 98%), and I want to say that the required time for this course is about 2.5x that of GIOS with a much, much worse learning outcome. If you must take this course, do NOT take this with another course. Also, do NOT take this if you are employed. The time requirements for this course along with the hair-pulling from the poor course design will drive you mad.
Course format: After 10+ years, ML is really an amalgamation of three courses: the traditional Georgia Tech Machine Learning syllabus (readings) plus the Udacity content and more readings (Isbell era) plus more readings, videos, and the dreaded reports (current era). This course has been a horror for years, and it continues to be a horror. There is so much content among the video/reading/quiz/report teaching formats from all the different iterations of this course, with most of the content never being repeated in other teaching formats. When you take the first quiz of the course, you will be asking yourself why you didn't see MOST of the quizzed concepts in any of the readings or videos assigned. Then, you will open up the first SL report guidelines and be met with even more concepts that you've never seen before and were not taught in class. That is the general theme of the course. It does not care about your time, it may teach you things that will never be reinforced or reviewed, and it may test you on things that were never taught.
Reports: 80% of your time in this course will be writing the dreaded reports, which have 7-8 page rubric PLUS a 7-8 page FAQ. You will be required to pick apart each of these on your own to figure out what data to include in the report (which will include 40+ items, and if you're like me, 3/4 of these items you will never have heard of before and will not be taught in class). Each report on its own will take >=80 hours including coding, running, writing. The Georgia-tech maintained libraries for RL and OL either have bugs or just don't have the functionality required for the reports, and you will have to read through vibe-coded libraries to implement the required functionality (or have AI do it for you). The grading for the reports, irrespective of effort, will fluctuate by +- 15 points.
General Module Format: There are 4 modules, SL, OL, UL, RL, which each take 3-4 weeks. The report and quiz open as soon as you start a new module. In reality, you will spend the first 3-4 days cramming all 3 weeks of videos and readings, then spend 1-2 days finishing the quiz, then spending the rest of the 3 weeks writing the report.
My feeling taking this course: I strongly considered withdrawing from this course (the first time I have ever considered withdrawing from a course in my life) because I was working on the reports for 10-15 hours a day for many days in a row. The SL report is a special shock to the system, since the guidelines are written in indecipherable ML jargon attempting to convey concepts that were never taught.
If you must take this course: In the first two weeks of class, to prepare yourself for the SL report, please read the first 5 chapters of "Hands-On Machine Learning with Scikit-Learn and PyTorch" on O'Reilly's website (free for students). This will greatly(!!) help for the SL report.
Finally, if you're able to stick it out, for this cohort, an ~83% was good enough to get an A. The quizzes can be retaken, so they are essentially free points. There are also many extra credit opportunities. Unfortunately, all of the above are just additional time commitments to the already hyperinflated time requirements of this course.
Rating: 1 / 5Difficulty: 4 / 5Workload: 33 hours / week
+6daAPKfecHcJhiA7Axm4Q==spring 2026
Introduction to Graduate AlgorithmsI scored a solid B in my second time taking the course. I have a non-CS engineering background and this was my last class having taken GIOS, ML, ML4T, DL, HPC, HPCA and a couple others with all A's. I am very proud of my B in this course.
I also have very mixed feelings. I will start with positives. Dr. Brito and the TAs are beyond dedicated and truly want you to succeed. I felt lucky to have taken the class before with Joves. Tim is excellent as well and explains things very clearly. The TAs are very responsive and the chat in OH is hilarious at times. I will miss that aspect of the course. Exam grading was very fair provided you study hard beforehand.
The trouble with this course is that the 90% weighting of exams introduces an extreme amount of stress and anxiety into the course. This is very unfortunate because the material is excellent. I will admit my mental health suffered with this course since I work full time. You are not a failure if you do poorly here, since there are so many reasons an exam may not go your way which will impact your final grade significantly. It is very sad to hear smart classmates taking the course for the 3rd or 4th time.
My tips for success, even though I did not get an A:
Do the homework. No excuses. Study practice problems and do them until you understand them. I did not put effort into HW in my first try and it showed. Second time, I submitted every single one.
Stay disciplined. Do at least a couple problems every day. Study for exams in time restricted setting, and find all of your mistakes when grading yourself. Watch David Goggins videos if you feel like slacking off.
Join a study group and share good solutions and bad solutions. You need to know what NOT to do on the exams to succeed. My 'war buddies' were brilliant people, and I am grateful to have met them here.
Be cognizant of your mental state before and during exams. Taking PTO to study is helpful to really focus if you can. A full nights rest and a good meal beforehand makes a world of difference. Read exam problems slowly so you do not end up in a position where you know the material but misread a question.
Lastly, did I mention to do the homework? Do not take the HW feedback personally, just remember the TAs want you to succeed.
I completely understand if some students do not find it worth it to take this course. I am just here to say if you want to conquer this course you can with lots of hours and hard work. I had ~30 for E1, and 55+ for E3. Perhaps the stress is not worth it, but the sense of accomplishment you get when the concepts start to click and your exam scores reflect your effort is priceless.
Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / week
J2D54Vgzw983EqL0aj+WkA==spring 2026
Deep LearningFantastic course. The first month or so is heavier on the math, so review or learn linear algebra and multivariable calculus (especially partial derivatives) if your math is rusty.
The course lectures are OK. Watch the Justin Johnson UMich lectures on YouTube, which overlap with most of the course content. Watch the course lectures as well to help with the quizzes. It's nice that they have lectures on more recent developments in deep learning including diffusion models and some recordings of on-campus talks related to LLMs.
The quizzes are brutal. Pay close attention to the focus topics that are posted in Ed since they'll help narrow the scope of material that you have to study for quizzes.
Assignments are straightforward for the most part. Sometimes they will dock points for something that they didn't ask for in the assignment PDF or report template, so bias towards writing more in the reports. Assignment 4 on image generation had much more weight on the writeup than the code. The requirements were not very clear, so the overall grades were significantly lower on that assignment than A1-3.
The final project is a group project. It can be a bit chaotic trying to form groups. Luckily I had a good group and it was not too bad overall. Grading is very lenient. The median score was 58/60, so don't stress too much about it and just hit all the points in the provided rubric.
Reading landmark academic papers and writing something meaningful about them was a bit tough at first, but I feel a lot more comfortable with it now. I really appreciate this aspect of the assignments.
The TAs are the best I've had in any OMSCS course. Very responsive and helpful on Ed. The other students in the class were also very sharp.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
JCepempSegT5hHM0GED9lA==spring 2026
Introduction to Graduate AlgorithmsGA was my 9th class. Before taking it, I read a lot of nightmare reviews and complaints about this class, so I was extremely wary when finally taking this class. In hindsight, it was not that bad. I ended up with an 84%, one percentage away from an A.
For some background context, I am a full time software engineer with 6 years of experience. I majored in computer science in undergrad and took an algorithms course then, albeit way easier than GA. I also did Leetcode from 2021 to 2023. With that being said, Leetcode only helped with exam 1 and even then, I still got stuck on the free response problems and got by far my lowest exam score.
I attempted every single homework problem. Around half the homework were coding problems, I did not actually code those but treated them just like a written homework. I believe doing the homework is absolutely imperative for success in the course. The free response questions were basically a variation of the homework. I did not have a study group to go through the problems. Instead I refined my approach to the homework problem with AI and looked at the discussion threads. There is a wealth of information in those threads and people will post their solutions which got full marks. Be sure to look at those.
The TAs also release additional practice problems. I did just about all of them for exam 1 but realized they are not entirely necessary. For a select few of those additional problems, they will release a solution or video walkthrough. Only do those problems because their solutions are guaranteed to get full marks on an exam. The other practice problems do not have a solution and thus not worth doing.
As for lectures, I watched every lecture once and then the specific parts I did not understand, I would rewatch a week later. And that's the thing about this class, the content can't be crammed in a weekend. It took time for me to understand. This was especially the case for exam 3 content (NP proofs) because I had zero experience with this.
Initially I watched the office hours but I came to realize that out of the 1-1.5 hour long office hours, only 15-20 minutes actually had useful content. Instead, I began putting the office hour transcripts into AI and letting it generate a summary. This was way better use of my time. The office hours were useful because the TAs would provide good exam tips and some of their questions would be very similar to the actual exam multiple choice.
On a normal weekend I would spend 5-10 hours a week watching lectures and doing the homework. When the exam week rolled around, I would spend 15-20 hours studying. In all, it was not a very time consuming class compared to some of the harder classes I've taken. However, this was by far the most anxiety inducing class I've taken. Glad I got it over with. In the end, it was a rewarding course. I will probably do Leetcode again this summer to interview prep and this course gave me a renewed sense of confidence to tackle tough algorithm problems.
Rating: 3 / 5Difficulty: 4 / 5Workload: 10 hours / week
tW2Z1L0TerS2n6pWS7ynEg==spring 2026
Special Topics: Intro to ResearchI really enjoyed the course. You will get out of it what you put into it.
Assignments
For 12 weeks you will have some quick lecture videos and a small quiz. The quiz is repeatable and very easy. You don't really even need to watch the lectures, but they provide a general overview of the academic research process.
First half of the course has you reading research papers and writing summaries. 3-5 a week. Not too bad. Usually knocked em out in an afternoon. You can read whatever you want so long as its from a journal or conference proceeding. Pro tip: Get Zotero setup early so you can keep your eventual bibliography organized.
Second half of the course is working on two papers: an individual paper proposal and a group systemic literature review. Your readings can feed into these assignments. You can select your topic fo the individual paper propsal. Group projects were proposed and then assigned based on interest in the proposals.
Each week for the second half of the course you are expected to provide peer feedback. In general, the peer feedback was AI slop. Seldom did I receive any productive notes after week 6,7 in the course.
Outcomes The group project will vary based on the group. I enjoyed the course and would recommend it. Its not a huge time commitment and I was able to find a faculty member who is mentoring me through my paper proposal.
Rating: 4 / 5Difficulty: 2 / 5Workload: 5 hours / week
Hlbv1xErB9n1pHPQKEPY4Q==spring 2026
Database System ImplementationCS6422 - DI - is like a code blog transformed into a class. The "Implementation" part of the name is really the focus here. Lectures typically have this format: "Currently our code uses raw pointers. However, this is not very safe because of .... Therefore, I now decided to replace them with smart pointers, which solve these issues because of .... Let's examine our new code..." You're not learning much about databases, you're just being walked-through how one is implemented in C++. That would still be interesting if it were a deep dive into all the tricks within the language, but Prof. Alraj does not bother. You won't learn how smart pointers actually work, you'll just be given a high level overview.
To make matters worse, the lectures are dry, slow, and boring to listen to. I ended up skipping all and just reading the slides. This isn't a knock on the professor - he hosts 4 Saturday office hours (for a massive 10% extra credit for attendance) where he gives live lectures that are actually interesting. But in the recorded lectures he's clearly reading off a dry script that almost sounds as though it were AI generated. And frankly, in a master's level program I'm not interested in learning "what is debugging?", "what is multi-threading?", and "what is a hash table?"
The worst part about the course, though, is just how unprofessional it is. Not only the lecture slides, but the code implementations themselves (which you download for review after every lecture) are riddled with errors. I don't mean syntax errors, I mean logical "this code doesn't make any sense" errors. The TAs try to wave them away but its clear the professor put little effort into it. There are so many classes in this prestigious program that just don't belong, and CS6422 should be towards the top of that list.
Finally, a note on the logistics - the 2 exams and 3 quizzes are all MC, predominantly theory based. You can bring 1 cheat sheet, and a significant number of exam questions are copied verbatim from the quizzes and practice tests. If you are privacy concious be warned - you have to use HonorLock on all exams and quizzes! Recommend using a LiveUSB. 5 C++ HWs, all in a single file with a handful of hidden test cases, graded on GradeScope. If you go into the course without being comfortable in C++ you will struggle (ex - you will have to implement multi-threading before the lecture "what is multi-threading?)
Rating: 2 / 5Difficulty: 3 / 5Workload: 6 hours / week
Hlbv1xErB9n1pHPQKEPY4Q==spring 2026
High-Performance Computer ArchitectureCS6290 - HPCA - is a fun, interesting, and easy class that I completely recommend. The lectures are very enthusiastic, clear, and detailed. This is the only class I've taken so far in the program where I've come away confident in my understanding of the topic. At the same time, I can see how others who are coming into the class with more knowledge could find the professor slow and boring. What I didn't like about the class was that it starts extremely low-level and detailed, but as the topics become more complex the lectures become more high-level. They end up slightly less rigorous and practical. I also found the projects boring - you simply follow instructions to execute terminal commands in a VM and then answer some essay questions. Don't think I wrote over 100 lines of code throughout the entire class. The TAs are also terribly slow at responding and grading (HW grades released AFTER midterm and then second batch AFTER the final). Those of you who are privacy conscious be warned - both exams are proctored through the HonorLock spyware. Recommend using a live USB. You can bring unlimited cheat sheets, and exams are very similar to the provided practice tests.
Rating: 4 / 5Difficulty: 2 / 5Workload: 6 hours / week
+P2SNPgxTxx8N5phkJLrpA==spring 2026
Graduate Introduction to Operating SystemsI really enjoyed this course. I have a background in C development (have taken classes, TAed for C classes in undergrad. Worked internships using C) - however, I hadn't done it in a long time.
I had never taken a proper Operating Systems class in undergrad, so I did want to revisit the topic during graduate school. Also, alot of modern machine learning is pretty compute intensive, so I wanted to leave OMSCS understanding how to squeeze the most juice out of CPU, memory, disk, and GPUs (planning to take GPU hardware and software too).
The pros with this class are that it is pretty straightforwards. Even when I was behind on an assignment, I felt like I largely knew the path forwards in order to make progress. The projects were interesting, and I did more socket, memory, and rpc development than I have ever done before. I feel like this class is manageable. I had a few late nights, but that was mostly because I was chasing other deadlines + priorities and got a late start on things. The lectures were very thorough and informative. Some students did not like having to use C++ for the final project, but I was glad to take it for a spin, learn a little, and especially that the project was updated to use GRPC instead of a deprecated RPC. Ada and the teaching staff were really engaged. Similar to KBAI, it was always clear what was expected and how to do a good job.
The cons were that some of the course material is fairly outdated. The lectures were recorded in the early 2010s, and while solid, have began to age a bit. Of course, Operating Systems are fairly slow moving and iterative in some respects, so this actually was not too bad ultimately.
All things considered, this was a great way to dip my toes back into C development. I think this class would be pretty manageable with a job. Harder if you have less C experience, but probably more informative if you have never seen some of that stuff before.
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
+P2SNPgxTxx8N5phkJLrpA==spring 2026
Machine LearningI have really mixed feelings about this class, but came away feeling largely positive. That being said, it was pretty stressful. I took it along with one other class doing OMSCS full-time. I have taken other classes while working, and I do not know how I would have made it through this class while employed without alot of heartache and sacrifice.
The pros are that the class emphasis is on analysis and running experiments in a rigorous way rather than writing the code itself. Students are free to use LLMs as much as they want to in the development of their code, and I felt like this was basically required given the amount of required figures and experiments per report. At it's best, formulating hypothesis ahead of running experiments and analyzing the results (whether they ran as expected or not) was an engaging and interesting way of going through the material. This class touched on a ton of topics (4 8 page reports on really different domains throughout the course of the semester). Another pro is that the class was really generous in terms of grading. Each report (besides the last one) allows you to submit a re-write in response to reviewer's comments and gain back half of the deducted points. For the quizzes, you can take them up to 4 times, and they're open notes. So if you approach them as homework moreso than a quiz, you'll be able to get basically all of the points. At the end of the class, there was a fairly generous curve, with half of the students who didn't drop receiving an A, and 84% of students who didn't drop receiving a B. If you're able to put the time in, you will receive a good grade in this class. Another pro of the class was the inclusion of previous and current semester "outstanding reports". Those allowed you to see how people structured their reports and figures, and gave you guide-rails on how to approach all of the required bits for each report. Another pro was the guest speakers brought in, it was super cool to hear from the creator of SK Learn and get to submit questions for him. Some of the teaching staff were extremely engaged and helpful (esp Professor LaGrow himself and Cole) which enhanced the experience of the course.
On the cons side, I felt that the amount of content was overbroad, and the number of requirements per paper was too high. There were loads of required figures and experiments. And for as much as the reports were encouraged to be "open-ended", it often felt more like a box-checking exercise on including all of the required bits. There is not a public rubric, but that does not mean there is flexibility in what can be included in the report. I think that if fewer things were required per report, you would actually be able to spend more time understanding an analyzing the component parts. Another con was the amount of generative AI used by the teaching staff at times. I found it disconcerting when a staff member would respond to student inquiries with clearly AI-generated answers. It felt lazy and also confusing. I think staff should refrain from answering vs "pasting the question into Claude then pasting the response into the course forum" because that just muddies things. If I were to use an LLM I understand its limitations and that it is not affiliated with the course. But for staff to respond with AI makes it appear authoritative when it is not really. That felt similar with some of the FAQ documents accompanying the papers, it became hard to parse what was actually useful information from the slop. The prompt likely would have been more informative than the LLM output. Some of the reviewer grades had similar evidence of either using LLMs or just being sloppy, which felt discouraging for how much work was put into the reports. The feedback also came back pretty late - which made it hard to course-correct on the next report when there were inter-dependencies (which the second and reports depended on the previous ones).
Ultimately, I feel like I got alot out of this class. I was going to avoid it if I was going to work full-time throughout the OMSCS degree, and I would maybe still recommend that. If you do take this class while working, prepare to be spending alot of nights and weekends studying and grinding out reports. I learned alot of new machine learning techniques, charting, analysis, and have a better idea how to approach new machine learning problems in the future.
Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week
2OroJMivsbPpJQWBtvB4Xg==spring 2026
Human-Computer InteractionGood class for conceptual learners. Class often had heavy (not hard) workload and the tests and quizzes felt impossible compared to the material, but as long as you do the homework, projects and participation well it's easy to pass.
Rating: 3 / 5Difficulty: 4 / 5Workload: 10 hours / week
hE5vONEBlizLMzH4yveOyg==spring 2026
Time Series AnalysisFair. I enjoyed the material, although it was very thorough on math. My only observations are that the videos should be updated to be more appealing, modern, concrete, intuitive, and organized (sometimes the level of detail and suddenly diving into another related subject is confusing). The data analysis HWs were fair, the tools were updated (more ML methods and the possibility to work in python), and the workload was demanding. Begin studying early for exams and you should do fine (I got an A). Perhaps it would be also helpful to schedule readings from the recommended books that will help you follow. Overall, good experience.
Rating: 4 / 5Difficulty: 5 / 5Workload: 12 hours / week
zTvc2jFZzQJrgASemhVtgg==spring 2026
Artificial Intelligence Techniques for RoboticsThe topics in this class are interesting. You will learn basic localization techniques such as Kalman Filter, Particle Filters. You will also learn Search path algorithms (A*) and Control methods such as PID.
The lectures are interesting and understandable. You have some homeworks which help you implement and further understand the algorithms and you can use the same code provided in class for homework submissions which is basically free points. These and the code from the lectures will help you in the projects which are the bulk of the class.
Projects are cool and depending on if your initial idea is correct you might spend 15 to 20 hours on each. If you are correct on your initial approach you might be able to complete them in less than 10 hours. I spend a lot of time on some because maybe my initial idea for implementing them was wrong so I had to retry multiple approaches.
TA are nice. However, there are multiple sources of information for projects and some TA have the attitude of have you read all the documents, have you looked at all the posts on ed, have you... sometimes a tip or a direct point into where the information you need is more helpful.
Also, there is a fear of answering questions by the TA and students because they don't want to commit a "violation" that they just don't answer questions or answer them in a very cryptic way. Like "Yeah something is wrong in your code" that is not helpful. I found students reluctant to help because they weren't sure how much guidance they could provide without commiting a violation. Students should be clear on how they can answer questions.
Spring break was a week before one of the projects was due and TA just dissapeared for the entire week. There was nobody around to help except for 1 TA who made the effort to answer many posts.
Midterm and final exams are harder than I expected. They are not easy.
I didn't have any time left to try the extra credit research and hardware challenges.
Got an A but I wouldn't say this class was easy. I found it pretty challenging and stressful.
Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week
FyouXHtuoFB+SZa9EEINFA==spring 2026
Data Analytics and SecurityDAS was my second OMSCS course, and I paired it with another relatively medium-difficulty course. I previously worked as a data analyst and already had experience with data analysis, so I honestly did not do much preparation before the semester started, and it turned out that was completely okay.
First of all, I do think the TAs had quite a bit of mismanagement on Canvas during our semester. Although they normally do not release all quizzes and assignments upfront, due to their mismanagement, everything ended up being released around the middle of the term, which was something students had already been asking about since the beginning of the semester. However, one thing I appreciated was that the teaching staff genuinely seemed willing to improve. If you asked questions on Ed Discussion, they usually tried their best to support students. For example, there were assignments where the grading rubric was not initially disclosed, but if someone asked about it on Ed, the TAs would explain the rubric clearly. So while there were definitely management issues, I still felt that the staff cared about improving the student experience.
The lectures themselves were somewhat vague, but the quizzes were generally easy as long as you paid close attention to the lecture details. The discussion posts took longer to write, but they were manageable and nothing too overwhelming.
For the programming portion, there were 4 R assignments and 1 Python assignment. The interesting part is that even though they do not really provide programming lectures, you are still expected to make your own code modification and explain the reasoning behind your change after reviewing their original code. If you are unfamiliar with R or Python, this part can feel difficult because they do not explicitly tell you what to change.
My advice is:
Once I started approaching the assignments that way, the coding portion became much more straightforward.
There were no exams in the course, but there was a project. The first half of the project, which was the proposal, was an individual assignment, while the second half became a group project. My group only had 3 members including myself.
Spoiler alert: sometimes a free loader is honestly easier to deal with than someone who constantly works very hard in the wrong direction.
One teammate was clearly a free loader, but the other teammate was extremely proactive while misunderstanding the project direction most of the time. Ironically, I had more headaches dealing with the latter situation. There were many moments and I did not even want to recall everything, but I ended up doing most of the project work myself.
That said, the project itself was not particularly difficult. The most important thing is understanding the general flow of data analysis:
As long as you are willing to get your hands dirty with the data, you will eventually find a way to analyze it, write the report, and complete the presentation video successfully.
I walked away with an A, and honestly, there were several weeks where I barely touched the course at all. However, during the project periods, the workload definitely became much heavier, especially because of the group project and project paper writing.
Overall, I think DAS is manageable if you already have some experience with data analysis or are comfortable exploring datasets independently. The course does not hand-hold you much, especially for the coding assignments, so being proactive and willing to experiment is important.
For me, this course felt less about memorizing difficult theory and more about developing the mindset of asking meaningful questions from data and figuring out how to support those answers analytically. If you can do that, you will probably do well in the course.
Rating: 3 / 5Difficulty: 1 / 5Workload: 2 hours / week
1qkIDmAFDSQFo1gUherHWQ==spring 2026
Graduate Introduction to Operating SystemsThis was my first OMSCS course, and I come from a non-CS background. Overall, I think GIOS is a great first foundation course, especially for students planning to pursue Computing Systems.
Expect to spend around 20–30 hours per week throughout the course. My biggest advice is to front-load the coursework: start projects early, keep up with lectures, and do not leave exam prep until the last minute.
The three projects were valuable and helped me understand systems-level design much better. However, some guidance can be ambiguous, so you need to understand the design behind each project rather than just follow instructions mechanically.
The exams were fair and aligned with lecture notes, exam notes, and quizzes. My mistake was skipping some quizzes, which caused me to lose a few easy points on the final.
The grading curve was generous in my term; around 84% should have been enough for an A. Overall, I highly recommend this course for students who want a strong Computing Systems foundation.
Rating: 5 / 5Difficulty: 4 / 5Workload: 27 hours / week
FyouXHtuoFB+SZa9EEINFA==spring 2026
Machine Learning for TradingML4T was my first OMSCS course, and I paired it with another relatively easy course. Before the semester started, I spent quite a bit of time preparing NumPy and Pandas, and honestly, that preparation helped a lot for the programming warm-up phase.
For both the coding and report portions, I always tried to stay at least 1–1.5 weeks ahead during the first half of the semester. Because of that, I was able to finish the final project around 3 weeks early. My biggest advice is to start early and try to finish around 95% of the work ahead of time. However, even after “finishing,” keep checking the TA FAQ threads on Ed Discussion. A lot of important clarifications and edge cases show up there, and you can use those discussions to polish and finalize your code and reports.
One thing I really appreciated about ML4T is that the project descriptions are extremely detailed although other people might have different opinions. The course tells you very clearly what they expect. What helped me the most was making a checklist for every single project.
My workflow for each project was usually like this.
I checked Ed daily because it helped me understand what other students were struggling with, and sometimes I discovered issues before running into them myself.
For the coding portion, always read the provided local test files carefully and create your own test cases as well. If you do that, you’ll usually be in a good position before submission.
For reports, don’t overcomplicate things. Just make sure your checklist directly maps to the requirements in the project description and answer everything they ask for. Also, be careful with small details such as graph formatting, line colors, and so on. Tiny details matter more than people think.
For the reading portion, I mostly stuck to the weekly schedule. I highly recommend making notes for every chapter because exam questions are often clustered by chapter/book sections.
The exam portion was honestly the most frustrating part for me sometimes. As someone whose first language is not English, there were moments when I understood the theory perfectly but got confused by certain uncommon English vocabulary used in the questions. I personally wish they used more commonly used English words instead of rare wording unrelated to the actual concepts.
Some people say grading is slow. Since this was my first OMSCS course, I can’t really compare, but I know it was slower than my other easier course I took this semester. And I personally kept wondering about grading timelines throughout the semester. So for future students, here was the grading timeline and grades I got for Spring 2026.
P1 → Due Jan 28 → Released Feb 22 → 100/100 P2 → Due Feb 2 → Released Mar 4 → 100/100 P3 → Due Feb 16 → Released Mar 17 → 100/100 P4 → Due Feb 23 → Released Mar 4 → 100/100 P5 → Due Mar 9 → Released Mar 17 → 100/100 Exam 1 → Due Mar 9 → Released Mar 17 → 77/110 Withdrawal Deadline → Mar 18 P6 → Due Mar 16 → Released Apr 16 → 100/100 P7 → Due Mar 30 → Released Apr 16 → 100/100 P8 → Due Apr 21 → Released May 6 → 93/100 Exam 2 → Due May 4 → Released May 8 → 83/100
I walked away with an A, and honestly, it never felt like I had to do anything “crazy” to get it. As long as you carefully follow the project descriptions, pay attention to details, and directly answer what they ask for in the reports, you’ll probably do well.
Rating: 4 / 5Difficulty: 3 / 5Workload: 16 hours / week
lVaErvC+H+S2COrzPeOalw==spring 2026
Natural Language ProcessingFinished the course with a B, achieving a 82.07 %
Background: Bachelor's degree in Computer Science from a university ranked #350-400 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 and 1 year of experience in data analytics
Overall: Dr. Riedl created one of the best lectures in OMSCS; there is no doubt about it. He makes it very easy to understand how NLP works, how language is translated into numbers, and then converted back into language. However, I would suggest taking ML or RL before this class, as it can be hard to follow. The first three lectures are a review of neural networks, which are fundamental to NLP.
There has been some disruption this semester, and I think they will continue making changes next semester. Based on previous reviews, the course changed a lot from Fall 2025 to Spring 2026. From the discussion threads, it seems Dr. Riedl recognizes the impact of AI tools and the issue of questions being shared online, so he has been redesigning quizzes and exams. Unfortunately, this semester has involved a lot of experimentation; they are trying to do their best, but not everyone will be happy.
One thing I dislike a lot is that in the last week, 33% of the grade is still unknown, which is quite stressful. Unlike other classes, where you can estimate your performance, this remaining portion is hard to predict. The reason is that HW5 is designed differently from HW1 to HW4, and the final exam is also unpredictable.
If this is a free elective and you don’t need a strong grade, I think this class is great because you will gain a solid understanding of LLMs. However, if you need to boost your GPA or at least get a B, it’s not necessarily hard, but you do need to be prepared for the stress, which might change next semester. This is my free elective, so I don't have much pressure.
Quizzes (6.86 / 10%): This part is difficult for me, and I am consistently in the lower quartile or even below. The way the questions are designed feels ambiguous. Most of the time, they ask “What is the best?” which I don’t think is a good approach. As students, we are not only expected to find a correct answer but the “best” one, and that can be hard to determine. Also, the wording of the questions can be challenging. For someone with English as a second language or without a strong English background, it’s easy to misunderstand what is being asked.
HW1 - HW4 (37 / 37%): These are basically free points as long as you follow the instructions and understand some coding language. If you don’t have any coding experience, you’ll have a lot to catch up on. I’m not sure how some people can sign up for this class as their first semester because it's hard to get in, and they don't have any coding background.
HW5 (13/ 13%): The coding part is hard, but overall it’s not too bad. I feel like the grading is very lenient; the TAs go easy on students as long as you meet the basic requirements. With a median of 45, a mean of 43.33, and a lower quartile of 43, the scores are very tight. Don't give up when you see the project; it takes time to think through the questions!
Midterm + Final Exam (25.21 / 40%): This part is causing the most drama. They increased the weight from 30% to 40%, meaning a single question can change your overall grade by about 1%. This puts a lot of pressure on us since there’s no room for mistakes. The midterm had similar issues to the quizzes, with some questions being easy to misunderstand. However, I think the staff is doing their best. In the tech field, you have to accept that people make mistakes; as long as they try to fix them, it's fair to give them time to improve. The exam questions themselves are fair, but I’m a horrible test-taker (I got a B in Digital Marketing, so you know how bad I am!). Everything is related to the material, but it requires you to understand and memorize a lot. If you’re aiming for an A, you really need to put in extra study time. I tried my best to memorize everything, but it’s just harder to do in my early 40s.
Rating: 5 / 5Difficulty: 2 / 5Workload: 15 hours / week
0UGs1Ih4GgMIODeBKG/PPQ==spring 2026
Special Topics: Introduction to Computer LawVery interesting course material, but if you're taking this course as something to pair with a harder class, then the max difficulty of the class to pair with should be no more than medium. I paired this course with GA (difficulty: hard), and I definitely don't recommend that. Barely got a B in GA (that itself was a miracle), and though I thought I put a reasonable amount of effort into this class's papers given that I also needed to focus on GA, it apparently wasn't enough for what the TAs expected. Most reviews say you should easily get an A in this course, but I got a B. TL;DR: This isn't just some blow-off class to easily get 3 extra credits in a Fall/Spring semester like some other reviews may say it is. The material is great, but you will need to WORK if you want a good grade on the papers.
Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / week
VZuizvJ61QQ8b9TKcMFtTQ==spring 2026
Reinforcement Learning and Decision MakingI really liked this class, but it left a lot more to be desired. RL is super cool and I really liked the content. I stopped watching the lectures after P2 to focus on the projects themselves.
The projects were really fun and felt like it gave a really good hands on experience for RL. That being said, there were so many issues with P4 that it went from being fun and a reinforcement learning experience to a learning experience of how to set up the environment on different machines. I had never used PACE clusters in prior classes, but it was quite brutal. So much so that they granted a +1 week extension on P4, but unfortunately most of that extension was burned still waiting to get a reservation. I would encourage everyone to start P4 ASAP, but I also think the teaching staff should create an assignment where success is dependent on something so fragile
The final exam was wild. I honestly don't think I would have gotten much of a better grade if I would have had an additional week to study
Rating: 3 / 5Difficulty: 4 / 5Workload: 16 hours / week
FPbR43GH0NvwVg4tvQeVSw==spring 2026
Human-Computer InteractionI took this class during my first semester at OMSCS.
It was a bit rough getting back into the mindset of a student while also balancing family and a full-time job. I heard stories about how you should always start early on all the assignments, so I did my best to follow that advice. Safe to say, I'm glad I did so. I didn't have issues with the contents of the assignments because, so long as you answer the rubric, you will get full points. We also had a very helpful TA whom I went to with all my questions, so I'm thankful for that.
Quizzes are rough but I felt that doing the readings and spending time making flash cards helped me out. Tests are a bit more tricky, despite being open-note, so I suggest taking thorough notes and familiarizing yourself with all the readings.
This semester, we had both an individual project and a group project. Unfortunately, half of the people in my group were MIA, so I ended up doing most of it by myself. The professor and TA were very understanding (as they tend to be) and recommended that I "scale down" our project by omitting some parts of it. But that was a bit vague, as there was no way to guarantee how lenient the graders would be, so I instead opted to do everything as if I had a full group.
In the end, I received a 95%, so I felt like my efforts were rewarded.
Rating: 5 / 5Difficulty: 3 / 5Workload: 25 hours / week
yB64cegtZS4Tl8Xh5ThiaQ==spring 2026
Information Security Lab: Binary ExploitationI learned more about the C programming language, Linux, assembly, and various other low-level topics with regards to architecture and OS design. No other course would be able to provide me with this much deep knowledge and hands on experience with these topics. This course is approachable to anyone and more people should take this class. If you liked IIS, you should take this course. It is leaps and bounds more enjoyable.
You can (and should) frontload this course by completing as many challenges as possible during the first 2 months. These were the most busy 2 months for me, and it paid off. The last 2 months of the course ramps up in difficulty with regards to the challenges. Getting points from the easier challenges in the beginning of the class is necessary if you are a beginner to CTF style challenges like myself. You will be thrown into the ocean from Week 1 but do not be discouraged, this is one of the most rewarding and underrated courses here in the OMS program.
Months 1-2: 25 hours/week Months 2-4: <10 hours/week (some weeks were 30 minutes max).
Challenge yourself and take Binary Exploitation!
Rating: 5 / 5Difficulty: 4 / 5Workload: 17 hours / week
yB64cegtZS4Tl8Xh5ThiaQ==spring 2026
GPU Hardware and SoftwareThis course more or less follows the trend of breadth over depth, which leaves much to be desired for me. I will say that I think Project 2 from this course is genuinely one of the most interesting and rewarding projects.
Project 2 is a CUDA project to optimize bitonic sorting for speed. It is trivial to reach the required speed for full credit after skimming lecture modules, but it is not trivial to go above and beyond. Going above and beyond was what gave me the most insight into optimizing good and performative CUDA code. I learned a lot about using NSight to debug my kernels. There is a 3 page report for this project that helps you summarize everything with statistics from NSight.
Project 4 was also a very interesting CUDA project, but it was still being developed the semester I took it. Future semesters may benefit from a more polished project, and I think this will become equally as good as Project 2.
Project 1, 3, and 5 were very forgetful and did not provide me with much enjoyment nor depth.
Anything else in the course is largely superficial. Lectures can be skimmed and quizzes are very straight forward. The practice final was very insightful for the real final, making the non-project based portions of this course not that interesting.
I hope Project 4 can be developed and fully fleshed out for future semesters just like Project 2. Do start early on it! H100 GPU queue times on the ICE cluster gets clogged during submission week!
Rating: 3 / 5Difficulty: 2 / 5Workload: 8 hours / week
mLG382k+xRNY38At4CeRbw==spring 2026
Natural Language ProcessingTaking DP is enough. DP covers all the contents of NLP. NLP is totally disorganized. The TAs are irresponsible and keep promising dates they can never meet. They also do not answer questions about lecture errata. There are only two days left before the grade posting deadline, and they still have not released the scores for the last projects and the final exam. Most courses finish grading at least a week earlier.
Exams make up a huge portion of the grade: a single point on the exam can affect roughly 3% of your total score. So if you do not perform well on the poorly designed exams, all the effort you put into the course can effectively be wiped out.
The instructor is only present during the first half of the course, both in lectures and on Ed. After that, he basically disappears, and students are left dealing with confusing “meta lecture” material on their own.
This has been the worst OMSCS course I have taken. I genuinely do not understand why so many people praise the instructor or describe the TAs as helpful.
Rating: 1 / 5Difficulty: 3 / 5Workload: 8 hours / week
MaHyEUE/MH2f8CyMDzyNHQ==fall 2025
Machine LearningThe class goes over many machine learning techniques, but I want to point out one area that appears prominently in both Assignments 1 and 2: Neural Networks and Deep Learning. Deep Learning is a massive field that could easily be an entire course on its own. In my opinion, it is also one of the least intuitive machine learning techniques when first encountered, yet it is arguably one of the most important today. Modern AI systems such as ChatGPT, Gemini, generative AI applications, Natural Language Processing (NLP), computer vision systems, and many recent advances in AI are all heavily built upon deep learning. Personally, I do not think it is possible to cover Deep Learning in a single machine learning course beyond a quick survey, yet the assignments often assume a certain level of familiarity with it.
Because Deep Learning can be difficult and unintuitive at first, I strongly recommend having a supportive “bridge” textbook alongside the course material. One resource I highly recommend is Deep Learning: From Curiosity to Mastery. Volume 1 focuses on foundational deep learning concepts and neural networks in a gradual, intuition-first manner. Volume 2 moves into advanced architectures, most notably the Transformer architecture, which is essential for Natural Language Processing (NLP), and also introduces NLP concepts in Chapter 9. You can preview Volume 1 cover-to-cover at the publisher website:
Deep Learning: From Curiosity to Mastery preview: https://balloontip.com/preview
Rating: 3 / 5Difficulty: 5 / 5Workload: 40 hours / week
MaHyEUE/MH2f8CyMDzyNHQ==summer 2025
Natural Language ProcessingYou should, in my opinion, have an easy, supportive foundational textbook for deep learning and neural networks for this class if you don't have that background. I highly recommend Deep Learning: From Curiosity to Mastery. Volume 1 and Volume 2. Volume 1 builds the foundation in deep learning and neural networks. Volume 2 takes readers into advanced architectures, most notably the Transformer architecture, which is essential for Natural Language Processing, and also introduces NLP in Chapter 9. You can preview Volume 1 cover-to-cover on the publisher’s website: https://balloontip.com/preview.html
Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week
wt2sK0gSy+BplikGTUknCw==spring 2026
Digital MarketingThis course is great if you are looking for an easy semester. I just opened a word document and one shot all the mini case questions each week in about 30 minutes. For the major cases, you'll probably want to set aside about 3 hours for them. Fair warning: the 2 tests are worth 60% of your grade. You need to study for these. ONLY 15% OF STUDENTS GET AN A (as per the instructors). If you want an A, you have to study for the exams. It took me about 10 hours of making and practicing flashcards to get a B on both exams, and then my 100 on all the other assignments brought me to an A. In regards to getting a 100 on the assignments, follow the instructions (don't post the questions with your answers), give a reasonable length response, and you should get a 100.
Very easy B if you just coast the entire semester. Be wary if you want an A, the exams can trip you up, but it's doable for anyone who studies for them.
Rating: 4 / 5Difficulty: 2 / 5Workload: 3 hours / week
wt2sK0gSy+BplikGTUknCw==spring 2026
Advanced Topics in Malware AnalysisI think this was a great course that really opened my eyes to the amount that malware can do. I didn't realize how complex even simple malware can be to interpret. The professor is amazing and the lectures are engaging. It is refreshing to see someone so enthusiastic about their craft; you can clearly tell he has been doing it for a very long time and loves sharing his experience about it. Also, for the project review below, please keep in mind I chose to go it alone and did not have a partner.
As for the projects, I think most of them are great.
Project 1 was very short; it took me about an hour. You just have to make some (~25) comments in a hello world binary.
Project 2 was long (~50 hours) and the status check was definitely helpful. Project 2 taught the very important concepts that were necessary for the rest of the course. I probably spent about 10ish hours messing around in Ghidra just trying to figure out how it worked. The rest of it was just commenting thousands of lines of assembly with what those instructions do. Pro tip: read the lab document thoroughly, you don’t have to comment every line!
Projects 3, 4, and 5 were great. They showed you the very basic concepts of what reverse engineers are looking for when evaluating a malware sample. The lectures also went over why these seemingly unrelated concepts were so important for reverse engineering.
Project 3 took me ~30 hours. This lab asks you to compute a basic def/use chain. I would say the documentation/expectations are a little unclear and the grading is a little wonky for at least projects 3/4. The lab document specifically says that each instruction is worth 5% of your grade and will round down the total. You can get 99 instructions correct, and 1 wrong, and you end up with a .04/.05 on that instruction. The hard part is, you have no way to check your work before it is submitted. So even though an instruction will be correctly categorized 99% of the time, it still takes 1 whole point off of your final grade for that project. Unless you are relentlessly looking for edge cases (which could very easily double the time needed for this project) you will end up with around an 85.
Project 4 took me around ~30 hours. This lab builds on the previous one, and asks you to calculate data dependence. The same grading issue occurs in this project, but additionally, the requirements become muddier. On the EdDiscussion, there was a student question about how external functions were to be dealt with that was never answered. The EdDiscussion issue was a recurring issue throughout the class, where students would post questions directly related to the expectations of the assignment, and it would not be answered by a staff member. When questions about project expectations are not answered by staff, it makes it hard to know if we are going in the right direction or not; compounded with the inability to test code/edge cases before final submission, it makes for a frustrating guessing game.
Project 5 took me ~25 hours. You are required to trace through the entire program by running all the possible branches of the malware with a fake C2 server. I thought it was an amazing project. We were able to test our code, we were able to see some command line errors/bugs the malware author HIMSELF created which was really neat. It was so rewarding to use all of our hard-won analysis to run all of the hacker's commands ourselves. Overall 9/10 project. The only thing holding it back was the internet issues with the VM inside a VM. If those could be figured out, I think it would be a 10/10 perfect project.
Project 6 took me about ~20 hours... but don't be fooled. This CAN be the most complex and time consuming project of the whole course. It asks you to compute dynamic control dependence. The instructor allows you to pick which algorithm you want to use and implement it for the final project. He recommends the "regions" approach. That approach is great if you want to truly learn the ins and outs of dynamic control dependence (and have lots of spare time), however, it is a pain to implement in PIN and will most definitely take a very long time if you are not heavily familiar with C++. For those who are currently in the class, I would advise you to think about if you actually need an online algorithm for this lab, or if you could get by with an offline algorithm. Why are online algorithms superior in the real world? Do those same assumptions apply to this project/malware sample?
In regard to the reading slides, DO NOT save them until the last minute, or you will have to grind through 30 academic papers in the last week. Do three a week (like the class asks you to) and you will be much better off. Plus they are topical to each week’s lectures, so you will get more out of them if you read them after watching and understanding the lectures.
Despite all of the grading inconsistencies I've listed above, the course offers a lot of extra credit which makes up for the lost points and is very appreciated.
I have sincerely enjoyed all of the passion and thought that was put into this course. You can tell that this course is a labor of love. This course requires a lot of time, but the instructor is up front about it, and the grading is fair. I would highly recommend this course as long as you know you have the time to put aside.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / week
QXVJyKsMsSwQ8RZ4khjCCw==spring 2026
Human-Computer InteractionOverall was a pretty good class and useful for industry. The worst parts were the middle four weeks where you essentially had 4 closed note honor locked quizzes (really exams that were harder than the open book exams). You had to write mini essays for 5 questions in those quizzes based on readings and the lectures and were extremely intensive and took up the whole 2 hours. Those damn quizzes were the hardest and most intense part of the semester, but I scored an average of 93% on them just by reading through the associated lectures three times and the assigned book reading twice. Overall quizzes were ok. During those weeks I was putting in 15 hours per week.
The rest of the course was easy though, first four weeks are really easy and last four weeks are really easy, was average less than 5 hours a week on those.
Definitely recommend, but I wish those closed book quizzes were changed from an essay format to a multiple choice format instead. There is a bit of RNG grading when it comes to the quiz grading, one TA graded really harshly while another one gave perfect scores on everything.
Highly recommend trying to find a team early in the semester instead of being randomly assigned. If you get a decent team, the team project will be super easy compared to the individual project. Also, thoughout the entire course, participation points are very easily racked up by taking surveys (0.5 points per survey). Had I known that, I would not have bothered with peer reviews at all and just do 180 surveys over the semester for 90 participation points (each survey takes like 1 min for 0.5 points, but I just randomly selected answers, also there were some people using bots to fill out 100s of surveys automatically).
The class taught concepts that are very useful for industry. I definitely don't regret taking this course.
Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week
mF5Swi/E9u2MHPPRVAtKhA==spring 2026
Artificial Intelligence Techniques for RoboticsI really enjoyed this course! I came in with an EE background where I mostly learned these concepts as dry math. This class was so much better than my undergrad courses because it actively guides you through applying the concepts in Python.
This class was pretty easy as long as you watch the lectures. The homework solutions are there for you and you are allowed to copy them. Though, definitely attempt them as they are straight forward. The projects step up the difficulty but as long as you code along with the lectures you are 80% there.
If you make a Jupyter Notebook for every lecture and plot out the things you are being asked to do, the class becomes both fun and easy. By the time you get to the projects, you'll already have 80% of the code written from your lecture notes. You just have to slightly modify it, and you've got an easy A.
I got an A and needed 20% on the final to get an A.
*Note: I recommend doing the extra credit research projects. They are free 2% extra credit and reading related papers was incredibly useful. I had an interview and was able to ace it due to talking about SLAM and Visual Odometry because I had read a paper on it.
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
MPsOAgYSRt0L+yz3M96Jqg==spring 2026
Educational Technology: Conceptual FoundationsBackground: BS in CS, 2 yoe software engineer (game development) 6th/7th course, taken concurrently w/AI Ethics Also taken: GIOS, Military Gaming, HCI, Game AI, VGD
TLDR: INCREDIBLY open-ended project-based course that's useful for anyone that wants to build something they can show off in a portfolio or even expand into a business.
Review: Top 3 courses for me. My research project was centered around XR training for specialized occupations, and I ended up developing an XR app for the Quest 3 that simulates a home invasion so civilians can train home defense. There's a lot of research that went into this -- your project has to be relevant, helpful, and boundary-pushing in some way.
You spend the first phase of the class researching, which is where you'll decide your project idea. Ideally, you come into the class with something in mind. Don't come in with an exact plan, because you have to use published research to back your claim on why your project is necessary, useful, how it helps people learn, etc. But also stay within a domain/tech stack you're comfortable with, since there's already a lot of learning to be had elsewhere.
Most people that I peer reviewed that went the development track did some derivation of "using AI for learning". Which isn't bad -- no two projects were the same, everyone had an interesting take, and some projects I would genuinely use or even pay for. But I stopped reviewing these projects because they start to feel like derivations of each other. Something to keep in mind if you're aiming for impact.
The workload is flexible. The research time sink you can't really get around. It's 12-15 published papers per week that have to be summarized and explained why they might be useful to you, but the actual project you can get away with 5-10 hours depending on how neat everything turns out. As long as you participate in class, it should be an easy A.
Rating: 5 / 5Difficulty: 2 / 5Workload: 13 hours / week
ZduXZVe+NcBIRDua2dy92A==spring 2026
Reinforcement Learning and Decision MakingI'm writing this review before knowing my grade (by purpose – not to be biased by it). Depending on the score for the last project and the curve, it can be anywhere from C to A (I personally think/hope B is more likely).
This is my 8th course, after AI, DL, ML, etc. - all A's.
This class was a disappointment. Arguably the most important/useful subject in program was taught very poorly, or, rather, not taught at all. Lectures were inadequate. The teaching staff was simply not there to answer myriads of questions on the discussion board. Many students were screwed by being unable to have the proper setup for the last project and the environment was broken anyways, so even those who could set it up could not run meaningful experiments.
While the projects overall were interesting, the report writing was taking a lot of time, shifting the focus from the important aspects of the experiments to making sure that all the check boxes are marked – and even then, something would be inadvertently missed.
The grading of the reports was super formal, without any substantial feedback. Not sure what exactly the final exam was testing, there were no preparation materials or anything – just learn all the assigned reading by heart. Median grade for the final was 49, mean 49.9.
I still think I learned a fair amount about RL while taking this class but not thanks to but despite how it was conducted. I could have learned much more and done that more efficiently.
In a word, I think this class has been long calling for serious refurbishment.
I was taking RL right after its sister class – ML. While that one was talking about 2x the time and the lectures were as outdated as here, the teaching staff there was super enthusiastic, supportive and helpful. It felt they were genuinely interested in students to pick up the topic. Nothing like that in RL – everything was very formal, detached and indifferent. At least I felt this way.
Rating: 2 / 5Difficulty: 5 / 5Workload: 25 hours / week
MaHyEUE/MH2f8CyMDzyNHQ==summer 2025
Deep LearningDeep Learning From Curiosity To Mastery Book book preview can be found at https://balloontip.com/preview.html
Rating: 4 / 5Difficulty: 4 / 5Workload: 30 hours / week
9pEdpQDivOdcw7tBj2YAJA==spring 2026
Introduction to Computer Vision[1. Lectures/Materials] Overall the actual lecture topics are cool. I also like the lecturer himself and his style. However, they are definitely very theory heavy and high-level. It's ALOT of math (mainly linear algebra + some calc) I was definitely underprepared, since I took linear algebra around a decade ago and don't remember much. I gave up trying to understand all the math, because I would get stuck on that, but in reality it has no real relevance to the assignments. The material is also really old, and out-dated. While I understand its technically an "intro" I feel like they should include some newer topics like YOLO.
This is the biggest issue, while the concepts are cool, they really are not practical, leaving you on your own to figure out how to actually implement these ideas into code. For ex: if you took ML4T, they teach you how to use most things in pandas and numpy, but this course barely does that. The lectures and assignments don't really connect well in my opinion.
[2. Assignments/Projects/Exam] There's 6 assignment/mini-projects which have multiple parts of implementing different concepts into practice. They range from pretty simple, to extremely difficult (PS3 and PS5 in particular were painful). They're split into code (50-75%) and the report (25-50%). As I said, the lectures don't translate well to the coding. While the code can be pretty painful, the "report" isn't really a report, its just your output images and answering a few very simple questions. Nothing compared to ML. Another really nice thing is that you can upload to gradescope as much as you want + it's autograded, so you at least know if you've passed that portion, right away. I will say though, while grading is particularly favorable, there are NO clear grading standards, so sometimes you lose some points on something you had no clue would cost you points, which feels frustrating, just because it seems like an issue with how the course is being run.
The final project is much more like tossing you into the wilderness. No template code, just 4 projects to choose from with some instructions and vague guidelines. So you need to do alot more research and work. + a formal report. Though the requirements are much more relaxed compared to other course reports that use JDF, or ML reports. It wasn't bad overall.
Exam is pretty simple. It was open book, and they say explicitly that it's meant to be an opportunity to review the material. Not much to say about it.
[3. TAs] I don't like to be negative. But honestly, the TAs were extremely disappointing. There were few that tried to answer consistently. But in general it was SO difficult to get a response many times. Especially in critical times where we need answers before deadline hits. TAs would also rarely schedule office hours, though many students were struggling with certain assignments. There just overall is really a lack of responsibility.
For example, theres an assignment every 2 weeks. Many people are working, so inevitably many are still working on the 2nd week. But for one of the assignments (let's say ps3), the TAs scheduled office hours for the next assignment, so office hours for ps3 was only available the first week. Alot of students were pretty dumbfounded. There just seems to be lack of thought.
I know I seem like I'm going off on a tangent, but it was just really that poor. I've never seen a class discord with so many people asking each other for questions and clarifications, since TA responses were so rare. I took ML4T last term, and their TAs were alway quick to respond. Considering that TA is a paid position, it just doesn't seem right. The grading is also very minimal: code is autograded, reports are barely 5 questions if theres alot, so I'm not sure what else they were busy with. There were also a lot of basic mistakes in things like materials having the wrong dates. Just very simple things that can easily be fixed, but arent.
[Overall] Overall, from what I calculated from each assignment grade I should end with a high A. I rated it a 4 in difficulty, just because I haven't taken other hard courses like ML or AI yet. I only took ML4T and AIES so far, but this course was definitely way more difficult conceptually. It somewhat balances out with the grading thats fairly easy, but the poor administration and support from TAs made it even more difficult.
Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / week
9pEdpQDivOdcw7tBj2YAJA==fall 2025
AI, Ethics, and SocietyThe course itself is very easy. For people who want a BS easy A, this is the class.
[1. Course Topics] This was one of the first courses I took alongside ML4T, but while I liked ML4T, I was pretty disappointed by this course. There were definitely some things I learned about ethics and general AI topics like getting small exposure to NLP and ML, as other reviews say it's pretty redundant, and doesn't go too deep.
[2. Actual Work] I do think the topic itself is interesting and important especially in today's tech. development, but the work in this class is mainly tedious grunt work. Nothing really substantial, just alot of looking at data, making some charts or graphs, and slapping together a simple report (when i say simple, it is very simple. A joke compared to something like ML4T) If you hate this kind of stuff, then you might want to avoid the course.
There's one midterm and a final "exam" which is just a take home project. The midterm kinda threw me off because there's a lot more writing than I anticipated. But I still did fine.
[Overall] Overall I got like a 98. If you want an easy A, this is it. Just don't expect too much and be ready to do a bit of tedious work. Not a lot, but still annoying.
Rating: 2 / 5Difficulty: 1 / 5Workload: 5 hours / week
9pEdpQDivOdcw7tBj2YAJA==fall 2025
Machine Learning for TradingThis was my first course and intro to ML in general. To start, I come from a non-CS background, so with that context I think it was a great course for me personally.
[1. Lectures] I really enjoyed Prof. Balch's lectures. They're conceptually easy to follow and start from the ground up so if you had no prior knowledge to pandas, numpy, ML, or trading you shouldn't have issues understanding. That said, I could see people who have taken ML and coming from other backgrounds seeing the material as oversimplified or outdated.
[2. Projects/Quizzes] There's weekly quizzes following the lecture material. They're pretty simple and I doubt anyone would really have a serious issue, so that's all I'll comment on them. In Fall 25, there were 8 projects which build up to the 8th one where you basically put everything together. The difficulties range from pretty easy, to pretty stressful (project 3), but all in all, from someone with little experience I found it manageable, though some weeks were more stressful than others. I think one thing to note was that there is SO many details in the instructions, as well as finding more details and considerations in ed discussions. It's a little overwhelming and tedious at times. But personally I still preferred this over vague and lacking instructions (I took CV this past term, and this had major issues with vagueness). At the least, they make it pretty clear what you will lose points on. Just make sure to read carefully and double-check.
[3. Exams] This was my biggest issue. The exams are worded in a way that seem to intend to trick you. They have like double (maybe even triple) negatives. And the material is definitely way more advanced than what lectures provide. They're largely from readings.
The exam questions basically always try to apply concepts to real-world application like "imagine you're a quant , and you want to do _____, which choices would NOT violate this financial/ML principle" You really need to think. Which is good in a sense, but the problem is that it literally feels like you're taking an exam for a different course. The one upside is the grading is in your favor, like if you have a multi-option question, if you choose most of them right, you would still get most points.
[4. TAs] I saw some people have complaints. I can't speak for everyone, but personally I really liked them compared to other courses I took (AIES, CV). They were like God-tier in comparison, from my personal experience. They respond very quickly, and make sure to respond to any questions. Each TA is a little different. Some just will give the answer right away. Some will try to challenge you and phrase a response that will make you think, and lead you to the answer. But in the first OT, the head TA explains that this is a masters course, so they will try not to always just feed the answers, like they would in undergrad. Personally, I felt that it was very reasonable, and even when they didn't give straight answers, it was usually a very thoughtful analogy that did give you the answer if you thought carefully. I took CV this term, and the TAs literally would never answer questions. It was atrocious, so It literally motivated me to come back here a semester later to review this course lol..
[Overall - I got an A]
I think that mostly summarizes my experience. For a noob, it was a great introduction. For people who are more experienced, I can understand some disappointments. Personally, if you're looking for an intro to ML, I really enjoyed this course and would recommend it.
Rating: 5 / 5Difficulty: 3 / 5Workload: 10 hours / week
sriKQMcJ2p6HVPM/lkANFw==spring 2026
Machine LearningBackground: Non CS undergrad. Haven't had to do math since college (almost a decade ago now). Non software engineer in technical position, working full time while doing this class. I did not remember any linear algebra coming into this. Took kbai, ml4t, and watched some other mooc lectures on ml before the semester.
Grade: A
Time commitment:~30 hrs/week. It could have been less, but the nature of the class is that you don’t really know your grade until the end, and so you can’t slack. With the extra credit and curve, I probably could have skipped one of the report rewrites and saved ~5-10 hours on one of the weeks, and still kept my grade.
Coursework Difficulty: 5/5 - This was the hardest class I've taken by far, at any point, including community college, undergrad, and other oms classes.
Negatives:
Positives:
Advice:
Personal, less objective note: This class was brutal, and the time commitment destroyed my physical health. Working late, getting up early before morning work calls to cram a bit more ML in, pulling all nighters because I noticed an issue last minute in a pipeline that takes 3 hours to run, all left no time for exercise or having a personal life. I know some people say this wasn’t that bad, but everyone I know personally who has taken this class was horribly burnt out by the end. If you’re able to do this class without burning out - hats off to you, I’m jealous.
Rating: 4 / 5Difficulty: 5 / 5Workload: 30 hours / week
2Q7nfDOZbID+NXdsSK4cPQ==spring 2026
Machine Learning for TradingGenuinely enjoyed this as a first OMSCS course, it was a solid intro to both Machine Learning and financial modeling and the structure made it easy to plan ahead. That said, don't go in expecting it to be super easy or a low-time commitment course.
Pros:
Cons:
As many people have said in previous comments, don't expect to walk away with the ability to build your own financial models from scratch. But the fundamentals you can pick up are solid. For a first ML course, getting me back into school after a few year break, I think it was a pretty good option. There was a good amount of all aspects of a master's course involved in this one.
Rating: 4 / 5Difficulty: 4 / 5Workload: 14 hours / week
z/vxkQ2fB0dpqkCtO8H7pw==spring 2026
Machine LearningI took this course in Fall 2025 and had to drop out because of time commitment it needs. I finally got back in this semester. The TA's and staff are good and they genuinely want you to work and make you read. The course has lot to read and understand, especially if you are new to certain algorithms. The lecture videos are not that intuitive. I used many YouTube videos to know certain facts and get those learnt. It was a hardwork. But if you did the hardwork, this course should be okay. I never relied much on the course lectures as its vaguely tells the whole story. However, the quiz and the report helps you learn new things. I would recommend this course who can afford to put in the hardwork yourself and willing to learn outside the course content to build your intuition.
Rating: 4 / 5Difficulty: 4 / 5Workload: 20 hours / week
cvUKRHrSDa+Z2dn5TUe48Q==spring 2026
GPU Hardware and SoftwareThis is a highly relevant and high-quality course. It begins with CUDA programming and progressively dives deeper into the architectural components of modern GPUs. Both the TAs and Professor Kim are extremely supportive and stay actively engaged with the students.
Having a strong background in systems—specifically courses like HPCA, GIOS, and DBIS—was very beneficial for grasping the more complex concepts.
The five projects are where the majority of the learning happens.
There is one cumulative final exam. To prepare effectively, completing the sample exam and rewatching the lecture videos should be sufficient.
Final Grade: 99%
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / week
N7TeG3r8JXATtUnI8xlOZg==spring 2026
Software Development ProcessSolid introductory course. Not a very interesting class if you already understand the SDLC principles. If you want a calm class or a relaxing summer this is a good course. I wouldn't recommend if you want to take interesting classes and be challenged.
Rating: 3 / 5Difficulty: 1 / 5Workload: 5 hours / week
N7TeG3r8JXATtUnI8xlOZg==spring 2026
Human-Computer InteractionOverall this was a solid class. I took it in my first semester and I highly recommend it as a first class back to education. It prepares you for the schedule and pace of taking college classes again. Not the most interesting class in the world but you will learn fundamentally what considerations to make when designing interfaces. This is NOT a class on how to become better at UI design. Quizzes and assignments were good and interesting. Tests were more about being able to find the information compared to knowing the information. Get the participation points early, you don't realize you're behind until it's too late due to the pace of the class.
Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / week
z9NQv9C9iU8cniecUaWM/Q==spring 2026
Introduction to Graduate AlgorithmsI did not pass this class despite dedicating approximately 20 hours per week to coursework throughout the term. For context, I'm a senior software engineer with over five years in the program and a pre-med academic background who has taken the MCAT, so I'm no stranger to rigorous coursework or high-stakes exams.
The bar to pass feels unreasonably high. Exams are the primary pain point — they're extremely high-pressure, heavily punitive over minor mistakes, and don't do a great job of actually measuring whether you understand the material. You can grasp the core concepts and still fail because of a small slip-up that gets disproportionately penalized. That's not rigorous assessment; it's just stressful.
The grade distribution data on LITE tells the story clearly — there's been a noticeable drop in As and Bs and a rise in Cs over the last two years, coinciding with the shift to an all-exam format with no graded homework. I understand the reasoning: AI tools made homework unreliable as an assessment. That's a fair concern. But the response was to make the hardest, most stressful part of the class carry all the weight, without taking any meaningful steps to accommodate that change. No adjusted curves, no alternative assessments, no safety net. Just higher stakes on an already punishing format.
I've taken difficult classes before, both in engineering and in the sciences, and this one stands out as the most frustrating. The issue isn't the difficulty of the content — it's that the evaluation structure sets students up to fail on technicalities rather than measuring actual understanding. If you're considering this class, be prepared to invest serious time and know that the grading structure leaves almost no room for error.
Rating: 2 / 5Difficulty: 5 / 5Workload: 20 hours / week
92wHCtAxP6uWnwQ5207tdg==spring 2026
Machine LearningI literally did not even take this course.
But I'm writing this review anyway because I watched someone I know take it, and it just took so much time. Honestly, it was so intense that I'm leaving a review just to talk about what it's like to be the person who knows the person taking ML.
I will admit, it does seem like you learn and do cool things. By the end of it, the person I know had put together some really cool reports, and they actually did really, really, really well in the class. But man, it just sucked to see how much time they put into it and it felt like the class itself (prof + TA) didn't even construct the project requirements that well.
They were dumping 20+ hours a week into this class on average. And on weeks when the big assignments were due they were easily hitting 30 hours. To make it even crazier, this person is a full-time SWE who commutes 3+ hours every day, and they were literally working on the projects during their commutes just to stay on top of things. They sacrificed so much just to do this class. Between work and ML, it was basically two full-time jobs. It's straight-up too much work for one person to handle. Idk how any one with more responsibilities than school and work would be able to do this class.
Personally, I think a huge part of the problem is that they try to cram way too much material into a single semester. There is absolutely no reason for it. I think the amount of stuff they force you to cover really deserves to be split into two completely separate classes. Because they shove it all into one, it completely took over their life.
Rating: 1 / 5Difficulty: 5 / 5Workload: 20 hours / week
S+WaLUo7nSzAqSdAwH9PYQ==spring 2026
Graduate Introduction to Operating SystemsCourse quality: I think I am not a good judge on this, because I have no formal CS education background or CS related job experience before my OMSCS. This is my 3rd courses in OMSCS (ML4T, SDP, and then GIOS)
Motivation to take this course: I want to do backend in the future and learning OS is a must I think and so I take this course. Overall, I learn a lot from this course, given the fact that I am almost start from fresh (no formal education/job experience related to CS).
My preparation before taking this course: I took Intro to C (CS 8001) last summer, which is helpful for project 1 and 2. I spent a weekend to read "Beej's Guide to Network Programming Using Internet Sockets", which is helpful for project 1. I also spend a week to review half of the MIT 6.S081 Operating System Engineering, which is helpful as well.
Projects: Difficulty ranking by me: project 3>project 1>project 2. Project 3 needs gRPC and C++, which are both new to me and I have to learn them and use them for coding at the same time. Project 1 is not mentally difficult (if you know C and has read "Beej's Guide to Network Programming Using Internet Sockets"), but just have more content/parts need to be implemented (project 3 > project 1 > project 2). Project 1 I needed 30-40 hours, project 2 I need 20-30 hours, and project 3 I think I at least spending 60 hours.
Exam: please do all the sample test you have. For mid term, the actual exam is very close to sample exam (I should do the sample exam twice)... Course covers so many material, it is suggested you do learn the material based on the suggestive schedule, rather than do them all right before exam. And take note as you learn the material that will help you review faster before exam.
Rating: 5 / 5Difficulty: 5 / 5Workload: 25 hours / week
5Pmwbf0Fl4pIxnzvGAKZGw==spring 2026
Machine LearningA lot of past reviews mention how much anxiety and stress this course generates. Good news: the course has gone through some big changes, and the most recent iteration is way more manageable and fair.
Reports are a big chunk of your grade. Starting last semester, if you bomb a report you can win back half the lost points by submitting a follow-up with corrections. That alone takes a lot of pressure off. You also get 4 attempts on the quizzes, which keeps them low-stakes and lets you focus on learning instead of stressing over grades.
The biggest heads-up I'd give anyone taking this course: it's not really about teaching you how to code ML algorithms or build pipelines. Before the semester started, I did a 1-week crash course on scikit-learn and PyTorch (the ZTM course on Udemy) to get comfortable with the implementation side. I'd strongly recommend doing something similar before you jump in.
What the course does teach you is how to interpret results from different ML algorithms, tune the right knobs for performance, and build intuition for why you're seeing what you're seeing, and what to try next. In the era of LLM-assisted coding, this is exactly the right focus. Anyone with a Claude Code subscription can spin up an ML classifier in 30 minutes, but can you actually understand the results? Can you diagnose why a model is underperforming and suggest a principled next step? That's the gap this course fills.
Overall, it's still a tough course, but the anxiety and stress are very manageable now. The TAs and professor are active on Ed and Discord and genuinely engaged with the class.
Rating: 5 / 5Difficulty: 5 / 5Workload: 20 hours / week
lAxX6BFN8/a1eOqIp1uFtA==spring 2026
Machine Learning for TradingOverall, as a first-semester OMSCS student, I found this course disappointing despite finishing with an A. The projects were generally manageable and sometimes interesting, but there was a major disconnect between the projects/quizzes and the exams. The exams felt intentionally tricky and heavily focused on parsing dense wording rather than evaluating practical understanding of machine learning or trading concepts.
Additionally, the course content often felt outdated relative to modern quantitative trading and ML workflows. I was hoping for more emphasis on realistic applications, experimentation, and model evaluation rather than memorization of loosely connected finance concepts and nuanced true/false interpretations.
The teaching staff and forum environment also made the experience frustrating at times. Responses on Ed often felt vague or dismissive rather than genuinely helpful, which discouraged discussion.
While I learned some useful concepts, I would not take this course again, even having earned an A.
Rating: 2 / 5Difficulty: 3 / 5Workload: 11 hours / week
Y//78ivuAYK34qoqqIUJsA==spring 2026
Deterministic OptimizationI just finished my final exam with a pretty mediocre grade (76.6%; 86.2% final grade = B). Whoever said that the final exam was easier than the midterm, lied :P
However, that won't change my review since I got into the final knowing what I did good and what I did not...
That aside, this course was actually very light-weight and straightforward. I'm a CS undergrad with a moderate math level (for a CS undergrad) and still the math was never not too complex.
There are weekly assignments with a written portion and almost always a coding portion (in Python). I finished each assignment in around 3 hours + 3 hours of LaTeX typesetting.
The exams are not too difficult but require you to actually understand the underlying mechanisms of the topics to be able to infer some properties not explicitly covered in the lectures or assignments. The exams kinda mimic the practice exams with varying non-trivial modifications. These are proctored but you're allowed cheatsheets where you can write anything on them.
Some lectures are kinda dry (too much unexplained math) and only stuck in my head after doing the assignments, but most of the lectures are intuitive and straightforward. Very good lectures overall.
Having 2 exams worth 80% of the grade actually puts some pressure. It's kinda fun for me that I felt Bayesian Statistics waaaaay harder than DO and still got 95% and 86% final grade, respectively.
I wanted to take DO because whenever I study something I'm always faced with optimization problems (in AI, ML, CV, Graphics; the subjects, not the courses) and I usually skimmed the problem formulations out of fear, so to say, and wanted a better preparation to analyze and solve those problems myself, if needed, but finished this course still feeling that I wouldn't be able to tackle most of those problems myself, anyway.
It was an entertaining course, just not actually useful for my needs. I'd only recommend this course to someone who wants a nice challenge and doesn't mind not learning something practically useful (valid decision though).
Rating: 4 / 5Difficulty: 3 / 5Workload: 10 hours / week
EuLxTumrGEq3fqOSg9gDhQ==spring 2026
Knowledge-Based AIWhile I enjoyed the concepts from this course and plan to use them in future courses, the assignments themselves were a pain to go through. It was hard to gauge on how to improve with both the milestone and mini project assignments given the concepts in the course were so abstract, but applying them into code was completely different. Only one mini project (Monster Identification) was easy for me to solve given that the lecture for that provided some psuedocode, which is what I think this course needs. If it was up to me, I would completely redesign this course to be something closer to a technical writing/design course. While still keeping the same concepts (and possibly updating them with additional pseudocode), it would be better to give students an opportunity to learn how to design their AI agents through writing, similar to the homework assignments. Then with pseudocode included, they can take their design docs and apply them into code to ensure that their agent design is efficient enough to solve specific problems. I think that was my biggest problem of this course, the lack of direction between concept and code. Taking those concepts and writing some document of how exactly an AI agent is designed (either through specific algorithms or updated algorithms based on KBAI concepts) would have much better for students to understand how to create an AI agent, especially since we're in a time where having some sort of idea of how to design AI agents in modern AI standards is a great skillset. Again, I still plan to use and apply the concepts I've learned in this course since I think that they are interesting and useful enough for my AI journey, even if they are considered to be outdated. I just wish that this course was different in its approach in teaching how an AI agent should be designed without the lack of direction between the course's concepts and the coding assignments.
Rating: 1 / 5Difficulty: 3 / 5Workload: 10 hours / week