Recent Reviews

A Dynamic List of the 50 Most Recent Reviews

CS-6200

Graduate Introduction to Operating Systems

Taken Spring 2024

Reviewed on 8/19/2024

Verified GT Email

Workload: 44 hr/wk
Difficulty: Very Hard
Overall: Strongly Liked

test2 edited3

CS-6035

Introduction to Information Security

Taken Summer 2024

Reviewed on 8/19/2024

Workload: 11 hr/wk
Difficulty: Easy
Overall: Neutral

test edited

CS-6603

AI, Ethics, and Society

Taken Spring 2023

Reviewed on 5/31/2023

Workload: 21 hr/wk
Difficulty: Very Hard
Overall: Strongly Liked

test

CS-6260

Applied Cryptography

Taken Fall 2022

Reviewed on 5/9/2022

Legacy
Workload: 15 hr/wk
Difficulty: Hard
Overall: Strongly Disliked

Don't let the title of "applied" fool you. This class is filled with 80% work that consists of mathmatical proofs(HWs and Exams) and 20% applied work (2 HW assignments). Overall the class is challenging but the TAs are helpful in their OH sessions so make sure to watch that to prepare for the HWs and Exams. I really wish this class wasn't required for the Cybersecurity Info Sec track, as I really didn't get much out of this class. There were a couple of golden nuggets, but this class was just 15 weeks of material that didn't interest me due to its irrelevance in my current work field. Luckily there is a nice curve, and the lowest quiz and HW assignment is dropped so you'll most likely pass with a C/B even if you struggle with every assignment.

ISYE-6414

Statistical Modeling and Regression Analysis

Taken Spring 2022

Reviewed on 5/9/2022

Legacy
Workload: 6 hr/wk
Difficulty: Easy
Overall: Liked

Easy, enjoyable class. Much of the content was familiar if you've already taken ISYE 6501, but this class does go far deeper into the math and assumptions behind the models. I almost never watched the lecture videos, instead I would download the slides and transcript and read along + take notes that way. Very easy to do well on the coding sections of HWs and exams, multiple choice is harder but weighted lower. For exams, I was generally able to ace the coding sections and get ~80 to 85% on the MC (with pretty minimal effort into studying) and secured an A in the class.

ISYE-6501

Introduction to Analytics Modeling

Taken Spring 2022

Reviewed on 5/9/2022

Legacy
Workload: 3 hr/wk
Difficulty: Neutral
Overall: Neutral

I really enjoyed this class. I think that the idea is really great and while I was an OMSCS student before, I am strongly considering OMSA now because of this class.

The issues with this class come from how it is structured. That is not to say that it's poorly designed but a few small tweaks could make this class better.

The first thing is there is a homework assignment, every, single, week. The only time we didn't have one was during our spring break. Every test, project, midterm, there was a homework assignment due that same week. The problem with this is that the homework is 15% of your grade. When you factor in the 3 quizzes (25%) this is almost laughable.

The other issue I have is that the homework isn't referenced on any quiz. You could legit never do a homework assignment for this class and still earn a B in this course if you understand the content. To me that's just poor design. The other issue I have with the homework is the fact that you have to attend office hours to figure out what to do (an hour each twice a week) and for the first quiz I spent SO much time on the homework because I thought it would reflect on the midterm, after I realized that it didn't and the main focus should have been the 20 min lecture videos, the class got easier.

TLDR, Don't stress on the homework. Focus on the content more than it. Even do outside reading/understanding to help your understanding but skip office hours and homework.

MGT-8803

Business Fundamentals for Analytics

Taken Spring 2022

Reviewed on 5/9/2022

Legacy
Workload: 15 hr/wk
Difficulty: Very Hard
Overall: Strongly Disliked

This was one of the hardest courses I've taken in the program, but not because the content is challenging or the professors are bad. It's actually organized quite well and the content is mildly interesting. However, the sheer volume of information is overwhelming. I have met 3 types of folks in this course:

  1. For folks (like me) who struggle with recall, it's a brutally hard course.
  2. For most folks with decent recall, it'll be relatively easy with a little work and carefully reading exam questions.
  3. For those with perfect recall / photographic memory, this course will be trivially simple.

That's why you'll see such a high variance for reviews. Now to be clear, I'm not saying this is a memorization course... but... if you struggle with recalling a very large number of things you just learned and applying them in nuanced ways, you'll struggle with this course.

I actually dropped the course the first time around after getting a "D" on the first exam, and I spoke with the professor about my challenges. His response was to really try to immerse myself in the content and really dig in. In video game parlance, he basically said 'git gud.' I took his advice to heart this last semester when I decided to suck it up, git gud, and dig into the class to try to pass it. I ended up passing with a high C, but it was not easy even to get there.

Anyway, here's the course in a nutshell for someone like me:

The regular course is 15 weeks. Every 3 weeks is a different topic, ending with an exam. There are two simulations that are really good and I excelled at (90% and 100%), because they were fun, interesting, helpful, and applied. Then (even on simulation weeks) you have the following every week:

  • 70-120 hours of Videos
  • A mandatory VideoConference, that often is the only source for some exam content
  • Multiple readings that are pretty dry
  • An Ungraded Self Assessment (SA) for the Chapter.

I pretty much followed the same pattern of increasing panic every 3 weeks:

Week 1 - Intro / Overview Week: "Okay, this is a great overview and really pretty important to know... I can do this. I wonder how they're going to test on this stuff, because this is a really broad, common-sense overview."

Week 2 - Broad / Deep Dive Week: "Oh wow, they're really digging into the nuance and detail of each part of this and there are a LOT of slides, videos, readings, etc... I am going to have a hard time keeping up with all of this content."

Week 3 - Broader / Deeper Dive Week: "Oh bloody hell... there is no way I can fit all of this in my brain... I'll just do the best I can, I guess." Then I'd take the SA and study a lot. "Okay, I finally got all the concepts on the SA and understand the nuance pretty deeply, I might be okay on the exam"

Exam: "WTF?! This is like a completely different set of topics from what they said was important and there's no way I could have learned all of this in the time allotted... I suppose I'll take an educated guess between two finalists on the next 10 questions."

Rinse. Repeat.

And that happened for literally every section of this course. I watched all of the videos, attended all of the video conferences (had to watch recordings for 2 of them for which I had conflicts), and did about 75% of the readings. I participated in Piazza asking clarifying questions, and even made a huge deck of study notecards. I studied for each exam for probably 9-10 hours cumulatively using SAs, note cards, notes, video transcripts / slides, and piazza.

Then in every case, I got a C or a D on each exam, while the averages were in the mid- to high-80s. Personally, I think if I do all the work assigned to me, pay attention, try to internalize the knowledge, study, commit, work hard, and I STILL get a crappy grade, the problem is not me -- it's a problem with the course design. I think the course is so obsessed with weeding out cheaters that it really hurts people that don't have a photographic memory or at least very reliable recall. Now before you go saying that I didn't 'pay attention' to the content (like the reviewer below), I'm actually doing quite well in the program and this is one of my last courses before I graduate. It was one of the easiest, content-wise, and one of the hardest, structure-wise. Hopefully this review helps you prepare and get through this slog. Good luck!

CS-6200

Graduate Introduction to Operating Systems

Taken Spring 2022

Reviewed on 5/9/2022

Legacy
Workload: 8 hr/wk
Difficulty: Neutral
Overall: Strongly Disliked

Background

Over 7 years of experience building tech products and currently working at one of the FAANGs as a senior software engineer.

Pros

  1. Great depth of content. If you are really looking to understand OS course material, the lectures and the content do an amazing job at it.
  2. The projects are fun. You get to recap a lot of C/C++ and actually implement big projects with the languages.
  3. The Slack community is super engaging if you are up for it and you get to have interactions with other students that are typically rare in OMSCS courses.
  4. The exams are fair even though too heavily weighted for the amount of effort that goes into the projects. Right now 3 projects account for 45% and 2 exams account for 50% with 5% for participation credit. IMO it should be 60-35-5 or maybe even 60-40 with the 5% for participation being extra credit. The current extra credit model that they have is too strict and I doubt more than 1% of the class got anything at all.

