Summary

While I did enjoy aspects of the program, I would not recommend it.

Pros:

  • Interesting presentation of widely varying topics in an exciting field
  • Career support with the perspectives of both students and industrial partners considered

Cons:

  • Expensive - total cost was, after all discounts applied, over $60/month
  • Too broad in scope
  • Competing programs are comparable and cheaper

Thoughts About the Program

A little over a year ago, I got excited about machine learning and its applications to engineering, particularly system identification and optimal parameter tuning. I wanted to learn more about fundamentals and how to solve practical problems with machine learning. At the time, Udacity was starting to make some headway in online learning over competitors like Coursera and edX. Udacity had established partnerships with members of industry and academia, and they were touting a $6000 online Master’s degree through Georgia Tech. I liked their core philosophy, so I thought that the Machine Learning Nanodegree looked very promising.

The nanodegree program was expensive: $200 billed monthly! There were additional incentives. There was a one-third fee reduction for first-time students, and there was also a 50% rebate if the program was completed within one year. The program consisted of several modules, each of which had a project. The capstone project, required for successful completion, was chosen by the student. I liked this. I could see what areas/technologies particularly interested me and solve a relevant problem. After completing my PhD in 2014, I hadn’t done much study in fields outside of systems engineering or dynamical systems, so I was excited by the prospect of learning something new. As an added challenge, the course was built on Python. I knew little about Python programming, other than I knew several smart people who swore by it. I felt that this would be a good platform for learning the language, since the modules had numerous code walkthroughs and in-lesson knowledge assessments.

All of the above factors swayed me in my ultimate decision to enroll in the nanodegree. Originally, I had intended to do a walkthrough of the nanodegree in this post, but I think I’d rather just write up some thoughts I have had on the program.

I will begin by discussing what I think regarding the prerequisites for the program. I can say that a working familiarity with linear algebra, multivariable calculus, and probability is required. Whatever the Udacity folks may say, I believe that even motivated individuals without this core knowledge are going to struggle. Particular focus areas include:

  • Understanding extrema of multivariable functions
  • Optimization via gradient descent
  • Matrix and vector operations, including multiplication and transposition
  • Probability and statistics; particularly Baye’s rule and the theorem of total probability

The program begins with a Georgia Tech professor giving an introduction to the exciting field of machine learning. This felt strictly boilerplate, and was pretty lo-fi, in my opinion. The professor did demonstrate a genuine passion for the material, so this, at least was refreshing. What followed, however, was not.

None of the content was original. I understand that the program was one of the first of its kind offered by Udacity, but it felt like very little polish was put on video lectures that had already been recorded and used for other Georgia Tech courses. Now, I understand that a degree program of any kind is simply a cobbling together of different courses that, on the whole, provide a well-defined and vetted curriculum. I had hoped that the nanodegree program would be different. I was thinking of something that had consistency between units and higher production value. Maybe I was unreasonable then, maybe I was not. Either way, I did really like the interactive quizzes; they made learning Python much less painful.

The projects were interesting, and they had a suprising level of depth. Questions were detailed, and focused towards a qualitative, as well as a quantitative, understanding of datasets and their manipulation. The chosen platform of Jupyter notebooks for organizing the work and analyzing it was new to me, but I immediately appreciated the utility. As a matter of fact, I have continued to use it for most projects I work on.

There was career support provided throughout the program. Everything from resume and cover letter preparation is presented, along with detailed review of end products. Udacity even as its own career portal where students can answer a series of “interview” questions that Udacity’s industrial partners can screen for potential matches. I was excited about this at first, and ultimately it did give me much to consider when I prepared my resume for future job searches. However, I quickly realized something troubling regarding the support for my career. At the time, I was a mid-career engineer with a solid income. After researching the types of careers where the material I was learning would be relevant, there was no conceivable way the knowledge would increase my income significantly. I may be wrong, but it is my blog post after all :)

The final project that I chose was to create an entry for a predictive analytics competition on Kaggle. I chose this problem after having difficulty with others that I attempted in computer vision and reinforcement learning. Still naive of the ways of machine learning, and perhaps a little arrogant in my own abilities as a scientist and problem-solver, I grossly underestimated the level of difficulty of solving emerging problems in the field. After spending nearly as much time on the capstone project as on the rest of the program combined, moving on to something with a more clearly defined path to completion was critical to me finishing the nanodegree. The first project was to generate a predictive model for housing prices from a limited feature set, and I was able to leverage some of the products of that first project to complete the capstone.

Conclusion

Like all degree programs, knowledge gained is built upon foundations. An interested party looking to succeed in this program is going to need a good foundation in some advanced mathematics and statistics. I enjoyed working through the problems, and I liked the freedom to choose a final project.

I do believe that the career support would be very useful to early career engineers or recent graduates looking to make themselves more attractive to potential tech employers. Udacity’s ever-widening reach in industry is very powerful, and provides a great opportunity for potential candidates to learn topics that employers care about. In terms of more senior professionals, I don’t know that this particular program will have such positive utility.

In the end, the scope of the program was so broad; topics ranging from engineering to customer segmentation were covered in superficial detail. The breadth of scope, the program cost, and the wide availability of comparable and cheaper courses from competitors like Coursera and edX together form my recommendation against this nanodegree.