Udacity Self Driving Car Nano-Degree – is it worth the money?

The Udacity Self Driving Car Nano-Degree currently has a lot of visibility both within the automotive industry as well as with software developers who are interested to move into the industry. Udacity has provided the curriculum of the three-part nano-degree on medium.com which is useful for finding out what you will learn. But what kind of training material and support you get for your fees? Is it just Powerpoint slides or good video lectures? Are exercises just multiple choices or challenging projects? What support do you get? To give potential new students an impression, here is my take (after passing the first part) on what you get for your money:

  • The actual courses. They consist of textual documents as well as many video clips with explanations. The videos are professionally produced and generally explain things well. However, I also looked for further material on the web to maybe clarify some things by getting a different explanation or deepen topics of special interest.
  • A number of smaller (non-graded) exercises that can be solved directly in the browser. These consist of multiple choice quizzes as well as programming exercises and are useful for checking your understanding during the lectures.
  • Support through a mentor (online). I have not tried the mentor, since although I found solving the projects sometimes a bit challenging, I preferred asking on Slack (see below).
  • Several graded projects (five for the first part). Udacity provides a lot of the infrastructure for solving some of the projects:
    • Easy installation of the required Python environment through provided conda configurations.
    • AWS credits in case you need a virtual machine with a GPU to solve the projects that deal with neural networks. This is helpful if you do not have access to a GPU. If you own a PC/notebook with a decent Nvidia graphics card, this is not required – but it still a good opportunity to learn about AWS.
    • A Unity-based car driving simulator, including Python libraries to control the car from your own code. You will use that for one of the machine learning exercises to create a neural network to drive the car along the track automatically.
    • Collections of the data sets required to train your models – most of these are collections of publicly available data sets (traffic signs, car images) – but you get it all readily bundled.
    • Submitted projects are reviewed by a real human – it is not just a robot that checks that your code runs and produces the correct output. Many of the reviews I have received are really detailed and provide additional information for further research even when you pass the project on the first time. Some of the reviewers did code reviews and provided feedback on some of the APIs that had been used.
      In addition, Udacity really has quality requirements for passing, it is not possible to pass with sub-par implementations.
  • A discussion forum in the web. I mainly checked the forum for solved installation problems with some tools.
  • Several slack channels which are helpful both for discussing the projects as well as for networking. Udacity provides slack channels for the graded projects so that student can exchange ideas and questions as well as geographically grouped channels (e.g. by continent and county) so that you can find students nearby for cooperation.

All in all, I find the price justified for the value that you actually get as a student.