This course is effectively two, so must be reviewed in two parts:
- Part one is taught by Dr. Eric Feron, who is a GT professor. This is the far better of the two course parts. The homework assignments and projects are well-defined and fairly straightforward, if divorced from the content of the lecture videos.
I honestly did not even watch the course videos for the most part, and found them tangential at best to the tasks you're asked to complete. The actual videos are produced well enough but lack any kind of context or narrative thread, so it's very easy to just let it go in one ear and out the other without retaining anything. The Udacity course also commits an imho cardinal sin by embedding multiple videos on a single lesson section and consequently disabling auto-play (which goes back to the aforementioned lack of narrative thread). Ultimately though, as I noted before, this isn't a huge deal because the lecture videos aren't particularly useful -- in fact, the few instances when I did try to reference them to clarify something in an assignment I couldn't find anything pertinent.
The homework assignments varied quite a bit, starting with basically some short Q&A/essays on cyber-physical systems, then going into basically a homework assignment solving a physics 101 problem (calc-based physics 101, to be clear), and then some minor coding assignments in C around black-box testing and input-output feedback loops. The essays required a day or so of work to compile, but neither the physics quiz nor the coding assignments required more than a couple hours work.
Both projects involve commanding either one or a set of GRITSbots to accomplish a set of specified tasks, subject to a set of specified constraints, in a MATLAB Robotarium simulator. You also have the opportunity to run your code against live robots in the Robotarium for the first project, which is neat but also frustrating, because you're only allotted two attempts in the actual live environment, and will likely find that your robot does not behave live as advertised in the simulation. This is not an issue for grading though, as you are provided a data set to use if needed for the analysis portion of this project, and are graded for code based on the results of the sim and not the live result.
Both projects should be completable with a dedicated weekend of work.
If the entire course was just Dr. Feron's course, I would've probably rated this class "Neutral" with an "Easy" difficulty. I don't feel like I really gained much from it, but the assignments were for the most part entertaining and it's elective hours.
- Part two is taught by Dr. Jérôme Hugues, who is effectively "on-loan" from the Institute for Space and Aeronautics Engineering, part of the Université Fédérale de Toulouse Midi-Pyrénées. He is highly credentialed and active in the CPS field. But don't for a second be fooled into thinking that implies he's effective as an instructor in this course.
As Dr. Hugues is French, there is a language barrier to be overcome for the predominantly Anglophone demographic of the OMSCS program. His lessons and assignments are of course delivered in English -- you don't need to learn French, of course -- but his spoken English is heavily accented and difficult to understand, and his written assignments often lack precision.
Whereas the assignments for Dr. Feron's portion of the course were well-defined and had explicit questions and/or objectives, Dr. Hugues' assignments were exclusively extraordinarily vague and open-ended questions, as though he's attempting a Socratic descent into teaching the material. That works great in an open classroom setting where students and mentor can collaborate on exploring the topic. It is not at all appropriate for a graded assignment for which you're only allowed one submission.
As another review noted -- and I don't know if this is just a cultural misunderstanding or actual personality -- Dr. Hugues can also be quite brusque when you attempt to ask for clarification. He often declines to answer questions outright, asserting that it's deliberately vague so that you can decide how best to answer (but how can I answer when I don't understand the query?).
It could just be that I am not a smart individual, and certainly some students in the class were able to complete his assignments, but for both of them I found myself completely lost and in the mindset of "I understand the individual words you've used, but I can't put them together into coherent entities that make sense in my brain." I've spent days trying to dissect his project and still don't understand what it is I'm intended to do. I suspect that, given Dr. Hugues' background, he just assumes a lot of systems engineering background as common-sensible, which is probably a valid assumption at his home institution with his home target audience, but isn't valid in a computer science course that has, at best, only an informal prerequisite of anything of the sort. I sure as hell don't, and I'm suffering mightily from it.
It is worth noting that Dr. Hugues' portion of the course does not begin until after the drop date, so Dr. Feron's portion can easily lull you into a sense of false security about where you stand grade-wise. With a perfect score in the course going into drop day, I'm now basically assuming zero credit on all of Dr. Hugues' assignments and hoping I can perform well enough on the final (I think I can, since it is, I believe, prepared by Dr. Feron) to maintain a C.
Consequently, for Dr. Hugues' portion of the course I would rate "Strongly Disliked" and "Very Hard" in terms of difficulty: I have learned nothing and gained nothing but frustration from it. I do think that if you were able to surmount the language barrier, expand this to a full course on its own merit, and assume less in terms of prerequisite knowledge, this could be an effective course. But absolutely not as it currently stands.
tl; dr: Take this class at your peril. If you have an EE or systems engineering background you're probably going to be fine. If you don't, or have never worked on cyber-physical systems before, this is probably not an appropriate first course. (No, 6263 is not ample preparation.)