Cons

  1. The biggest one for me - An absolute lack of quality support from the instructor or TA team. Let me justify my beliefs:
    • Except for Project 1, I barely saw any Piazza posts that had any helpful replies from the instructor team in responsible time. There are some posts that get replies after a day or two but a lot of those replies are either unhelpful or downright condescending.
    • For projects, you will still be able to get a ton of help from the students on Slack or Piazza. Slack is faster and better mostly though. To be honest helpful students deserve partial pay of the TAs in this course. There were 4-5 students in a class of 700 (~400 after the withdrwal deadline) who helped everyone throughout the semester and if it wasn't for them, we probably wouldn't get any help.
    • When it comes to doubts regarding the lectures or theoretical content, all platforms are quieter than the quietest night. Again students to the rescue to some degree here. Credit where due though, you can ask Profressor Ada questions during office hours where she does respond properly to all queries but with the frequency of office hours and the limited time, it's not the right platform to collect all the questions and ask in one go. But the TAs are responsible for answering these queries and they have at times the gall to say that they don't remember the concepts as they took the class years ago. I mean what are you being paid for?
  2. The projects and the lectures don't really go hand in hand. They feel a bit out of place. But that's alright since they are fun to implement. However, my biggest concern with the projects is unclear expectations and requirements.
    • Project 1 has so many hidden requirements that you will find yourself evaluating the requirements from Gradescope errors. And even once you find out these new requirements, if you go back through the README to see how did you miss it, the answer is usually that they never mentioned it.
    • The expectations from student READMEs are extremely vague and the evaluations are equally ridiculuous. Most of the project README evaluations are based on the gut of the TA evaluating them. Which brings me to the next con.
  3. A huge lack of quality feedback. If I am taking an academic course, I am doing so to improve upon my failures, not to simply score some marks and get a passing grade.
    • We never received the correct answers for the midterm exam or the final exam so we have no clue why something is marked as incorrect and what was the expected correct answer.
    • The feedback on project READMEs is laughable. I had a single line of feedback basically saying I didn't express myself well. Now what the hell do I make out of such a feedback? All it tells me is how bad you are at your job as a TA.

TL;DR

Don't get me wrong. Even with these massive cons, the course is comfortably doable, fun and I am on track for an A grade, but the experience is so lacking that I would never pay for this course out of my pocket. I would rather just watch the lecture videos on Youtube/Udacity and I will get 80% of the ROI of this course. The rest 20% ROI is in the Slack community to be honest which again you can simply join with the GT Slack account. If I wasn't taking two courses in the semester, I would have withdrawn from the course and got my money back.

P.S.

I took this course based on the reviews but yeah definitely not for me as this is NOT the experience that I expect. If I wanted a paid MOOC, I would have just gone for Udacity. It also made me realize that most courses in CS spec will be like this based on more feedback from peers so I decided to change to II spec after this course.

CS-6603

AI, Ethics, and Society

Taken Spring 2022

Reviewed on 5/9/2022

Legacy
Workload: 3 hr/wk
Difficulty: Very Easy
Overall: Strongly Disliked

If you're planning to take this class you already know what you're getting yourself into. Just like everyone else has said this class is easier than a high school class. The assignments are pointless and repetitive (Like copy/paste lots of numbers pointless). I did not watch a single minute of the lectures and got a 99.7% on the midterm and 100 on the final. I did each homework assignment the day it was due and had little problem. I'd recommend this class if you need to get an A. Just turn everything in and I promise you will get an A.

CS-7280

Network Science: Methods and Applications

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 16 hr/wk
Difficulty: Neutral
Overall: Strongly Liked

I strongly recommend Network Science. This is a math-heavy course with some scientific computing (primarily using linear algebra and some graph-specific algorithms). The staff is comprised of the professor along with an army of TAs, who hold regular office hours and are active on the forums.

I did not finish the class due to changes in my personal situation, but will be re-taking the class in Summer 2022. I completed 3 assignments, so I do have a fair idea about the class.

The math is not difficult per-se, but the biggest challenge I faced was setting up the problem using the right set of assumptions and principles, which would allow for a solution. The actual solution itself involves undergraduate-level probability, statistics, and linear algebra and is fairly straightforward once you get into the details.

That being said, you don't need to wrestle with the math if you don't want to. This is a course where you can get an A while focusing on the definitions of various metrics, building an intuitive understanding of how they behave and how they should be used, and solving the assignment questions.

