T52KwjMZVFf7TnQWkbHiTg==summer 2026
Introduction to Graduate Algorithms100 Most Recent Reviews
- Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / week
T52KwjMZVFf7TnQWkbHiTg==summer 2026
Introduction to Graduate AlgorithmsRating: 3 / 5Difficulty: 3 / 5Workload: 13 hours / weekBrHCAwk8rHVMLMavnc4MiA==summer 2026
Data Analytics in BusinessThis course feels a bit rudderless to me. I took it as the 5th course in the OMSA program, and I didn't feel like any of the material was particularly new or interesting. Along with this, this course feels like it's lacking some kind of overall purpose. The homeworks were okay, but the demo videos basically do every assignment for you. I felt no real incentive to dive into learning anything deeper. Overall, I would say this course is far too easy for a master's program, and overall, I'm a bit disappointed. I think the lecture is a great base for the course, but there needs to be more to it.
Rating: 2 / 5Difficulty: 1 / 5Workload: 3 hours / weekS+WaLUo7nSzAqSdAwH9PYQ==summer 2026
Database Systems Concepts and DesignThis course is easier than my expectation.
Project: I checked on some old review saying the last phase of course project is tough, schedule is tight, and make sure you have teammate can do both front end and back end. In summer 2026, we do have the code of the example application used by this course (GTOnline). We just need to learn those php and html code and apply them to our own project, which is quite simple (though it is your freedom to choose what tech stack for your own application). My team of 5 just spend 1 weekend to get the whole application done, with everyone evenly contribute to the application. As for the phase 1 and phase 2 of the course project, they are very simple that I think even one person can do all of them (I guess each semester, the group project theme would be different. But at least for the one in summer 2026, it is quite simple and straight forward). The project does have tight connection to what we learn in the course, very well designed project for education purpose. Project is a full stack project, which is great.
As for course content, I am not going to comment since you can find all the info from the syllabus, the textbook, and even the lecture video is public. You can check on them and make your own judgement whether it is worth to your goal or not.
Exam: it's not hard, since you have practice exam for each exam. Some questions are tricky though and you need to pay attention to the exact word. But as long as you get the basic question correct, your final grade shouldn't be bad.
I would recommend this course and SDP for early CS career beginner. This course may be easier than SDP I think, since the coding language used in PHP and html of this course is much easier than Java, which is needed in SDP's project.
Rating: 5 / 5Difficulty: 2 / 5Workload: 15 hours / weekT52KwjMZVFf7TnQWkbHiTg==summer 2026
Introduction to Graduate AlgorithmsI came in terrified of this course given its reputation and left feeling it was a walk in the park, especially compared to my undergraduate algorithms course. Everything taught is pretty standard stuff you should have at least a decent grasp of coming into a graduate program in Computer Science.
Exam one focuses on dynamic programming and divide and conquer algorithms. I found this exam to be the hardest -- I feel the scope of possible problems is much larger than with the other two exams. We had one exceptionally difficult DP problem, but other than that it felt fair. I received a 40/60.
Exam two is all graph algorithms. You have a list of ~12 graph algorithms to use as black boxes to solve slightly more complicated problems. I'd say this was the easiest exam of the three, and the problems were borderline trivial. That said, it had the most "trivia" to memorize regarding characteristics of graphs and inputs/outputs of different algorithms. I received a 56/60.
Exam three is NP-Completeness and linear programming. I found this to be the most interesting unit, as I find computational complexity theory to be fascinating. The exam required us to prove that two toy problems were NP-Complete; the reductions were immediately obvious and rather simple, but I found the correctness proofs are a bit harder than for graph algorithms. I'm still waiting for my grade but anticipating at least a 50/60.
Overall, this class really requires you to know the material inside and out -- you can't go into any of the exams with a half-baked understanding of the concepts. You need to go through every homework problem and suggested textbook problem multiple times until they're second nature. But if you have the prerequisite knowledge and put in the work, I'd say it's easy to earn at least a B.
My one complaint with the class is purely logistical. The teaching staff would frequently go 100% radio silent for days on end with an exam approaching and crucial questions going unanswered. One of the TAs was needlessly rude and condescending in all of his interactions with students. Exam 2 grades came out mere hours before EdStem was shut down for Exam 3, so we were unable to discuss our solutions/regrade requests.
Finally, one of the assigned homework assignments for the graphs unit was found to be unsolvable; it was dejecting putting 10+ hours into solving it only to realize that my time was completely wasted, with literally no word from the professor about the question that he wrote.
Overall, I found this course to be frustrating, but not nearly as difficult as people say. I may even go so far as to say that if you have trouble passing this class after two attempts, you may just not be cut out for a graduate degree in Computer Science.
Rating: 3 / 5Difficulty: 3 / 5Workload: 15 hours / weekgYnCL3UWEAYfGPE8FAumiA==spring 2026
Computer Graphics in AI EraLectures
The lectures were super clear, especially with all the visuals present throughout. Bo Zhu really did a great job breaking down complex ideas into chunks that actually made sense. The way he structured everything was engaging and the material felt relevant and current. I found myself rewatching lectures because they're so easy to come back to.
Assignments
The programming assignments had a creative side to them, which I loved. They're structured as Jupyter notebooks and/or fragment shader files using an app the staff built. You open the relevant files and implement the code sections marked "write code here." You can go as far as you want with the creative parts, and there's room to explore more if you get into it. As someone who's naturally creative, I poured genuine effort into them.
Exams
There was just one midterm, which was manageable and open book. For the final, you got to choose between doing a creative render or writing a technical report, so you had some flexibility there.
Staff Engagement
Bo and the TAs were very present the entire semester from start to finish. Questions on Ed were answered quickly, replies were always friendly, and the support was genuine throughout.
Overall
I have absolutely no regrets taking this. It was a super fun class and I loved the whole experience. If you're thinking about it, I'd really encourage you to take it. :)
Rating: 5 / 5Difficulty: 3 / 5Workload: 18 hours / weekQpnP9fVBwQNBeVvaVY4ENg==summer 2026
Knowledge-Based AIThis class was a big disappointment. Firstly, they had us QA their research lab agents and write 5 page reports on them. Secondly, this class should be called "Intro to Leetcode" because that's all this is. Sure the lectures do teach you about knowledge representations and cognitive similarities, but all the projects are just small leetcode problems and reports about them.
Rating: 2 / 5Difficulty: 3 / 5Workload: 10 hours / weekPgmA/spy9GKTV7VytkDusQ==summer 2026
Machine LearningThis class has been great in learning how to connect the math fundamentals to application. I'm more "self taught" in data science (Job is MLE, do a mix of ML and a mix of engineering), and always found it tough to find good resources to strengthen more of the foundations around the math, theory, and algorithm/learner nuances. This is why I sought after a masters program, and this class is absolutely helping me move in that direction.
If you want to get the most out of the class, it takes putting a lot of hours. Even being familiar with the application of machine learning, I found lots of opportunities to grow and learn. The papers present a lot of opportunity to go into depth, and challenge a lot of the why behind how algorithms work.
The papers overall are a lot of fun. There is plenty of guidance for what's expected, and they will hold you to it. I would however strongly recommend if you're not familiar with EDA, preprocessing, model and feature selection, etc, then pick some classes that build those fundamentals first. That's the easy stuff to learn from places like Kaggle, the much more meaty stuff is what this class does great going through.
Rating: 5 / 5Difficulty: 4 / 5Workload: 25 hours / weekeY/Yl9QV93aFZlDe3ehIJA==summer 2026
Machine Learning for TradingWhy does David always seem determined to ruin every previously excellent course he takes over, overwhelming students with heavy assignments and convoluted exams that do nothing to promote actual learning? I call his approach to ruining every good course he touches “performative teaching.”
Rating: 1 / 5Difficulty: 3 / 5Workload: 20 hours / weekxJQ8fGaLma44cl2jyMwKfA==summer 2026
Computer NetworksCourse came as advertised. They made some changes this semester, making the new tutorials a grade (CDN, Kubernetes, etc) although they are not hard at all and honestly helpful if you are new to the material. Exams are closed note but they do release question pools in advance. All projects are manageable within a single evening if you are focused.
Overall, very few surprises (although I personally think people hate on the lecture content too much). It does feel like an undergraduate class, but I have no complaints given that I am seeking a standard background in networks. There are plenty of materials to read (optional) to explore the material if you would like. Nice refreshing Summer (paired it easily with 8903 and full time work).
Rating: 4 / 5Difficulty: 1 / 5Workload: 4 hours / weekvKZss4f98jPc2E1Wl2a0Cg==spring 2026
Introduction to Graduate AlgorithmsThis is a standard graduate algorithms course, and is very doable. They give you the exact format/structure to write each algorithm in. They give you the pieces you are allowed to chain together (DFS, Dijkstra, etc.). You have to chain them and formulate them appropriately. You have to be very specific and correct, as one misnomer could change your algorithm accidentally.
Thus, I'll conceded that the grading is a bit too strict and small mistakes can be disproportionately costly. But it is somewhat easy to not make those mistakes. The "I had to take this course 3 times" comments are not warranted. I would argue that being able to effectively chain known tools/functions together to form a solution to a problem is THE key skill in software, so this is crucial development.
You need to have a good understanding of covered algorithms inputs/outputs, you need to do the homework problems, and you need to look at the Ed Discussion for each homework to understand the 100% solutions being posted. That's it. I did not watch the lectures, but I am not suggesting you skip them as they are helpful. But read the textbook definitely.
The exams usually have 1-2 large word problems with some supplementary multiple choice to boost. At least one of these word problems almost exactly matches a suggested homework problem (though not necessarily the one assigned for grading, that's why reading Ed Discussion is crucial)
Just be diligent. You can do it.
Rating: 5 / 5Difficulty: 3 / 5Workload: 5 hours / weekvOlux888POjds2BACh9l6g==spring 2026
Applied CryptographyMy experience was excellent. You'll enjoy the course if you're someone who likes deep, slow, persistent, first-principles-based, precise thinking.
There are no large codebases or large projects. If you find other courses too practical or too light on theory, this course is full of theory and abstract thinking.
If you want empirical system performance experimentation, fine-tuning ML models, data analysis, or building large projects, this course offers none of that.
The lectures are dense, and every phrase from Professor Sasha is filled with information. I have never seen a lecturer who wastes so few words. This is nice because your time is not wasted, but it also requires focus, since a small distraction is sufficient to make you lose track, so rewatching lectures becomes essential.
The first half of the course teaches the definitions and terminology used in formal cryptography, particularly symmetric cryptography. This involves becoming familiar with new concepts and understanding the relationships between security definitions and adversary models. It is mostly logical thinking with little calculation. The second half introduces asymmetric cryptography. The definitions learned in the first half are adapted to the asymmetric setting, and the necessary mathematics (number theory and group theory) is introduced. Here there are calculations, mainly involving modular arithmetic, along with a few short programming projects.
The day-to-day structure of the course is that every week you watch a lecture and take a proctored quiz without access to reference material. The quizzes require special attention to definitions and precise wording.
Homework problems are somewhat difficult, and the solutions need to be well argued, similar to writing mathematical proofs. However, they are very rewarding once you begin to develop an intuition for them. You can submit handwritten or typed solutions (LaTeX if you want, but it is not required).
To help students, practice questions are released one week before each homework assignment. These questions cover the same topics as the upcoming homework but are easier.
Importantly, homework problems can be discussed in groups created by the students themselves at the beginning of the course. This is actually encouraged by the professor.
The TAs are very available and explain the concepts very well. There are office hours almost every day, and Professor Sasha is available once a week.
The material is self-contained, but there are also three high-quality books recommended, all of which are freely available online.
Exams are proctored but open-book: PDFs, videos, and lecture slides are allowed. The questions are similar to those in the homework, but slightly easier. The time provided was sufficient.
There is no exploration of frontier research topics, and there would not be enough time for that. However, they are briefly mentioned in the final unit. The objective of the course is to provide students with the foundations necessary for further study, and in my opinion, it accomplishes this very well.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / weekSD19ykVv92Wjq5tetG7Kfg==summer 2026
Special Topics: Financial ModelingLet me preface this review by stating that, despite how I scored things herein, I did not inherently hate this course. If you want to learn some basic Excel, I guess this course is fine. But even then, the bulk of your time will probably be spent slowing down and pausing videos, then cross-referencing the presented content against the homework instructions. In general, very little thought is needed to succeed here; the course could be better marketed as "can you follow directions?", in my opinion. A plus is that a lot of the content can be completed weeks in advance, at least during Summer 2026.
Note that the instructor provides the solutions (albeit sans formulae, generally) for ease of cross-referencing that whatever Excel updates the student ("learner") makes to their solution file ultimately align with what is presented in the videos. That's it.
Filter out the Ed Discussion thread. As is typical in OMSCS, you'll invariably see multitudes of students asking pretty obvious questions or requesting clarifications that are otherwise provided in the supplied material (i.e., the course videos, slides, and/or homework instructions).
However, the organization of material for this course is depressing. The instructions and/or Ed will often have addendums which supplement or otherwise correct course material. I consider most of the documentation disorganized, sometimes error-prone (as noted), and composed in a way that feels very stream-of-conscious and reckless. And in some later modules, the videos themselves are annoyingly outdated relative to required data sources and whatever associated processes thereof.
What you'll learn: how to transcribe video content into Excel cells. Maybe you'll pick up a few Excel tricks, but at this point as a graduate student in a CS program, you probably already know most of them.
What you won't learn: actual CS. This course also barely touches on actual economic theory in any meaningful depth, in my opinion. Instead, you'll find yourself "coding" in Excel cells, making sure not to change ANYTHING you're not supposed to, lest whatever grading macros shall fail. Economics are reduced to simply saying things like "X + Y = Z" and so on.
This course likely should be completely revamped to leverage Python or some method more sophisticated than Excel. At the very least, it should please, please, please, correct all the errors upon errors in the course material, including the videos and whatever written content. Integrating actual economic theory in any substantial depth would also be appreciated.
Nevertheless, if you can stomach the amateur course administration, grade school-level financial theory, and frequently-flawed content delivery, while entering this course with exceptionally low expectations, it's probably fine as an elective that should bolster your GPA.
But will you come out as an economics expert or even an upskilled programmer (Excel or otherwise)? No, not at all. And maybe that's OK, especially juxtaposed against the more rigorous and mature courses in this program.
Rating: 2 / 5Difficulty: 1 / 5Workload: 4 hours / weekPfmIAfgIvMdo9V5jd4mYPQ==summer 2026
Knowledge-Based AIClass is simply not good, for a grad level. I'm at the end of my OMSCS journey and this is such a sad class to end my jouyney with. Too much tedious dull work with not much to learn. Not sure why people hyped this class up. Avoid unless you have to take for a specialization.
Rating: 1 / 5Difficulty: 2 / 5Workload: 13 hours / weekC5z0p8fJYg9Yks6o4/WdyA==spring 2026
Human-Computer InteractionThis course is great for a starter course and if you are interested in the design process of technology. There is a bit of work involved so be prepared to stay on task.
Homework and participation should be fine if you start early on them.
The most challenging parts of this course would be the quizzes. They are closed note which means that you do have to study for them comprehensively.
There are also tests that are open-noted which covers the lecture material and the readings. I would not bother studying the reading and get used to ctrl-F content based on the test questions.
For the projects, it is important to start early and get a good group. Note that the projects do require sending out surveys/setting up interviews so it is best to have the questions done early as you are more likely to get responses from peers in a timely manner.
Overall, the material isn't hard, but it is imperative that you start work on time and pace yourself in order to not stress yourself out. This is a good introductory course if you been out of school for a while and a must-take if you are interested in design.
Rating: 4 / 5Difficulty: 3 / 5Workload: 12 hours / week2BDswFbz3HZBy7L1+1rf3w==spring 2026
Introduction to Computer VisionOne of the hardest classes I have taken so far
No midterm and one final (open book) which encourages you to read the material as a one final hurrah. There are 6 projects and 1 final that lets you choose 1 or 4 projects and write a report of it which is almost your entire grade.
You are expected to learn the python libraries like numpy and scikit-learn, pandas from the start. This will put you at a disadvantage in project
These projects are difficult and extremely time consuming as these projects are complex and requires good accuracy for these parts to work. While I was able to work weeks earlier, I enjoyed watching the lecture and read the textbook because these concepts is what built the foundation of CV, although it isn't widely used anymore as DL overrode CV. After doing the project, there are reports although its simply asking questions and putting in your data results. Only the Final Project however requires you to write a professional report
Project 3 is by far the most time consuming project with many parts on it. If you don't work this early in advance, project 3 is a killer. There are extra credit points for projects as they are huge part of the grade
Projects are returned 2 weeks after its due in timely manner and report grading can be harsh at times but as long as you are able to do your project, reports can be done much faster than doing the projects
Issue: TA communication is practically non-existant and office hours are schedule days before its due. It's very concering since some people in CV needed questions answers but without office hours, we are kinda left by ourselves
Its a good class, just really need TAs to communicate and its also a nice-to-have for DL which does somewhat use CV.
Rating: 4 / 5Difficulty: 5 / 5Workload: 25 hours / week2BDswFbz3HZBy7L1+1rf3w==summer 2026
Machine Learning for TradingVery disappointing class
Projects: There are 8 projects each builds up to the project 8 throughout the semester. The only thing that is by far the best off this class is that you get a nice portfolio at the end of semester
Exams: Closed notes and multi selection (basically T/F questions) and my goodness it didn't test me on how expert I am, it made me more stupid and dumber then before. The questions are so terribly worded that just changing 1-2 words already makes your answer wrong. It's challenging because they worded it so bad that it doesn't become english anymore. The exam is literally just me flipping coins until I get triple 7s but I did not get a triple 7 but instead I lost all my bets and got punished for not reading the questions very carefully. And the questions on the exam is mostly reading the readings and few of it on the notes. The funny part is that they even recommend generative AI to study with you which is a horrible idea and taught me absolutely nothing. There is no study guide or anything, you have to ask generative AI. And not generative AI can let you have prompts for free. Such a BS concept because paid subscriptions get better models.
Quizzes: Why am i getting asked on people OH questions and syllabus. like who cares? quiz us on material and readings
Ed discussion. Instead of guiding you to the answer. TA's would just point you to read the description of the project or even give you vague answers. Office hours was okay and at least they give you better answers there. So what's the point of ed discussion anyways?
Assignments are returned very late just days before drop off day. I don't even know if I am doing well and don't know when I should drop out. like ?????. Just return the assignments maybe 2 weeks after its due at least.
And what did I learn at the end? Nothing. the trading stuff is outdated, the lectures were "I could just read this in the library instead". And the exam expects us to be masters in finance and flipping coins to get good exam scores
Worst class I have ever taken so far. I recommend taking ML class directly and read ML textbooks from your local library instead.
Rating: 1 / 5Difficulty: 2 / 5Workload: 15 hours / weekjBXybll91KhCN3KeWgoHTg==spring 2026
Introduction to Cognitive ScienceGreat course. It introduces abstract cognitive science concepts. Don’t expect technical and traditional computer science teachings. The class is composed of paper-style assignments, quizzes, and a semester-long project. No tests, no group work, no participation bs, which I loved. The assignments were thought-provoking and tries to explore your opinion with support from the ideas presented in the course. The grading could be a little tricky and subjective at times, but I eventually got the hang of it and what they’re looking for. The material source of information is the lectures and the readings. The lectures are organized and clear to understand and I appreciate transcripts being accessible. I personally didn’t focus much on the readings. The readings are crucial for the quizzes. The quizzes are 10 min, open everything, and allows 2 attempts. Easy to knock out weekly. The term project is very open-ended and self-paced. If you are a procrastinator it’s hard to get started and stay on schedule and I did fall behind. The TAs are great and were very engaged and active. The load and planning of this class is excellent. The targets to meet were reasonable and achievable. The timeline design of deliverables was balanced, very unlike my experience in HCI. For example there is no assignment due some weeks so you can work on your project. I learned a lot and this class made me think deeply. I would recommend. I think it would make a good summer course. Not a high weekly time commitment.
Rating: 5 / 5Difficulty: 2 / 5Workload: 6 hours / weekjBXybll91KhCN3KeWgoHTg==fall 2025
Human-Computer InteractionThis was my first class and I honestly disliked it. I got pretty frustrated with the demands of this course. The content is moderately interesting. It’s nothing eye-opening but it’s structured and posits some basic ideas formulaically. The lectures are good and communicated information effectively. I took good notes. I just feel like this class tries too hard. It’s very repetitive and performative. Very often you will be asked to rehash or do something under different circumstance with no gain to you. You’re not learning anything new or explaining a new topic or trying a new exercise. The only purpose I can see is that the instructor wants to make the class harder and does so in the laziest way possible. You will see this pattern in hw questions, quiz questions, and the double projects are one huge example. The homeworks are doable. Just stick to answering the questions closely. I HATED the quizzes. The quizzes are painful because you have to rote memorize terms which I don’t think should be part of graduate level assessments. They are also way too long for the given time. And the TAs grade them pretty harshly. I really don’t like that there is no way to digest the feedback on quizzes. You can’t see your quiz so you can’t learn from it or judge if your answers were graded fairly. I felt like TAs took points unnecessarily but I can’t justify it when I can’t see my answers. There are questions on the quizzes and tests based on the readings. I barely skimmed the readings and asked AI the reading questions during the test. Note that open internet is no longer an option for the tests after this semester. This is my first experience with the peermark system and participation points being such a big part of the grade. I found the participation aspect of this class bizarre, tedious, and unhelpful. This class desperately needs to drop something. It has way too much stuff.
Rating: 2 / 5Difficulty: 4 / 5Workload: 10 hours / week2c1btKEcjhtxtHHB8f2rMg==spring 2026
Special Topics: Introduction to Computer LawFinal Grade: A(92.32%).
Pros:
- Very easy course overall. It only took about 5 hours a week.
- The topics were actually pretty interesting, and I enjoyed learning about them.
- Great course to pair with another class since the workload is manageable.
Cons:
- The expectations for the writing assignments were confusing. Sometimes you lost points for explaining too much, but other times a basic explanation was not enough.
- TAs did not always answer questions, which made assignment expectations even more unclear.
Quizzes (20% ) - 95.56%: The quizzes were open-book, so you could go back through the lectures to find answers if you did not remember something. They were straightforward as long as you kept up with the material.
Writing assignments (10%) - 88.13%: The assignments seemed simple at first, but grading felt inconsistent. Sometimes I lost points for over explaining, while other times I lost points for being too brief. I was never really sure what the TA expectations were, and even after asking questions, I did not get much clarification.
Discussions (10%) - 100%: Pretty much free points. There was one discussion each week, 12 total, and you mainly just shared your thoughts on the topic.
Code Analysis Project Project(35%) - 84%: This project involved writing an essay comparing two IDEs. I thought I explained my points well, and I followed the feedback I received on the proposal, but I still did not do as well as I expected. I spent around 20 hours working on it over the course of a month. The project itself was not difficult conceptually, but the grading expectations felt unclear, similar to the other writing assignments.
Acquisition Project)(25%) - 100%: This project was much easier than the Code Analysis Project. You had to write an essay about a company you believed should acquire another company and explain why. I honestly enjoyed this assignment because it felt more creative and practical, and the expectations were clearer overall.
Rating: 5 / 5Difficulty: 1 / 5Workload: 5 hours / week2c1btKEcjhtxtHHB8f2rMg==spring 2026
Software Development ProcessFinal Grade: A(93.51%).
Pros:
- The class is very easy especially if you have software development experience
- Concepts are explained clearly and in a straightforward way.
- Assignments are manageable and not overly time consuming.
- Good refresher course for developers who want to strengthen foundational skills.
Cons:
- I felt like I didn’t learn much new material, especially since I already have a CS background and previously took software development and Android app development courses.
- TAs often did not provide direct or clear answers to questions.
Assignments 1-5(2%, 5%, 10%, 10%, 2% ) - 100%: These assignments were very easy overall. A1 was simply a survey for the group project, so it was essentially free points. A2 covered basic Git usage, A3 focused on basic Java concepts, A4 was a basic Android app assignment, and A5 involved creating your own software design for the group project.
Assignment 6 (15%) - 80%: The white box testing assignment instructions were not very clear, which made it harder to understand the expectations. I did not perform as well on this assignment, so I recommend carefully reviewing the instructions and making sure you fully understand the requirements before starting.
Participation (3%) - 100%: As long as you watch all the lectures and read all the threads on Ed Discussion, you should receive full participation credit.
Group Project(18%) 95%: I heard this project can be hit or miss depending on how active your group members are. Thankfully, all of my group members participated, which made the project much easier to complete. The project involved building a basic Android app as a team, with four weekly deliverables throughout the semester. The only reason we did not receive full credit was because we forgot to update one of the design documents.
Collaboration (Group Project)(10%) - 96.3%: Each group member evaluates both themselves and the other members based on their contributions to the project, and the final grade is determined by averaging those evaluations.
Individual Project(25%) - 91.1%: There were four deliverables for the individual project. D1 was the most confusing for me, and I did not do well on it, receiving a 74/100, which lowered my overall score. I also did not enjoy some parts of these assignments. For example, D2 involved creating test cases, and it felt like a guessing game trying to figure out all the possible scenarios. I only identified 28 out of 34 scenarios and ended up with a 90/100. D3 involved completing the main class implementation. I was unable to pass one test case, resulting in a 97.5/100. D4 required implementing another class, which was much more straightforward, and I received a 100/100.
Rating: 3 / 5Difficulty: 2 / 5Workload: 10 hours / weekJaVLHZY8eKpI9a2B0ZnPjg==summer 2026
Knowledge-Based AII feel this course is more about testing GT's research prototypes (Jill Watson, SAMI, VERA...). Lab reports focus on writing QA experience. I honestly think they should reduce number of such labs (redundant to me), or make the lab report much simpler. Current workload (agent interaction & writing) of labs is not that meaningful.
Rating: 1 / 5Difficulty: 2 / 5Workload: 10 hours / weeksO8OJlQ/P8sVDM5eftGHRA==spring 2026
Introduction to Graduate AlgorithmsLegitimately one of the hardest courses I've ever taken. I made a mid-C my first attempt in Spring, but when the second attempt in Summer didn't go even as well as the first I decided that was it. Dropped the course and moving on to AI.
I don't regret making an attempt. I honestly learned so much from this course. I've never had much exposure to this material before, and it was an okay experience overall. I have some discrete mathematics, set theory, probabilities, calculus, etc. in my background, but never a true algorithms course.
They DO NOT tone down the material over the summer, so if you're seeing algorithms for the first time, I highly recommend you do not take it over the summer. In fact, I thought the questions on the exam were even harder than the full spring semester.
As for study time, your average study time per week (IMO) depending on your exposure to the material is this:
No math/proof or algorithm experience - ~35 Hours per week minimum to pass (passing grade not guaranteed)
Some of the above experience (no full algorithms course) - ~20 - 25 hours minimum per week
Both discrete/linear algebra and full algorithms undergrad courses - ~10 - 20 hours per week
It really depends on the person too. It might just click for some, or for others it can feel like you're spinning your wheels the whole semester and get a C because you don't quite get it. Each free response question is worth between 8% and 11% of your final grade, so bombing one question could be the difference between an A and a B, or a B and a C.
Ask yourself, do you REALLY need GA?
Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / weekihs2vbYmUnyyML9glWVc1A==spring 2026
Introduction to Graduate AlgorithmsThis course is an absolute brutal struggle from start to finish. The strict grading and exams can easily break you. Honestly, the CS6515 Study Guide Site was a complete lifesaver especially for surviving Exam 2's graph patterns and Exam 3's strict 4-step NP-completeness template and LP duality recipes. Without it, the devastating point deductions would have tanked my grade. I would highly recommend this study guide as it is very neat, organized and feel love studying: https://study-guide-eight-phi.vercel.app/
Rating: 3 / 5Difficulty: 5 / 5Workload: 20 hours / weekyS0bh5mJM3DaFgetLm9ELQ==summer 2026
Knowledge-Based AIThe course covers classic KBAI topics and is worth taking, but the AI collaboration policy deserves scrutiny. The policy restricts AI use to grammar checking only, one can probably argue that writing friction is where learning happens — if AI removes that friction, the instructor can't assess your understanding. That's a legitimate argument, but the course doesn't make that argument. Instead it draws an analogy to the real world: that using AI-generated work without adequate oversight hurts our professional trust. The problem is the analogy doesn't hold. Professionals lose trust for using unreviewed AI output — the policy bans reviewed, understood AI assistance too. Those aren't the same thing, and citing one to justify the other is a stretch.
It's also worth noting that this is a course about AI systems. Critically evaluating AI output — identifying where it reasons well, where it fails, when to trust it — is itself a relevant skill. A policy that treats all AI engagement as academic dishonesty misses that.
Go in with eyes open. The restriction is workable, but the justification they give for it doesn't hold up.
Rating: 2 / 5Difficulty: 2 / 5Workload: 10 hours / weekkLJXHjtrD+++EoBJ2Ksbmg==fall 2025
Special Topics: Intro to ResearchOverall, this was a decent course. I've never done research before, so it opened my eyes to the tiny mechanics that are present at so many of the pre-experiment phases.
The course revolves around two main projects - an individual project and a group project. The individual project is a research proposal about a question of your own choosing. The student discovers the question, the relevant literature, the current gap in the scientific field, and the possible schedule that covers the future semester. The group project is a Systematic Literature Review of a narrow question. The group will come up with a question to read the about in the existing literature, figure out the different methods used to answer the question, and find potential gaps in the literature.
The professors and TA grade the class leniently. I get the feeling that they didn't really want to take away points, but also didn't want to give 100% to everyone. Most the class got 90+ on most of the assignments. Another chunk of the grade comes from the peer reviews that are required, but most of the students are very generous with their feedback.
My advice for people is to come into the class with two subject you want to research already. That way, you can hit the ground running by only reading relevant papers. The second subject comes in handy if you need to be the one in the class that generates the group project idea. Mostly a straightforward class that you can get elective credit for completing. I would take this class if you have a heavy class as well, but it would be too easy alone. However, I wouldn't recommend this class to beginners because they do not have as many knowledge about their interests yet.
Rating: 3 / 5Difficulty: 2 / 5Workload: 6 hours / weekBbZ3VI+UXIBBvTaYgCBzpw==spring 2026
Introduction to Health InformaticsThis class is misleading from OMSCentral reviews and turned out to be much more challenging than expected. I mean, I still finished the course with slightly overy 100%, but it required 20-30 hours a week to get some of the solutions working or parts of my portion of the group project completed. I was fortunate to have a strong group that worked well together and were all committed and dedicated. Our app actually won the Staff's Choice during the 2026 Showcase.
I am grateful for a great team and I learned a great deal about FHIR interoperability, Python, Java, Git, Azure DevOps, and Vue.js through the course assignments and team project, but it was a lot more work than previous reviews led on. Don't get me wrong, I thoroughly enjoyed the lectures and the assignments were very relevant and helped us build the foundation and skills for the project during the second half of the semester, but the main theme is it takes a lot more time commitment than expected -- which isn't necessarily bad. Just don't go in thinking this is an easy A. I love using the Gradescope automated grader because you'll know immediately what your final assignment score will be. As long as you pass the autograder then you're good...but I didn't procrastinate and still found myself sometimes coding in frustration up until the day before the deadline to get everything working. The assignments are clearly defined, but the implementation can be challenging and it took a lot of trial and error and testing. The TAs and Ed Discussion is useful. This course is worth the effort and well organized. Just don't fool yourself that it's an easy A unless you have a strong SW development background rooted in OOP languages, APIs, and web development too.
Rating: 5 / 5Difficulty: 4 / 5Workload: 20 hours / weekGOgTqGxWG9t1dh0dOQbgDQ==spring 2026
Introduction to Information SecurityOverall grade: A (99.97%)
Background: BS in Computer Science. 4 years of SWE work experience.
Lectures: You do not have to watch the lectures, but I did end up watching some of them (about half or more). Contrary to what other reviewers have said, I thought the lectures gave some good introductory-level background information about that helps you understand the various homework assignments if you have no experience in that topic. I found the lectures to be sufficiently engaging.
Exams/Quizzes: There are no exams or quizzes in this course.
Assignments: In the semester I took this class, there were 9 assignments. Some included extra credit opportunities (a few additional new questions the TAs were considering adding), but not all. In this class, you truly get out what you put in; the assignments all require a lot of self-directed research, so you get a better understanding if you put in more energy to learn the new materials. This can be intimidating, but it is possible to get 100% on every assignment if you just put in enough time. Here is a rough estimate of how long each assignment took me to complete:
- Man in the Middle - 8 hrs (including time to finish 3 extra credit questions)
- Machine Learning - 9 hrs (Mainly reading through pandas documentation. The extra credit on this was not hard, and you should at least attempt it.)
- Binary Exploitation - 20 hrs (Definitely the hardest assignment, but not impossible to finish. The TAs give great hints on EdStem that push you towards the right answers. I finished 2/4 extra credit opportunities provided on this assignment and started the other 2 but did not finish them.)
- Cryptography - 6 hrs (This was one of the easiest assignments and did not need 2 weeks to finish. It would be better if they had us actually run the padding attack.)
- API Security - 8 hrs (Not too bad, and a good intro on how to use curl statements to interact with APIs. Although you use a different interface with buttons, you can see the curl statements it sends.)
- Web Security - 16 hrs (I do not have any experience in this field, so I struggled a lot on this assignment. For me, parts of this was harder than binary exploitation, and I almost gave up on finishing it multiple times.)
- Log4Shell - 9 hrs (Make sure to watch the video before starting this assignment. It is not too bad if you understand the video they provide.)
- Database Security - 12 hrs (I did not finish the SQL defense part of the assignment (1 question). Rather than using the industry standard of sanitizing all user inputs with prepared statements, they want you to practice writing if/else statements to show why that is a weak way to sanitize inputs. I tried to do it, but I kept failing an edge case and gave up.)
- Malware Analysis - 6 hrs (An underwhelming assignment to end on. The coding portion took less than 1 hr to finish. The other half was reading through malware analysis documents and answering true/false questions about each malware.)
Overall: You get what you put in. If you take the time to learn the new materials and tools for each assignment, you will have a good time and are easily able to get close to 100% overall in this class. If you want to do the bare minimum, I hope you have past experience with some of these tools/concepts. I got a lot out of this class and thought it was a great introduction to several cybersecurity concepts.
Rating: 5 / 5Difficulty: 3 / 5Workload: 12 hours / weekM79qS59VnacIRBBtzbYq0w==spring 2026
Artificial Intelligence Techniques for RoboticsPreface: I've worked as an R&D robotics engineer in industry for several years, but studied electrical/computer engineering in undergrad. This was my first OMSCS course. I took it to brush up on topics that I've encountered in practice but have little theoretical background. The only topic I had both studied and used extensively beforehand were PID controllers. However, I had exposure to Kalman Filtering, path planning, particle filters, and SLAM in the form of using off the shelf software packages.
This course is very pragmatic and to the point. The projects are well done. They don't waste your time - it's easy enough to get A/B scores but will take a bit of tuning and thinking to get full points on the assignment. Exams were not difficult if you pay attention to the lectures. There was very little lecture content which is my biggest complaint. I wish there was more detail on theory and discussion on state of the art. Regardless, this is a very solid foundation for both concepts and implementation.
As for difficulty and workload, this class was much easier than I expected. It definitely comes and goes with some lulls throughout the semester. Some weeks were more like 12 hours, but others I did basically no work - I averaged it out to 6 hours. If you're a half-decent programmer and grasp the concepts they won't be very difficult. Homework took an hour at most and projects usually took 4-10 hours depending on how many points I wanted.
Great first class and recommended for anyone who wants a taste of robotics.
Rating: 4 / 5Difficulty: 2 / 5Workload: 6 hours / week0R6YEqTuTltiZ/3wAvmt/g==spring 2026
Machine Learning for TradingGood class! Lectures were a bit outdated but very good! TAs and staff are very responsive! The exams were tricky; we had two midterms but definitively doable if you study. The class is composed of two midterms, 8 projects, quizzes and surverys. Majority of the grade came from the projects, and they were the most fun! Some projects had a writing component to them on top of code. The project were interesting, and they range from portfolio value simulation to reinforcement learning to decision trees to having project 8 combine all of this. Definitely recommend working ahead on the projects especially project 6 (technical indicators), project 3 where you had to implement decision tree from scratch, and project 8 that involved a lot of fine tuning! This was my first class in the program, I have a MS in biomedical engineering, no CS experience but very comfortable in Python and have taken ML courses in coursera before. Also, go to TA office hours; they were definitively worth it!
Rating: 4 / 5Difficulty: 3 / 5Workload: 15 hours / weekn1YLzLyBJ6x/d54Sq8fYeA==spring 2026
Graduate Introduction to Operating SystemsThis was my first course in OMSCS as someone also working a full time job. I had significant previous software development and coding experience beforehand, however very little exposure to C (the primary language used in the course) and none to C++.
The best part about the course by far were the projects. All were quite demanding as a time investment but very doable, with all of the required information available through documentation and other public websites. The content covered felt like things I could definitely apply outside of school.
The hardest part of the course was honestly the time management. There was a lot of freedom in when and what to spend time on. The projects especially could take many many hours and starting early was critical.
Rating: 5 / 5Difficulty: 3 / 5Workload: 20 hours / weekUAQCaRatZpijoZKEbEy4Pw==summer 2026
Knowledge-Based AIThe labs in this class after the new curriculum was created are just not good. Feels like this course is more focused on performing QA for GT's research prototypes more than learning. I will say that solving puzzles algorithmically is fun but its not really using any AI. I won't say exactly what is in the class but imagine they ask you to prompt ChatGPT and write about prompting it. You don't actually build any Agentic AI with LLMs and focus more on representations of AI problems as state spaces/algorithms. I was looking forward to this class because I thought it would teach more cutting edge AI orchestration/data processing systems but got disappointed at how much writing and busy work it has. If I went back in time, I would've taken a different course with more coding AI and less writing (I suck at writing and hate it).
Rating: 2 / 5Difficulty: 2 / 5Workload: 17 hours / weekOY0I06A/4jVs+NCPyDTW9g==fall 2025
Database System ImplementationI wish I took the other database course instead. CS is not my background and this just felt like a C++ course.
Rating: 2 / 5Difficulty: 4 / 5Workload: 20 hours / weekLBM+F3D3/De5hmuBnoj2dg==spring 2026
Database Systems Concepts and DesignAs someone who only got a minor in CS prior to this program with not a lot of exposure to different topics, I really enjoyed this class! I think that if you work with databases or have experience in this topic, you might not get much out of this class but for the complete novice, it was really interesting and honestly really helpful to learn about how basic relational databases work.
The course doesn't really have many assignments that aren't project check-ins or exams so there's a lot of freedom as to when you complete and go through content. Although, if you're not very good at self paced worked, this might not be the class for you. The lectures are super easy to understand and cover essentially all the material needed for exams. The readings basically cover the same thing with some additional information and I found them mostly easy to get through.
The exams are not hard at all! They provide you with practice exams to take before hand that are very reflective of the material on actual exams which make it easier to study for them.
The only possible downside to this class is the group project. If you don't have a great group, it could be annoying to get done. Luckily, most of my team members were responsive and made contributions to the project so it wasn't really an issue. The early stages of the group project are also really easy to get done, the bulk of the project isn't till the end so expect to spend some time there. I also think that the full-stack nature of the project is really great for those who want that experience since I didn't really have it before either.
Rating: 5 / 5Difficulty: 2 / 5Workload: 10 hours / weekgJxd5E3NulatPmx8Q9V2AA==summer 2026
Special Topics: Global EntrepreneurshipProbably the most useful class an aspiring founder or people with current side gigs can take. It teaches you how to talk to people and interview them in search for a viable, feasible and scalable business model. We're alsmost halfway through the course and I can already say its the best OMSCS class out there in terms of usefulness and applicability!
The principles taught in this class go hand in hand with those of the top startup schools out there like YC, EF etc. I found the class to be highly underrated.
Rating: 5 / 5Difficulty: 2 / 5Workload: 5 hours / weekXETirs7m3iri+2qyLkaSmw==spring 2026
Game Artificial IntelligenceProjects are interesting and time consuming, but felt fair.
Rating: 4 / 5Difficulty: 2 / 5Workload: 8 hours / weekPxZxOLD18JzOk7m0ITwuVw==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 / weekFESOs6XgrRZxJkZZJd8k7g==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 / week9AIBpLdKh5gudR0j51RJBQ==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 / weekkCewUHAwOk4/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 / weekRX89jxbhE669MGC0OZ/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 / weekhnP9bU9AStuilQb3Tg7XwQ==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 / weekLEuO/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 / weekkPRbSxTFjIkenr0EYxqjcQ==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 / weekda7O7qNyQKFzML05ESJ2ng==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:
- Avoid coming up with a solution/design when choosing the project topic. Designing after the needfinding results is very helpful, as we can get a ton of insights after the needfinding stage that we may not think of ourselves
- Dr. Joyner emphasizes a lot on the phrase - 'You are not your user'. We have certain mental models and practices, and designing an interface that assumes them may not be a good idea, as users may not share those assumptions. This point itself can substantially improve UX.
- Week 9 has a lot of deliverables. Individually, they are not challenging, but together they may induce some anxiety. So, working ahead before such weeks come in handy. Most of the deliverables are opened up early on in the semester.
Rating: 5 / 5Difficulty: 3 / 5Workload: 15 hours / weekUmpoA1qvCf95whP2KKtuNQ==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:
- Lectures are extremely high quality. Milos is very good at explaining, and goes into good depth with the concepts. Breadth of topics covered is also good in my opinion.
- Exams are fair, and felt better at getting us to actually understand the concepts and the 'Why' - as opposed to memorisation. It was better than GIOS in this regard.
- Weekly Office Hours with Milos. He would stay on for the full hour even if nobody asked questions, just in case someone does. He is very enthusiastic and open to answering any question.
- Student result sharing/benchmarking for projects is a great idea - more courses should try this.
Cons:
- Projects get dull after the first one. They require modifying a large code base, but you only ever touch a handful of files. The changes you need to make aren't that complicated either.
- Information regarding exams, projects, etc. are spread out over dozens of Edx posts. This pollutes the forums, and makes it pretty hard to understand what is important and what isn't.
- Why is the Project report in a Word Doc format? This was so annoying and ugly to use.
- Nolan is great for responding and providing additional information and all - but why is he basically the only TA that participates in comms?
- And finally, the worst part of the course - Insanely slow grading/feedback from the TAs regarding Exam and Projects. By the end of the course, they completely ghosted us for the last 3 weeks. Pretty sure nobody with concerns/regrade requests/feedback requests actually got any response. This was horrible, frustrating, and frankly unacceptable from a Masters course.
Rating: 3 / 5Difficulty: 3 / 5Workload: 18 hours / weekEzqMbjxx9xl9bZ9I7WMGpg==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 / week53/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 / weekAsXSpPZZ36Buac6bbnSyRA==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 / weekgmWL+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 / week8RVWE1me9yyd9zFdHbgpiZiCxcj2ji67AWLtzpyWUGM=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 / weekCVtRtLXlAkAGhR9yRp0SVA==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 / weekCeYpZ8KCHTq62pxXUF/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 / weekMTe6tej7EE1GvJDnFis8FA==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:
- The fact that students are positioned from the very beginning as true graduate students, with a research-oriented approach. Personally, this is a field I enjoy much more than just coding for the sake of coding.
- The structure of the syllabus, organized around four main areas: Supervised Learning, Unsupervised Learning, Randomized Optimization, and Reinforcement Learning.
- The support and availability of the professor, TAs, and the staff in general. There are live meetings every weekday, the professor as well as TAs always respond on Ed, and feedback is always constructive and encouraging.
- The many opportunities to earn extra credit.
What I liked a bit less:
- There’s way too much content to go through. Between the video lectures and all the readings, I clearly had to make choices and couldn’t get through everything. It’s a shame because both are complementary, but the time required for the assignments is just enormous!
- What’s asked in the assignments is a bit different from what’s covered in the lectures and readings. I work professionally in machine learning, so many concepts were familiar to me (though I still learned a lot of new complementary things!), but I can imagine that a student with little ML experience could quickly feel overwhelmed by what’s expected in the assignments.
- Regarding the topics themselves, some were very high-level, quite “undergraduate,” and then it quickly jumps to very advanced material. It might benefit from a smoother middle ground.
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 / week0H6kpiUjXmoK2BpVPdTh2g==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 / weekFlq5Ybni4B0gY/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 / weekhCeF4qstXOywPa410S93vg==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 / weekI4MDov7zJRzLvB2f/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 / weekFuW7Lf2BVGTKYArYj7f7ew==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 / weekrBAAprTd7n4xR3KjrheEEg==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:
- Applicable material and beginner friendly
- Projects were focused on you learning for the most part and you had unlimited gradescope submissions, so no artificial difficulty
- Module summary videos were helpful
- TA provided lots of extra credit opportunities to test out new projects (eg: CDN tutorial, Kubernetes Tutorial, Internet Events Paper, etc)
Cons:
- Dr. Konte was absent for the most part from the course
- No module summary videos from the prof for second half of the course, BUT she is transitioning the course to hands on focus, so I'll give credit for that
- Exams were not hard. You could skate by with memorizing the material but not really understanding it. I bet a high schooler could pass it without much study.
- Exams were weighted at 24% (12% exam 1, 12% final). I'd rather weight the projects more heavily and downweight the exams considering that the exams don't really "test your understanding"
Projects ranked by enjoyment:
- BGP Hijacking: Most applicable and you're forced to do a bit of sleuthing in the RFCs for some parts of the project. TA videos were very helpful and as long as you have mininet working at the start of the course, no problem. It's a nitpicky and detail oriented project so if you're not that type of person, you'll struggle
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 / weekzIZzXHYQ2jFLtOKoXRineg==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 / weekzIZzXHYQ2jFLtOKoXRineg==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 / week9AIBpLdKh5gudR0j51RJBQ==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 / weekvKZss4f98jPc2E1Wl2a0Cg==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 / week9YPm6F6qrpULA6fj6AUBmw==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 / week9YPm6F6qrpULA6fj6AUBmw==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 / weekNkjFNFpvbATJRrSCjVgVSQ==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 / weekhgdvJl6D9SKgPU81x0CD3w==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 / weekD8C7L4DMq33abLb+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 / weekqMm+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 / weekwzuTgVDUXQlOr0c6l20xdw==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 / weekdxXLB5dalZfLbCgjbOSvBg==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:
- Assignment 1 had three sources of truth for what needed to be done: instructions, a rubric, and the actual assignment / Jupyter notebook itself. This drove me crazy as staff also would be inconsistent in terms of which to treat as the ground truth. I actually ended up losing points for basing my answer off one thing and the rubric saying another. Speaking of the rubric, it was accidentally made public beforehand, and also out-of-date. Then it was taken away with staff saying it wasn't meant to be public, adding to the confusion as folks had already started relying on it. The submission process was extremely weird too - they wanted us to zip some files but submit another separately too (so uploading a zip file + another file)...defeating the point of a zip file.
- Making the final exam open-note, closed-book, unlimited attempts, unlimited time, closed-AI, and zero-proctoring all at the same time makes absolutely no sense. I guarantee you the majority of the class probably cheated whether they meant to or not due to how low the barrier of entry was to do so.
- There is a question on the final that was unequivocally graded/interpreted incorrectly, and I raised this concern in the middle of March (basically right after the final exam grades were released). They never got around to my Ed post and then claimed at the end of the semester that they no longer had the resources/time to address final exam grading concerns (I'm not the only one - there were several concerns that piled up and were left unaddressed). Here's an idea: maybe address student concerns as they arise instead of waiting around for there to no longer be time to address them!
- When asked why AI was used to generate one of the exam questions (the text was completely garbled) when we weren't allowed to use AI to take the exam, a TA played it off as them trying to assess our ability to detect AI, rather than owning up to their mistake / the illegible text (which was actually relevant to the question). At that point I decided staff was actively hostile towards our education and decided to more or less stop engaging with them.
- No one could wrap their head around whether deadlines were enforced or not, because various members of course staff would keep hinting at it being one way or another. The professor at one point said "Not sure where the additional confusion stems from." That phrase became a massive meme due to how ridiculous of an attitude that was.
- The professor simply said "sorry, no" when asked to release lecture slides. Because who needs accessibility anyway? I ended up spending $20 on a Chrome extension for Kaltura video downloading and spending several hours vibe-coding a script to extract the slides from the lecture and compile them into PDFs, so that my classmates would have them as they took the exam.
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 / week8QCkBpfuICilGM394ipFEw==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 / weekMPtpJXn2MbfgMn1wLkKkUg==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:
- What Tucker Balch created.
Cons:
- The only time you hear from Joyner is his scheduled weekly updates. In fact, it's encouraged that you learn from AI agents instead of bothering TAs. He’s listed as an instructor, but he’s more of an admin for the course. His last message was about posting 3,000 grades. My only thought was, "wow, he's finally doing something"
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 / weekUd9D8IKvThPDvsV91CC6iQ==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 / week4HxQFBVgNyfcv/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 / week2Yb9pTqZf8v0/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 / weekC3Idv8ylYpFDQqlwsq904A==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:
- C++ warm-up assignment -- this assignment is kind of a time suck, and the main learning benefit is for students who don't know have experience with C++. But C/C++ and systems programming is already a course pre-requisite and this assignment doesn't teach anything about database implementation, so why bother? Especially with giving students a whole 3 weeks to complete
- new R-Tree assignment -- coding up an R-tree is cool, but it's a fairly niche index structure and the marginal learning benefit is too small since we already implement a B+ tree in assignment 3
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 / week9aX2plVl2VrCgwFlHmvalQ==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 / weekC3Idv8ylYpFDQqlwsq904A==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 / weekC3Idv8ylYpFDQqlwsq904A==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 / weekP7SiG0gyo83wBJ/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 / weekw1SovK8k43rCPMHj+/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 / weekd1CsKsoAaxRb7ElceWkfmQ==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 / weekJCepempSegT5hHM0GED9lA==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 / weektW2Z1L0TerS2n6pWS7ynEg==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 / weekHlbv1xErB9n1pHPQKEPY4Q==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 / week2OroJMivsbPpJQWBtvB4Xg==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 / weekhE5vONEBlizLMzH4yveOyg==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 / weekzTvc2jFZzQJrgASemhVtgg==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 / weekFyouXHtuoFB+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:
- Carefully study what the original code is doing
- Review the dataset and outputs closely
- Ask yourself a follow-up question such as: “What additional insight would I personally want to know from this data?”
- Implement a code change that answers that question
- Clearly explain your reasoning and findings in the write-up
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:
- understanding the data
- cleaning/preprocessing
- identifying meaningful questions
- performing analysis
- interpreting results
- presenting findings clearly
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