This course is a lightweight introduction into some probabilistic robotics / AI topics, namely: uni-modal / multi-modal localization techniques, Kalman filter, Particle filter, search (shortest path finding, A*), PID control and Graph SLAM.
The theory presentation is on the level of YouTube how-to-s in terms of academic depth (i.e. not deep at all), but the projects and the homework are well arranged to help appropriate understanding of the iceberg tip for those topics. As a background, this was my first course into any AI/robotics related field (both education and various professional career wise), so I’m mostly happy I took this course as a primer.
I liked getting through and study the course material, doing the projects, getting exposed to what Sebastian Thrun has to offer as a professional in the field. Unfortunately I consider the lecture quality and their academic instruction approach as substandard, which is a shame given what Thrun has achieved as an innovator and especially as a founder of Udacity and one of the founders of OMSCS.
As mentioned above, exposure to Sebastian Thrun experience and ideas related to robotics, self-driving cars, presented topics and AI aspects in general. In some of the lecture visualizations and recorded Q/A there were important insights he shared. We also had two direct office hours with him, which mostly covered high-level topics, which was great.
Teaching staff on-site – excellent, can’t praise them enough. Dr. Jay Summet – flawless instructor, knowledgeable, explains things in excellent way, very much involved, including on Piazza, on regular basis, constantly provides helpful material and theory intuition behind things, supplied an elaborate list of useful resources to cover the gaps in the lectures and for further exploration.
All the TA-s were very professional, technically and personally, helpful and involved. Office hours were held every week (and recorded), some topics were covered as special tutorials, again to cover the gaps in lectures.
The course structure is thought through well, most of the praise here should go to Sebastian, presumably. The projects and the homework integrate and compliment the studied material.
There are nice quizzes in the lectures, with supplied code (often not exemplary quality or efficiency) which you can incorporate into the projects – a lot of time was invested into those, and they are helpful and show the ways to do things. That was the best thing about the lectures, and those techniques I found useful.
I enjoyed all the projects (5 projects, 1 of those being “mini” with lesser scope – one project per topic), the project themes and infrastructure are nicely put together, I could see the concepts working, also using the supplied visualization infra.
Like others have said, there are no exams, and you submit all of the homework and projects to Gradescope, with unlimited submissions, so you control your grade. It was my only course so far where I’m going to get a three-digit grade average (with the extra credit only on two projects and only being a single point), and it wasn’t hard – it all depends on time and effort you invest. Homework (6 problem sets, mostly pretty easy) have Udacity solutions (I would try doing the homework without looking at those), so it really aims at how you learn.
Nice Python practice was there for me (I haven’t been exposed to it that much on a professional front).
Even for a summer course (it had the same material as the fall/spring version), there was never a real time pressure, even for a person with other time commitments. All the homework and projects were released upfront, and some people finished the course within two weeks (not me).
Most of the projects which included noise modelling often carried a lot of tuning which was not well guided. At the end, sometimes things depended on luck, of how persistent you are with Gradescope submissions (different results with the same code).
Granted, the tuning and related thinking is expected to be significant in related engineering, I just felt it was not guided well enough and the amount of time you spent on it sometimes depended on luck, so the learning value was diminished.
The lectures quality.
Firstly, the theory presentation approach is mostly of a MOOC for a general audience - sometimes a teaser approach for things you would like to learn if interested in. Maybe that's why the course was recently renamed into "techniques" one, but still it was not what I expected from an academic course at this level.
Yes, Sebastian references his book and some other resources as a place where those topics “have proofs”, but one could do the search online as well, you don’t need a course for that. Yes, it’s valid to direct the students to a proper course text book chapters for study, but that was not how the course was designed and articulated.
Like I said, it was my first encounter with the topics, and I spent long hours studying material from other sources, in order to understand the intuition behind the math and theory for some of the topics. So for those who, as I heard, attacked people expressing a similar opinion about lectures (not me) with “you get what you put into it” – it was not the case, people did put a lot of effort in (and honestly, I could do the projects and get the same 100-s even without going into depth).
Luckily, the lecture slides and other course pages contained quite useful pointers (must be appended by Summet and the rest of instruction staff) – use it. KF lecture, for example, was the worst, so do look into “ilectureonline” series mentioned at the end of the lecture, that was invaluable for me to understand the theory behind, if the topic is new for you.
The second reason for the lectures not being up to standard is that those are riddled with errors and inaccuracies. Other courses have occasional errata on the lectures, but not like here. Almost every lecture has multiple places where there are errors in details and formulas, with frequently appended corrections by the teaching staff. It’s quite representative that in one quiz, Sebastian says “yeah, the way I present it is kinda sloppy, but, well, who cares :) “ – and then, the same sloppiness propagates to the suggested solution, which is incorrect (but being corrected as an erratum notice at the bottom of the quiz).
The quizzes and related techniques were good and useful, as I mentioned, but the python code quality was not exemplary to say the least, not a good instructional example.
All in all, the course is a nice intro to the topics, look into “the Good” section if you seek the positives – I wish I could recommend this course more than I do. If Jay Summet, for example, would create his own set of lectures with the way he explains and values the theory, same topics and assignments remaining, this course could be excellent.