The math becomes harder as you get further into the subject. If you are the type who likes to understand things thoroughly, this will mean that you need to spend more and more time as you progress in the course. This is a synchronous course (the lectures of future modules are locked so you can't work ahead), but you can still cover the subject matter by studying ahead using the online network science book.

The grading was generous and the TAs usually give you the benefit of the doubt. I consistently scored 10-15 points higher than I should have, under a more strict grading policy. In one instance, I wrote a recursive function to find network motifs but made a very stupid error which resulted in massive double counting. 2 TAs had a look at my solution and in the end they deducted only a few points since the approach I was taking was correct. They didn't zero in on the bug in my code, since they have a lot of papers to grade, but they did do the due diligence (including pulling in a second TA) to check that my understanding was correct and there weren't any major problems in my code.

The professor also gave us an extension for the deadline of one of the submissions when war broke out in Ukraine, recognizing that it was a stressful situation for everyone. I was really impressed by this act of generosity and understanding.

Network Science is a multi-disciplinary subject. You'll read about examples from biology, medicine, computer science, and sociology. I think this provides a nice change of pace from the usual CS courses where you only deal with computing topics. The downside is that it becomes a survey course and you might find it hard to imagine how to apply the topics you learnt.

CS-7643

Deep Learning

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 25 hr/wk
Difficulty: Neutral
Overall: Strongly Liked

My background: Handful of years experience programming in C. My previous classes were: Computer Vision, Intro to OS, Advanced OS, Intro to High Performance Computing, Human-Computer Interaction, Graduate Algorithms, and Machine Learning.

This is the single most practical course I’ve taken in terms of new skills I didn't have before, that I expect to use at work regularly especially for my side hustles. A close 2nd place is Intro to High Performance Computing.

If you want to learn the mathematical nuts bolts of ML models (implement from scratch with numpy) AND gain a working proficiency with Pytorch, this is the class for you.

It’s a slog with a lot of things to submit, but 70% of the class gets an A historically. The final group project had a median score of 58/60 (points, not percent). They graded 200-400 of them in 3 days and were not picky at all. Just touch on all parts of the rubric in some depth.

My average quiz score was 55%, but I got a 97% overall thanks to doing the extra credit assignment and spending a lot of time on the report/theoretical portions of the assignments.

CS-7642

Reinforcement Learning and Decision Making

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 20 hr/wk
Difficulty: Very Hard
Overall: Strongly Liked

Somehow I found this class more straightforward than Machine Learning, despite it being a similar format. I scored 100% on all projects/homeworks, and 61% on the final. I really enjoyed it, especially the projects.

The homeworks are guaranteed points, which you will need for your grade to survive the harder assignments. The first couple of them are the hardest, and the last 2-3 are trivial.

There are people (not me) who got 100% on projects with only 3.5/5 pages. The most important thing is touching on every part of the assignment prompt in some depth. The grading is both harsher than you expect if you don’t do this, and more lenient than you expect if you do.

The final exam is total BS. It’s all gotchas. The highest score was 78%, and the mean (excluding 0’s) was slightly over 50%. You must do well on the homeworks and projects to survive the hit from the final exam. They release a study guide ahead of time, but it does not cover everything. Official statements were that the exam would only cover lectures. This was not true. There were some concepts on the Final that were only covered in the readings.

For Project 2, DO NOT TUNE BY HAND. Use a tuning library like optuna. This will save you so much personal time, even if not compute time.

The best way to prepare is to get familiar with Ray and Rllib libraries at least several weeks before the release of Project 3. My weekly workload was 10 hours or even less some weeks, 30 hours in the last week of Project 2, and 50+ hours per week throughout the whole Project 3 window.

CS-6260

Applied Cryptography

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 12 hr/wk
Difficulty: Hard
Overall: Strongly Liked

Brilliant stuff! I have long forgotten how to do mathematical proofs, and I am happy this course forced me to refresh that knowledge. Lectures are great and dive deep enough to give just the right amount of information you could expect from a graduate course. Find a way to download them and watch at an increased speed as the videos seem to be a bit too slow. However, the expect to adjust the speed as you go as sometimes the content is very dense. I had to re-watch some part multiple times. The course has official extended notes and fantastic unofficial George's notes. You can use both of them on the exams! Expect the exams to be a mixture of quizzes and essay questions where you are expected to do some mathematical proofs. They are not to be afraid of as homeworks and corresponding office hours set you up for success. I learned a great deal on this course. It is one of the rare occasions when I could not go to bed before I figure out some finite number theory tricks that feels like magic.

CS-6290

High-Performance Computer Architecture

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 6 hr/wk
Difficulty: Easy
Overall: Strongly Liked

Fantastic and not too challenging course! A great course to pair with something more time-consuming. The instructor takes your hand and gradually walks you through how modern processors work. The lectures are extremely enjoyable with lots of drawings to help students build the right mental model. The course had 4 big multi-week projects that tested how I understood the material well, yet they were a breeze to go through as the professor and TAs did an outstanding job setting the expectations and answering FAQs beforehand. The exams are well-structured, and the grading is generous. Absolutely loved the course!

CS-8803-O12

Systems Issues in Cloud Computing

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 30 hr/wk
Difficulty: Very Hard
Overall: Strongly Liked

The best summary came from a classmate in our last synchronous class meeting - "This course is the most fun I never want to have again."

This course is a staggering amount of work. It is also incredibly valuable. It's perhaps not a stretch to say that it's entirely possible to get a job solely because of this course. Prof. Kishore's network is very strong, and recruiters know that this course speaks to tangible skills in high-demand areas.

At it's heaviest, taking this class was like having a second, very intense job. I'd say that during some of the big pushes to complete projects, I spent close to 50 hours on work. Full days both Saturday and Sunday. Plus a substantial part of the week. I'm lucky to have a fairly flexible or I'd probably have needed to take days off to finish up projects. Even though you're working in a team, it can be very hard to split up the tasks. My team ended up splitting more along project lines - I did most of the MapReduce project while my partner did most of the final project. So on balance, it was pretty even, but often quite stark in the workload between teammates on a per-project/workshop basis.

You will come away with a deep and practical understanding of the material though. SDN, NFV, and how to build an effective, fault-tolerant, distributed application framework in the cloud.

N.B. - it helps a lot to have a very functional MapReduce framework built from 6210. My framework from 6210 was about 1500 LoC and had a lot of the nice "optional" features around fault tolerance. I more than doubled that for this class to handled running it in Kubernetes. I can't imagine the teams that started from scratch with Go. We used C++ (building off my 6210 framework) and then etcd. This was definitely the biggest project, but not by much. The SDN and NFV projects were also substantial. Having real expertise with both Python and C++ is a requirement for this class. Also, don't even think of doing anything else (TA'ing and/or taking another class).

The in-person classes (8:30 - 10PM Eastern which was great for me being in California) were fantastic. The TA's are all superb. And Prof. Kishore is, without question, the best professor I've ever had for any class ever. His passion and enthusiasm for teaching and learning are infectious.

There are only two grades - A or F. And the teaching staff says that you have to work hard to fail, and they are right. But you also have to work hard to "pass" as well. They make you earn the A, but they also go above and beyond to make sure you do.

This is, by far, the best class I've taken in this program (my 4th), and I don't expect that to change. This is what OMSCS is all about. Incredible learning opportunities that only really can exist in this way because of the incredible nature of this program. I loved this class. But I'm also sure glad it's over with. If you think you might want to take this class, do it. If you're on the fence, take a pass until you're sure. It's too much work, and the team-based nature means you not only affect yourself but a teammate.

I loved this class and cannot say enough good things about it. But it's also imperative that you know what you are signing up for.

ISYE-6420

Introduction to Theory and Practice of Bayesian Statistics

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 10 hr/wk
Difficulty: Neutral
Overall: Liked

Bottom Line: Good course for those interested in the mathematical concepts behind Bayesian Statistics.

Pros: -VERY good TAs -Interesting projects -Learn (some of) the math behind Markov Chain Monte Carlo -Instruction videos were well-edited and explained most of the concepts well

Cons: -Some of the concepts weren't fully explained. You'll be given the formula for some things as-is without context or explanation. I suppose this is warranted given that this is an introductory course. -Exams are huge part of the grade: 25% for the midterm and 35% for the final. This is great if you do well on the exams. Not so great otherwise -I feel like the Gibbs Sampling algorithm wasn't fully explained. This is the algorithm WinBUGS / OpenBUGS use and I had hoped to spend more time on it.

Advice: -if you have a decent mathematical background with at least some experience in multivariable calculus and linear algebra, you'll do very well in this course. -Use OpenBUGS and not PyMC3 when doing this course. The instructor teaches using OpenBUGS so if you go the PyMC3 route, you'll have to learn that library on top of the course material. I found the documentation and learning resources behind PyMC3 very much lacking.

Overall: I liked this course quite a lot and I think everyone doing AI/ML should consider taking it.

Best of luck!

ISYE-6420

Introduction to Theory and Practice of Bayesian Statistics

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 12 hr/wk
Difficulty: Neutral
Overall: Strongly Liked
  1. Most students need to watch lecture videos at least twice in order to understand all the concepts.
  2. Assignments are all very educational. They were printed out with hints before you even go to office hours.
  3. TAs are extremely helpful and knowledgeable.
  4. Exams are scary. Final exam is 35% of total grade. Midterm is 25%. You can imagine if you make some big mistakes on exams, there is no way for you to get an A. You need to be very very careful when taking midterm and final.
  5. You can build a good knowledge foundation for the ML track by this course.

ISYE-6644

Simulation and Modeling for Engineering and Science

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 7 hr/wk
Difficulty: Hard
Overall: Disliked

I don't normally leave reviews for OMSA courses, but when I do, its for Simulation and Modeling.

If you possess good calculus and statistics knowledge and ability, this class will likely be of little difficulty for you. However, if you are like me, i.e. old and forgetful of the calculus you learned 15-20 years ago, there will be a struggle.

A good deal of the material feels theoretical; apart from a few Arena simulations and the course project, I don't feel I learned much in the way of how to apply most of this course to the "real world", which for me is almost the entire reason for going back to school. I think I would have appreciated assignments that were more "hands on" and grading that wasn't so exam-centric, as 80% of the course grade is based on 3 tests.

Professor Goldsman does a great job to inject levity into subject matter that's otherwise quite dry and unexciting. The TAs do a good job of running the course as well.

Bottom line: make sure you brush off your calculus and statistics skills before you take this class and you should be fine.

Stay nerdy, my friends.

CS-6601

Artificial Intelligence

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 15 hr/wk
Difficulty: Neutral
Overall: Liked

Overall, this is a well-designed course. I manage to get a solid A (>97%). Here is my advice:

  1. Prepare for heavy self-learning. Lectures are only introductory. The majority of the class relies on self-learning.

  2. Assignments - start early if you are not familiar with AI or numpy.

  3. Exams - plan enough time to work on it (3 days for midterm and 4 days for final). They are long and not easy.

CS-7639

Cyber Physical Design and Analysis

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 12 hr/wk
Difficulty: Easy
Overall: Liked

This was my 8-th course in OMSCS, with some easy and hard courses behind, and I didn't dislike the course at all. Like many others, I considered it a more reasonable option for CP&R specialization than CV in its current state (especially considering I completed CP), and I reckon it was a right choice.

I'll first try to cover the negatives generally expressed in the reviews - I understand most of the background for those, but will present my perspective. For the records, I don't have any real exposure to robotics apart from some previous courses here (like AI4R), but I do have an experience in the simulation of embedded systems, which can also be considered cyber-physical ones (still, mostly high-level exposure on a system level).

  • "The lecture material doesn't relate to assignments".

    • Mostly (not fully) true. The lecture material is generally very broad, or covers specific examples not so related to the examples covered in the assignments. The way the lectures are presented can indeed be pretty hard to absorb, and I have to admit I didn't finish watching a couple of those at the end. Some concepts, like math formulas (at least for me) were presented in a way it didn't sink, apart from a very shallow idea. Some moments are recorded using not the most professional presentation skills (e.g., at one point you see a moment of "yeah, we got this episode" fist gesture at the end of the video). However, technically, if you would like to get a broad overview of the system design and ways/directions to think about (which is the main purpose of the course), the lectures hit the mark. The assignments may cover and exercise different examples on most part, but it's worth remembering that learning is the whole point here. Additionally, the final exam had a section of a specific case study, which should have been analyzed WRT the material studied in the course, so I surely don't agree with the claim that the lectures played no part here.
  • "HW5 and project 3 are substantial nightmares, disconnected from the course".

    • Like most of the assignments, HW5 is another case/example evaluation and it did carry a degree of ambiguity. Some of the complaints in the reviews here here are surely justified. There were people who got the full score there - I was not among those, and some of the points I lost I can attribute mostly to ambiguity, but partly also to probably not going deep enough into thinking about aspects WRT what was intended. It's true that most of the homework was not really exercising exact material previously studied, rather being very open ended, with point deduction reasons sometimes being hidden in the maze of what lectures were intending to summarize. I think HW5 indeed was the most glaring example in the course where better background articulation/preparation could have been in order. However, I can't say it was fully useless and disconnected.

    • Project 3 and AADL. Indeed, AADL may indeed not be widely used. However, this should not matter much here, as the way I took it, it was an example on how to evaluate, adjust, simulate and analyze system design, and AADL is just a tool to see it through. It was not hard to learn it in a way of what to copy-paste. True, some fighting was there and could probably be avoided with better assignment structure, but there were hints and answers generally provided. The assignment setup including the provided VM was well prepared. Getting it done did require some fiddling with syntax, that's true, and also some basic code structure/inheritance vision being exercised. Yes, someone with no coding experience could struggle to converge fast, but by no means some substantial knowledge or experience was required. I'm not saying it was ideally smooth, but the hooks were there. I had zero experience in AADL before, and the points I lost were not related to that at all.

    • Others have mentioned that the grading was not really "completion based", and I agree.

  • "Generally missing teaching objective / background for the material in the course".

    • I did not see it this way. I believe it was possible to see the point of what the instructors were trying to convey through the lectures and exercises. It was the system level design of CPS, what to think of, what to pay attention to, the big picture. Think about the course this way, and it will connect.

So now to other positives. First, the ability to exercise MATLAB (had zero exposure before the course) on some of the assignments and especially projects 1 and 2 - really nice projects, well set up, nicely visualized. Project 1 is the best one where you can exercise a rather easy example of robot planning in real life Robotarium, and project 2 included a competition on solutions (make sure you properly validate the distance etc. constraints there, as otherwise you could loose a lot of unnecessary points, as described in the assignment). Overall, those projects were fun and generally easy.

The rest of the assignments were also fine - not always straightforward, and in some cases, ideas from AI4R and sometimes other courses did help.

The exam was pretty good - take home, two elaborate problems to solve or to analyze. More or less a take home assignment (in the spirit of AI exam format, but shorter and obviously different assignment nature). It also had a few bonus points.

We also had 5% "free" points for Piazza participation.

By all means I didn't get a full score on all of the assignments, but still, I was never far away from a very high A, and again, my relevant background level was medium or lower. The load was rather low - there were a couple of weeks (e.g. during project 3 part 1 submission period of 3 weeks) where I literally did not invest time into the course at all. Try doing that in a course like CP!

The TA support on Piazza was solid - I didn't have any issue, the questions were answered timely and to the point. The atmosphere was good. The TA-s held office hours. The second professor, Dr. Hugues, who was "responsible" for the most "problematic" content of the course, was very much available and actually helpful, e.g. for the project 3.

So all in all, this course might indeed have a different setup and mindset than others (although, that can be said about many courses), but it has definitely left a positive feeling and it was not on the hard side with an open-ended approach.

ISYE-6644

Simulation and Modeling for Engineering and Science

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 5 hr/wk
Difficulty: Easy
Overall: Neutral

OMSCS, Stats background. This course is soft and gentle, and a good refresher. The professor makes sure to throw in free (funny) points. There are simulation materials that are good to be aware of, but I'm not sure I'd use them. Even if you are not strong in maths, exams are not that hard (seriously, make good cheat sheets and you don't need to worry much). Grading on the project is also lenient. All in all, this is a breather, fine choice if you want to do a two-course sem and simulate your maths a bit.

CS-7638

Artificial Intelligence Techniques for Robotics

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 12 hr/wk
Difficulty: Neutral
Overall: Liked

Background: Stats BSc, algorithms, strong Python

General: This is an interesting and not too difficult course. The materials can be overwhelming for non-AI background people like me, but it is possible to deliver fine-enough results. It doesn't require a ridiculous amount of efforts, but definitely needs some focus and brain-scratching.

Towards the end, the course feels lighter since the materials end early and you only need to focus on the projects. I spent way less time on Warehouse and SLAM compared to Particle and Drone for some reasons. The % of exams are quite low, so if all projects has >= 90% there is not much pressure on them. I did not go all in on projects (frankly I think it is too hard for me to get the perfect scores), but 10~12 hours/week is enough to scrape an A. I did learn a lot and have a good (and hopefully representative) overview on AI.

CS-7646

Machine Learning for Trading

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 18 hr/wk
Difficulty: Neutral
Overall: Liked

I have been working in the investment banking industry for the past 15 years as a quant and therefore I enrolled in the course with a lot of anticipation. While I liked the overall course and the breadth it offers, I was a bit underwhelmed with the learning outcome. Most of the course is dedicated to building the basics of data science and finance and only in the last few weeks do the things get serious. For a graduate level course too much time is spent on things which should be prerequisite. Having said that, I really liked Professor Balch's lecture videos and had more than a few 'aha' moments pertaining to building trading strategies (particularly pertaining to market microstructure/order book and HFT related sections).

Advise for prospective students - Start on the final project early as it is worth 20% of the grade. They would dangle the extra credit project just before the final project but that's a bait. It is an addictive assignment where you are trying to beat a baseline trading strategy but coming up with profitable strategy is no joke and takes years of experience. If your strategy does not beat the benchmark in a number of scenarios you will get 0 while wasting valuable time which should have been spent on the final project.

CS-7643

Deep Learning

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 25 hr/wk
Difficulty: Hard
Overall: Neutral

First of all, my comment is from a beginner’s view, please ignore if you have good amount of background in DL. About my self: This is my 7th course in OMSCS. I have taken ML4T but have no background in DL. I am not from CS or engineering major, but I work with big data and am comfortable with basic algebra or calculus. My final grade in DL is A.

I definitely recommend anyone who works with data to learn DL, but this course is not the best way to start your journey. Although the topics sounds interesting and super useful, course quality is mediocre at best compare to others in OMSCS. Please lower your expectation and prepare for a lot self-learning. Overall, I would like to rate 5/5 for the topics, 4/5 for assignment 1 and 2, 2/5 for assignment 3 and 4, 2/5 for lectures and organization. The first half is challenging and fun, but then things start to fall apart drastically. I need to remind myself several times a week that the class is almost over, in order to not melt down in the last two months.

Please consider the following things before signing up. If you meet 2 or more of the descriptions below, this course will likely to be a rough ride for you.

  1. You have never learned any DL courses or topics. (General ML courses only have limited help so they don’t count);
  2. You do not know and do not like to learn linear algebra, multivariable functions, derivatives, etc;
  3. You have never used pytorch or numpy;
  4. You have other thing going on in life that constantly requires > 30h/week.

Other reviews already mention most comments I would write. The biggest issue to me is this course tries to cover everything in one semester, but the lectures never spend enough time to explain concepts. DL is such an interesting topic, it is unbelievable how boring these lectures are. I ended up completely rely on Stanford CS231n which is a really great course, highly recommend. Another issue is they put a lot on the to-do list to fill up your time, so you might burnout and lose motivation quickly. I do appreciate there are a lot of office hours. Many thanks to TAs Alex Shum (assignment 1 & 2), Farrukh Rahman (assignment 1 & 2) and Sangeet Dandona (assignment 4). Do remember you need to attend OH to get hints and fulfill hidden requirements of assignments.

CS-7637

Knowledge-Based Artificial Intelligence: Cognitive Systems

Taken Spring 2022

Reviewed on 5/8/2022

Legacy
Workload: 15 hr/wk
Difficulty: Neutral
Overall: Liked

This course has extensive load. I have to spent nearly 20 hours the first half just to keep up with the schedule. The mini-projects can be tough and has nothing to do with what is taught in lecture. The workload is heavy. The 3 homework is also not very relevant and confusing rubric. The good side is the grading is reasonable. As long as you write something that make sense, you are expected to get full score. The Final RPM seems a duplicate of previous 4 RPM, but has a substantial weight of 15%, equal to two exams. It is very helpful to read through previous reviewers to have some expectation. I had thought this is a easy course and didn't start work on projects until late of wk2, and have felt some pressure to keep up.I personally think the 3 homework is simply waste of time or weighted too much. 5% each, and I usually have to spend a whole week to finish writing. Also, reviewing 6 papers from your peers every week is also not making much sense. I felt less motivated to prepare for exam 2. Did some calculation and knowing that I will still getting A even if I score 20 for the exam.

ISYE-6414

Statistical Modeling and Regression Analysis

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 8 hr/wk
Difficulty: Neutral
Overall: Liked

This course has a bad rap, undeservedly in my opinion.

  1. People complain about the peer grading, but this class has a specific rubric to follow, unlike prior courses such as ISYE 6501 where the difference between a 100 and a 90 is a subjective "did this student appear to go above and beyond". This is an improvement.

  2. Another complaint is the unfair MC. If English is not your first language, I can take these complaints legitimately. Otherwise, MC is 40% of the tests, meaning you can get a 75% on your MC section and still get an A on the test. In practice this is missing 6-7 questions out of 25-30. This is DOABLE. Those who complain about MC tanking their grades probably failed easy parts of the coding section and are looking for excuses.

  3. The Coding Sections. First MT, I finished with 2 hours to spare, Second MT w an hour, Final w an hour to spare. There are no gotchas. If you download the coding examples freely available in the documents section of Canvas and are comfortable with using ?function in R/thinking on your feet, you should be able to get close to a 95-100 on these sections.

To conclude, don't be scared by the reviews you may see here. The course is pretty good, not perfect, but certainly LIGHT YEARS better than the disaster that is 6501.

MGT-6203

Data Analytics in Business

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 10 hr/wk
Difficulty: Easy
Overall: Disliked

This is just one more business course with a low level of programming. This semester they added doing a project, which made it more interesting, but it doesn't make you feel like you're in a master's level course because of the concepts you're going to learn. Other than that, the instructors are very responsive at Piazza and will help you succeed in the course.

ISYE-6644

Simulation and Modeling for Engineering and Science

Taken Fall 2021

Reviewed on 5/7/2022

Legacy
Workload: 10 hr/wk
Difficulty: Neutral
Overall: Neutral

If you are good at learning theoretical concepts, this course is for you. The course is not bad, but not the best either. The professor makes a big curve at the end of the semester, so earning a high D+ represents B

CSE-6040

Computing for Data Analysis: Methods and Tools

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 10 hr/wk
Difficulty: Neutral
Overall: Neutral

In this course you will not learn Python, you will learn how to survive, so if you have no experience in Python, you must prepare yourself before registering, otherwise you will fail all the exams.

ISYE-6501

Introduction to Analytics Modeling

Taken Fall 2021

Reviewed on 5/7/2022

Legacy
Workload: 10 hr/wk
Difficulty: Neutral
Overall: Liked

If you are an OMSA student, take this as your first course. You will learn all the concepts (at a high level) that will prepare you to survive in this program.

CSE-6242

Data and Visual Analytics

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 15 hr/wk
Difficulty: Hard
Overall: Strongly Disliked

The course videos are useless. There is no video office hour, all office hours questions are handled in a Slack group. The homeworks are pathetic and you will learn things that are useless in the industry, for example D3. The only thing that counts (if you're lucky) is being in a good team for the course project, but other than that this course is a huge waste of money.

ISYE-6414

Statistical Modeling and Regression Analysis

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 9 hr/wk
Difficulty: Neutral
Overall: Strongly Disliked

A course where you will feel lost from the beginning, the lectures are not good and the exams do not show your knowledge of the subject, do not waste your money with this course.

CS-6750

Human-Computer Interaction

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 8 hr/wk
Difficulty: Easy
Overall: Strongly Liked

With this class, if you do the work you will get a good grade. It is writing heavy but the course itself is organized well and they give you all of the tools necessary to succeed. The grading in my opinion is very fair and the assignments tell you exactly what you need to do in order to get all of the points. Do not wait until the last minute to start the writing assignments (a majority of the course), if you start early they are super manageable and not difficult. If you wait until Sunday night, they will take a lot of time so plan accordingly. You can also get ahead in this course rather easily if you have the time. The TAs respond regularly on Ed lessons and I honestly enjoyed this course. A good class to take with a medium-level difficulty course. Although I found this course easy there are weekly assignments, lectures, and readings to keep up with. There are two exams both open book/note/lectures, ctrl+f was my friend. The one thing I fell behind on and pretty much did not do was the weekly readings and I still ended up with an 83% on the first exam and a 92% on the second. The lectures were extremely helpful and interesting, do not skip out on watching them. I ended up with a high A in this class simply by following instructions. Joyner is fantastic and I highly recommend taking at least one of his classes while in the program. He cares a lot about OMSCS student success.

CS-6290

High-Performance Computer Architecture

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 18 hr/wk
Difficulty: Hard
Overall: Liked

Lectures are great. Projects are OKAY. Exams are bad. The midterm and final both had curveball true and false questions that are meant to cover topics that aren't even mentioned in the lectures or anywhere in the material. It's almost as if they were pulled out of a magic hat because really, the things the true and false were asking about are NEVER mentioned in lectures or ANYWHERE in the course material despite me having 50+ pages of notes and review organized in a binder of mine. On the final these questions were worth THIRTY POINTS out of a hundred. I don't know whose idea it was to put in tricky true and false questions but it was a terrible idea. It's like they don't want you to do well. Missing some of these on the final led to me getting a B instead of a A in the course. Throughout the materials they give you there are several typos and mistakes that just add to the overall confusion, this can be seen in lectures, projects, and exams. Despite making these mistakes and throwing curveballs at you, there is NO CURVE. Some courses don't cut you any slack and this is one of those courses so you have to be on your A game. Overall, I did like the course but there are some major flaws that push me the wrong way. Nolan is amazing though. If you can skip this course, I would try to do so because there are areas that clearly need to be refined and polished. I think the lectures should be redone, pdfs need to be checked for errors that make them unreadable, exams have typos in them, and project instructions have errors in them. So literally every part of the course falls short because of minor flaws and errors that they don't correct despite the professor saying that he's been teaching for 10 years. Projects aren't bad just start as soon as possible and you will be fine.

CSE-6242

Data and Visual Analytics

Taken Fall 2022

Reviewed on 5/7/2022

Legacy
Workload: 10 hr/wk
Difficulty: Neutral
Overall: Neutral

This class ended up being significantly less work than I anticipated. For reference, it was my 7th class in OMSA and I have no programming experience before starting this program. During the semester, I felt that I was only actively in class for maybe half of the time. If you have moderate to advanced Python programming skills (which you likely do if you take this later in the OMSA degree), then it is not particularly challenging. Assignments are primarily busy work and most can be completed in a single week/weekend. Since assignments are on three-week timelines, you will then have nothing to do for two weeks. The project is also due one or two week before the end of the semester, so there is generally a lot of time during the semester where you won't actively be doing anything.

A couple notes on the project - Get a good team for the project and understand that the project grading is quite lenient. Pick an achievable topic and limit your scope to that specified in the project description. Also, the midterm deliverable for the project is ~60% of the final report, so if you just follow the schedule for the project and reporting, its a very reasonable workload.

Overall, my opinion of the class is neutral. I don't feel that the coursework does a good job teaching you much that you shouldn't already know by this point in the program. However, really anything to keep my coding sharp is helpful. If you are a strong programmer, then I think it is safe to pair this with another course.

CS-6400

Database Systems Concepts and Design

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 10 hr/wk
Difficulty: Neutral
Overall: Neutral

All I want to say is about the grading policy. Guys, do challenge every point, no matter how tiny it is, in your exams, in your each phase of projects! They will not show any mercy to your final grade, be it 89.5, 89.7, or 89.9. They all fall into B. No round up.

The policies of managing this course is the only issue of this course. Otherwise, it will be a standard good course. They try to justify their policy by emphasizing how big this class is. Yes, we all know that. But it still sounds like what a dictator would say in why he rein his kingdom in the way that the majority is not happy.

CS-7643

Deep Learning

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 20 hr/wk
Difficulty: Hard
Overall: Strongly Liked

This is my 4th OMSCS course but I took the first 3 (including ML) back in 2015. In the month prior to the course starting I took Andrew NG's deep learning course which i felt was very good preparation for the course. In short, I felt I really learned a lot and my understanding is much deeper than what i could've gotten from the Andrew NG course alone. The quizzes involve a fair amount of preparation (taking detailed notes on lecture videos and spending a few hours or so studying the notes on quiz day). I think the questions were very fair on the first 3. The last 2 had a few nitpicky questions and while I didn't do as well on those, it didn't really impact my overall grade too negatively. Overall I felt that the quizzes in terms of prep time required were fair for a graduate level course. The projects were really great, but of course must start early and give yourself plenty of time. I didn't really bother doing any of the reading, and I agree the DL book is only useful if you already know the subject matter very well (so is therefore not useful for learning in a first course). My only real complaint, as stated by other students, is I really disliked the Facebook lectures. They don't explain things in decent lecture style detail and it feels as though the presenters are just cursorily describing algorithms and techniques. After watching all those, I watched the Andrew NG lectures and read some things on towarddatascience which gave me a an understanding that the lecture videos just did not. Professor Kira's lectures are pretty good, but I do feel it helps to watch Andrew NG's lectures to supplement and gain intuition.

CS-7637

Knowledge-Based Artificial Intelligence: Cognitive Systems

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 17 hr/wk
Difficulty: Neutral
Overall: Liked

Pros-

  1. Interactive course, keeps you engaged
  2. Very well structured and organised, Dr Joyner is an expert in online education!
  3. Great community support, you will not have to struggle alone
  4. Programming projects are interesting (if you like Python programming)
  5. Thought process and logic of KBAI would help you refine your programming logic and style
  6. You can pace the course as per your convenience, everything is thrown open in the very beginning.

Cons-

  1. Not a cakewalk or easy course to get an A
  2. Atleast one report is due every week
  3. You have to spend substantial hours for report writing, peer reviews and programming
  4. Programming projects are not beginner level and will be steep if you are new to programming or not fluent in algorithms.
  5. KBAI school of AI is a bit outdated and doesnt see high usage/deployment in modern day programming.

Summary- This is not an easy A course as provided by some reviewers, first 1-2 months of the course can be overwhelming and you must be ready to dedicate time and efforts to overcome that. After this the course becomes relatively easier to handle.

However course is well organised and well designed and if you are willing to give your time, be active in the forums, you will be able to well. Unlike some courses, efforts will ensure you a high performance in the course and Dr Joyner expertise in online education is amply reflected in the course.

CS-6515

Introduction to Graduate Algorithms

Taken Spring 2022

Reviewed on 5/7/2022

Legacy
Workload: 20 hr/wk
Difficulty: Hard
Overall: Strongly Disliked

The course could be lot better. You will learn how to format the your algorithms in the specific way they want it.

CS-6515

Introduction to Graduate Algorithms

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 25 hr/wk
Difficulty: Hard
Overall: Liked

This was my 8th course in the OMSCS program and it was the hardest course so far with one other class a close second. My undergrad was not CS or CSE but I am a self taught programmer with 13+ years experience as a software developer. Thus, the coding projects were quite easy and essentially help your grade, the hard part is the exams.

This course was quite difficult for me due to a few factors: the pace is fast unless you’ve already done an algorithms course before, the grading seems harsh — easy to lose almost all the points on a problem with a simple mistake hence some students repeat the course, it’s essentially like a math class, lastly not know how much to study (burnout). The HW and practice problems help you for the exams. Master them and Joves notes.

My suggestions for success is understand the fundamentals, no, master the fundamentals of each topic: DP, Divide and Conquer, Graph algorithms, Linear programming and NP reductions. Also, don’t skip asking for a regrade on HW if something was incorrect in grading . It could cost you a letter grade if you’re not careful so don’t be too relaxed with a seemingly small grading issue. Also don’t just do it for spite as you can lose even more points.

For exam prep do all homework problems and practice problems then do more. Understand the fundamentals of the topics for the essay questions as you will have to know the algorithms like the back of your hand or you will miss a lot of points. This is not a class where you can get by with a high level overview of the topic, you need to be thorough. For MCQ review the lectures and the book chapters.

Exam Difficulty for me was Exam 2 > Exam 1 > Exam 3

You will see some students boasting that they got 100% on the exam and saying it was too easy while the exam average clearly is a C or lower on the exams. Ignore the A plus boasting students and just study hard don’t let their arrogance throw you off if you are struggling or make you feel inferior after all the work you put in, they likely already knew most of the material before the course or are fast learners. Don't compare yourself to them. Don’t sweat it.

Lastly, the class IS hard but not crazy hard so don’t get siked out by some reviews as I did and make stupid mistakes on the exams due to anxiety. Just study smart and you will do fine, believe in your work effort and don’t quit once you see the harsh grading for exam 1. You can still do it.

CS-6601

Artificial Intelligence

Taken Fall 2022

Reviewed on 5/6/2022

Legacy
Workload: 17 hr/wk
Difficulty: Hard
Overall: Strongly Liked

This was a great course and one of my favorites in the program. I am specializing in computing systems, but took this course to get some exposure to AI/ML and managed to get an A.

The course is challenging and there is quite a bit of material covered, but most of it is interesting and I found the projects enjoyable. It is apparent that Thad cares a great deal about the quality of his course.

Most of the grade weight is in the projects, which are fairly straightforward provided that you start early. My lowest grades were in the first two projects. The exams in this course are unique in that you do quite a bit of learning during the test, which takes place over the period of a week.

The final is my biggest complaint about the course. I found it much more challenging than the midterm and I believe this was due to the lack of relevance to the projects / lectures. In contrast, the midterm felt like a logical extension of the topics we had covered. There were also many errors that had to be corrected after its release and this is frustrating to encounter while taking the exam. The exam length was twice as long as the midterm, but the time to take the test was the same. The length is not a huge issue given that it is twice the material, but there were no real deliverables in the prior week. I think a better approach would be to dedicate the final two weeks to the final, rather than giving 3 weeks for project 6 (which only took a few days).

Overall I highly recommend the course for anyone interested in a survey of AI topics.

CS-6601

Artificial Intelligence

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 15 hr/wk
Difficulty: Neutral
Overall: Neutral

I took this class to get some exposure to ML/AI and to see if I'm interested in pursuing more classes in the domain. I have a non-CS background with no experience in ML/AI, no numpy experience, and calc/linear algebra/probility/stats from 10 years ago and mostly forgetten.

I tracked my time spent in the class using a focus timer app and averaged 15 hours/week with a few heavy weeks of 20-30 hours for the search assignment (1st), gaussian mixture models assignment (5th), and final exam. I read select chapters from the book up until decision trees but stopped after that as I lost interest in ML. During Bayes nets I got busy with work so couldn't spend enough time on it and thus ended up with a shallow understanding of it and following modules which are heavy on probability.

Assignments:

  1. Search (33 hours) - This one isn't too bad if you taken GA or done graph problems on leetcode before. I spent over 8 hours trying to get a final point in Bidirectional A* search which I couldn't get in the end, so around 25 hours if I called it quits at 99 points.
  2. Game playing (10 hours) - Supposedly this is the hardest assignment, but we may have lucked out with an easy variant this semester. It helps to submit early and often as there's some randomness in beating the best agent, e.g. some people beat it with vanilla alpha-beta pruning while others couldn't with iterative deepening.
  3. Bayes net (12 hours) - I only completed half this assignment due to work commitments so ended up dropping it.
  4. Decision trees (20 hours) - Relatively straightforward.
  5. Gaussian mixture models (26 hours) - If you're not good with linear algebra or numpy then this project was brutal. I spent more time trying to vectorize matrix operations using numpy than on the actual algorithms.
  6. Hidden markov models (13 hours) - Relatively straightforward.

Tips for exams:

  • You can implement algorithms in Python/excel/etc. to check your work / solve the problems. This helped me score in the 90s for the final. Had I done this for the midterms, I could have scored high 80s.
  • The practice exams and challenge questions are good preparation for the exams

The median scores for the assignments and exams are quite high and there's little to no curve. To guarantee an A, you need to get above 90% and above 80% for a B.

Overall, I enjoyed the first half much more than the second half. Knowing what I know now about the material, I probably wouldn't take this course, stick with computing systems courses, and just wait for new courses to get added (revamped/new databases, programming languages, quantum computing, etc.).

CS-7639

Cyber Physical Design and Analysis

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 10 hr/wk
Difficulty: Neutral
Overall: Neutral

I didn't like or dislike this class - it was entirely neutral for me. I took this as part of the CPR specialization because I did not want to take CV based on the really negative reviews of that course.

The subject matter of this class was not that great. If you have any engineering degree (or a BS CS), a lot of this will be review from undergrad especially around engineering design processes. I did not watch a single lecture in this class because they were extremely long and did not tie to the homeworks or projects. Each homework/project has its own resources which are usually readings. Project 1 and 2 were pretty interesting and relatively enjoyable. The grading for both of these was fair and mostly automated so you knew what you were getting when you submitted.

Homework 5 was just long - it wasn't hard per se but did take a while to get through. Project 3 was really irritating because you have to use a language called AADL which is entirely useless in the real world. Most of my time spent on Project 3 was debugging AADL setup issues and trying to figure out how to use the software. FYI the software for project 3 does not work on Mac M1 at all. M1 does not have VM support - and the software also does not work well on Intel Macs forcing you to use a VM. I really dislike using VMs because of how slow they are, so I had to fire up an old Windows laptop from college to complete this project which worked well.

There are a couple of things I want to point out though about grading. I felt that the grading in this class especially for Homework 5 and Project 3 was extremely nitpicky and totally based on accuracy and NOT completion. This conflicts with some previous reviews of this class that mentioned that grading was lenient. My Homework 5 report was extremely detailed and I still got a bunch of deductions on it because I was missing minute details the TA was looking for. The grading is totally based on accuracy which is very frustrating because the assignments have very little resources and you are kind of on your own to figure out what the TA's want. They won't really clarify what they are looking for and mention that "as long as you explain your reasoning, you will be fine with grading". This is not necessarily true though because they deduct if the answer does not contain all of the points they are looking for. I am not dinging the TAs because they did try their best to help out throughout the semester. My main point here is to go in optimizing for complete accuracy and not completion when it comes to submitting these reports.

There is a take home, open note final at the end which is fair and pretty interesting to work through. I paired this course with an easy elective and had a very chill semester overall. I probably could have paired this with an equal or harder class and still managed well.

CS-7638

Artificial Intelligence Techniques for Robotics

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 10 hr/wk
Difficulty: Very Easy
Overall: Strongly Liked

Hands down the best experience I had in OMSCS so far.

Pros:

  1. The lecture videos by Dr. Thrun are consistent, clear and enjoyable.
  2. The TAs are top notch, with weekly (bi-weekly?) live tutorial on lecture topics or project problems.
  3. Very responsive feedback from teaching staff on Ed.

Cons: (more like an improvement suggestion)

The class managed to teach you a lot of very sophisticated algorithm without throwing any complicated math equations at you.(Kudos again the Dr. Thrun and the teaching staff) It makes the class a bit "too easy". Personally I don't mind math equations and I feel it necessary for graduate level courses. With the current setup, you kind of have to translate the "layman terms" in the class to "academic terms" first, and then search for more serious stuff accordingly. But don't worry, the teaching staff in this class are always willing to help. So, I would say this is an improvement suggestion rather than a "con".

CS-6262

Network Security

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 14 hr/wk
Difficulty: Neutral
Overall: Strongly Liked

CS6262 Network Security: Spring 2022

This review isn't overly dissimilar to the one posted on May 3. But I will try to point out a few of the things I feel are important to know about this class.

Class overview

This was my second class in OMSCS. I took CS6035, Introduction to Information Security the previous semester. If you have some background in cybersecurity then you can likely succeed in CS6262 without taking CS6035. There is some overlap between CS6262 and CS6035, but not a huge amount. For me though I am glad I took CS6035 first.

Time Commitment

I did not record my time properly for this class. On weeks where there was a 6 papers to read, a quiz to complete, and a project to work on I was spending around 15-20 hours. On other weeks where all I had to do was skim through 2 or 3 papers, a quiz and I had already finished the project it was more like 5 hours. The time I have given on OMSCentral is a best guess estimate at the average input per week.

Project 1

Project 1 was a lot of fun. I had no previous experience in penetration testing so getting to use tools like Metasploit was enjoyable. If you have a basic understanding of Linux and can follow the instructions in the writeup, which are designed to guide you to success, there's no reason why you shouldn't do well on this priject.

Project 2

Project 2 was probably my favourite as it focused on malware analysis and forced us to go deeper by using reverse engineering and debugging tools. The fact that you have to analyse Windows, Linux and Android malware samples means that you get to try a wider range of tools and techniques. Again the writeup does a lot to guide you on what to do to succeed. This makes sense as malware analysis is difficult and for many this will be their introduction to the process and without guidance I would expect a lot of students getting stuck on this project early on.

Project 3

Project 3 seemed to be the one that a lot of students had the most difficulty with and this is probably because it required some Javascript coding. The project is about launching web attacks against a blog writing website. The environment created for the project feels a bit odd at first because you have to deliver results to a per-student page using requests. Once you get over the hurdle of how to do this properly things get easier. There was also a bit of confusion as the project writeup recommended to launch one of the attacks in one way, but then the project TA recommended on Piazza (or maybe it was in the Bluejeans demo video) to do it another way. This highlights an important point: Read Piazza! (More on that down below). Overall I think this project seems more difficult than it really is, but for anyone who is weak with Javascript I would recommend spending a little time to understand promises to make your life easier.

Project 4

This was probably my least favourite project, and it wasn't that bad. Project 4 was about analysing traffic in Wireshark and then writing Snort rules to detect certain types of attacks. The reason why I didn't like this project was that I felt there was some misdirection in the project writeup on what we were supposed to look for in DDoS traffic. This led me to waste a lot of time going down the wrong path trying to find the solution. I also burned a lot of Gradescope submissions doing this, and submissions were limited to 10 for this project to prevent bruteforcing the solution. To counter this though one of the project TAs, Melissa, went out of her way to help get me back on track with this project. She deserves a medal for dealing with my stream of annoying questions, and for answering some of those questions live during Office Hours (of which I only attended 1 for the semester).

Project 5

This project was about machine learning for intrusion detection and evading an IDS by modifying an attack payload to bypass the IDS. This was a fun project and involved some Python programming. I liked this project because it provided less guidance than the others. It required us to read and understand concepts from a paper and apply them as an algorithm in Python code. To be fair, the most important parts of the paper were distilled into a simpler form in the project writeup, but you still needed to read the paper to understand the different terms required in the algorithm. There was a project in CS6035 that focused on machine learning, but unlike that project, this one really did not require more than the most minimal understanding of what machine learning is. There were parameters for a machine learning model to tune, but unlike in CS6035 they were far better explained, and tuning the model was quite easy and for me there was no frustration over trying to understand how the machine learning model worked which wasn't part of the project anyway. This was a good project to end the semester on.

Papers

The papers were the low point of this class for me. Some of them were interesting, some of them had some historical significance, others were too mired in technical detail for me to get much out of them. Early on in the semester I looked up advice on how to read academic papers and this genuinely transformed how I read the papers and saved me a lot of time. I would recommend this to other students like me who haven't been exposed to a lot of academic papers before this class. I do recommend reading the papers because the quizzes and exam have questions that relate back to them, but don't get caught up in trying to understand every little detail. Only project 5 required reading any papers to understand the project, and even then the more difficult parts of the paper were distilled into a much more usable form in the project writeup, which was hugely appreciated.

Exam

The final exam was 25 questions with a mixture of multiple choice and true/false type questions. The exam is only worth 10% and the effort required to do well in it is low. To prepare for the exam I re-watched the lecture videos that mapped to the topics given in the exam study guide and re-read the assignment writeups. The topics given only covered just over half of the lectures and the remaining topics were related to the projects. I don't regret having spent the time on preparing, but so long as you did well on the quizzes and projects you could walk into the exam and expect to get a decent grade just from your overall understanding of the semester. I only needed around 2% to ensure an A in the class and got 90% in 15 minutes of the allocated hour.

Extra Credit Assignments

The extra credit assignments were 2 separate reviews of projects 1-3 and 4-5. The reviews aren't particularly good because there isn't consistency in the questions asked. They come out at the end of semester which I felt was not a good idea because by that time a lot of the finer details around each project have been forgotten. I would have preferred a review for each project released alongside each project so that I could give feedback as I worked through the projects. I'm not sure how these assignments are graded but they add up to 5% and I am fairly sure that as long as constructive feedback is provided that full marks are given. These assignments are a good way to get you over the line if you are just shy of a better letter grade.

Piazza & TAs

The Piazza discussion forum was active throughout the semester. The TAs were very helpful in answering questions and providing hints to help with the projects. A lot of good information came up in the discussions on Piazza, but other than one or two instances I did not find crucial information buried in Piazza that should have been in the project writeups. Compared to CS6035 I did not feel that the discussion was stifled by the threat of the OSI hammer. TAs and students were more free to provide helpful information rather than constantly trying not to cross a line by providing too detailed of an answer.

Final Result

At the time of writing the final grades haven't been released and the extra credit assignments haven't been graded but I am sitting on 98.7%.

Final Impressions

I enjoyed Network Security. It gave a good overview of a lot of topics and reinforced the fact that I want to take Advanced Malware Analysis and Information Security Lab. I actually found this class easier than its natural precursor, Introduction to Information Security. I think this was in part because this was my second class so I better understood how things work in OMSCS. I also think that the projects were a little more guided, and to some degree built on the concepts introduced in CS6035. I don't remember anything akin to the slog of trying to figure out XSS, CSRF and SQLi in the web attacks project in CS6035. I would recommend this class, and knowing what I know now, I think it could be paired with another class for those looking to get through OMSCS faster.

CS-6750

Human-Computer Interaction

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 12 hr/wk
Difficulty: Easy
Overall: Strongly Liked

For reviews Head over to omshub once it is up, else post on reddit r/omscs for questions in the interim. Fuck omscentral and meta

CS-6601

Artificial Intelligence

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 15 hr/wk
Difficulty: Neutral
Overall: Neutral

The Spring 2022 CS6601 is a mixed bag. The class content is good and the enjoyable. But I did not like the learning environment set by the teaching staff (compared with some other class I have taken in OMSCS)

Pros:

  1. The content of the course is well designed to help you understand the fundamental concept of AI.

  2. The assignments are challenging enough to force you read the supplemental materials, which was rewarding and worth the time.

Cons:

  1. The environment of the class is, hostile. My impression is that Dr. Starner seemed to care "catching plagiarism" than "actually helping students solving the problem". In one of the his RARE office hours that I attended, he spent 30 min on warning students of the punishment for plagiarism and only 15 min on very very very high level brief review on the midterm chapters. IMO, not helpful. Not to mention that you are not to allowed to look for help and read pseudocode in online resources. Students on Ed are willing to help each other, and I had a lot great discussion with them. But more than too often, everyone was afraid of sharing too much detail to be tagged as "plagiarism". This definitely needs to be improved.

  2. TAs rarely answered questions on Ed except those closely-related to the assignment. Not sure if they are are not allowed to (remember the no pseudo code, no plagiarism policy? ) or as someone else mentioned, they don't have the knowledge to do so.

  3. Most of the coding assignment is not really "CS coding" I would say. Rather, knowledge on statistics and linear algebra are more useful for assignment.

  4. The open book midterm and final exams are the WORST part of the course. They are not hard.(I got >90 on both) But the exams are riddled with typos, grammar mistakes, ambiguous problem definition, etc. I spent more time on figuring out the "correct" interpretation of the problem than on actually solving the problem in both exam. Imagine dealing with "ambiguous problem" and "possible trick question" at the same time! Sure you can ask on Ed for clarification, but good luck on any TA caring to respond, or worse, waiting half of the final week only to get a more misleading hint from TA.

ISYE-6414

Statistical Modeling and Regression Analysis

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 6 hr/wk
Difficulty: Very Easy
Overall: Strongly Liked

To those that hated the exams because it seems to be poorly written...

Congratulations, you've been "Serbanated".

This exam teaches us how to be street-smart, and to be able to think critically, not just book-smart - something that you can memorize and regurgitate - that's (ironically) true for B-track classes.

Welcome to the art of the Analytics.

Agree with the below reviewers that this class should be replaced in lieu of MGT 8803.

ISYE-6414

Statistical Modeling and Regression Analysis

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 10 hr/wk
Difficulty: Very Easy
Overall: Liked

tl:dr course is NOT THAT BAD, folks just need to step up their game. Im sorry but it is the truth.

Before I took this course, I read the reviews here and I was mortified by what I read, so going into the course, I was worried.

Now, it is a shame that this course gets as much hate as it does because it is not that bad. As an analyst at a big bank, I've got to be quick on my feet and new learn things as the need arises so when I think about the pacing of this course I found the material pacing to be pretty doable (compared to a course like ISYE-6501 where its just material in and material out week after week). This gave me enough time to actually go in-depth a little bit and understand more about the different topics like SLR, MLR, Stepwise, and the various Var Selection techniques. Seriously, they should do away with MGT-8803 as a mandatory course and swap it out with this one.

Pros:

  1. Good pacing (sometimes too good, could be slightly sped up)
  2. Exam questions were fair (seriously, compared to Sokol's questions, Serban's were pretty tame and not that tricky, just have to read carefully and think critically, after all this is a graduate level course in Analytics)
  3. Coding section (not too difficult if you have experience in programming especially in R)
  4. FANTASTIC TAs. I must've lucked out and had a great group of TAs because they were awesome, and knowledgeable. (Seriously, one guy asked a lot of repetitive questions that could've been searched back in the notes, but the TAs were still patient and answered him. This isn't a bad thing as it provides an opportunity for other learners to review the content so shoutout to him )
  5. Good balance of homeworks and knowledge checks

Cons:

  1. Coding sections of the exam were too long. Not difficult, just long and tedious.
  2. I will side with everyone here and say that the videos were indeed very dull. Read the transcripts side by side with the powerpoints and review the powerpoints as you prep for exams.

Disclaimer: I come from an Econ/stats background where two of my undergraduate courses were heavily focused on Statistics and Econometrics

ISYE-6644

Simulation and Modeling for Engineering and Science

Taken Spring 2022

Reviewed on 5/6/2022

Legacy
Workload: 12 hr/wk
Difficulty: Hard
Overall: Disliked

I don't understand the hype on this course. I felt like I learned more from exam review sessions than the course itself. Too much is crammed into 14 weeks and I don't feel like I learned much, if any, practical implementation of simulations. You almost can't avoid this class, but from other reviews, I thought it would be amazing and it wasn't.