Review of Udacity’s Deep Learning Nanodegree program
The context
My education background and experience are on the business side, and I have been a heavy user of data analytics tools learning R, tableau, datastudio. I have also acquired familiarity with the basics of python in the process. For the last few years, I was reading about advances in the machine learning and deep learning technologies but wasn’t sure of how to start learning them.
Why did I select this course?
First and foremost, I was very clear to take up a more hands on development focused course rather than a course focused on theoretical understanding. There are multiple reasons for that — a) I had already studied some of the theory related to deep neural networks in college, b) I refreshed the underlying concepts through youtube videos including a series on neural network basics by 3blue1brown and a course AI for everyone by Andrew Ng, lastly c) my experience in learning software technologies has taught me that learning how to use the technology is a powerful way to start on something because then you can keep using it while investing efforts in parallel to understand it better.
To sum-up, a platform and course that focuses on hands-on coding and implementation experience was at the core of my choice
My second consideration was curriculum. I had explored Udacity and Coursera for taking up short free courses earlier as well so I had confidence in the platforms. I explored courses on edX, Coursera, Udacity, and NPTEL to compare their curriculums. I even explored online courses by Stanford and MIT but they were far more expensive.
Udacity course appealed the most to me in terms of the curriculum. Special highlights were the projects at the end of every module that would focus on implementing the concepts learned in the class. Adding to it was the fact that a considerable discount on the course made the pricing affordable (in the range of ~250 USD).
The learning experience
I’ll summarise the key takeaways below:
- Content curation is great:
The structure of course is ideal for beginners to get hands on introduction to the field of Deep learning. The mentors haven’t gone really deep in all topics but they have provided links to a lot of original papers and reference videos for those who wish to go deeper. Also the content is very precise in terms of enabling you to complete the projects, covering the basics, and giving you a nuanced view of the topic without overwhelming you with theory. - Some recent updates are missing:
While the available content is good, progress on some recent topics like transformers is missing from the course. My observation is that the content was created 3–4 years ago and there have been very minimal changes since then. - Projects are well thought out:
Projects are direct application of what is being taught in the class, they keep the course focused on being application-first. The topics selected are very useful, and easy to relate to. While the criteria to pass the projects is usually easy, you can go beyond the requirements and further improve the outcome. Also, the notebooks have been modified in such a way that even a non python programmer can easily understand and modify the code. - Python programming is a pre-requisite:
I did not know much python programming but I still finished the program in time. However, I won’t recommend taking up this course without necessary familiarity with Python. While I was able to finish the course in time, a lot of my energy went into figuring out numpy and pandas functions to clean and pre-process the data. Ideally, you should get yourself familiarised with these two libraries to make sure that most of your time is instead focussed on improving the model building and testing part of the projects. - Mentor attention could be better:
The attention from mentors is purely in form of feedback on the projects or on responses to the technical queries. Most of the responses to the technical queries are also generic at first. The learning experience could greatly benefit from 3–4 one on one sessions with a mentor. Though that would definitely add to the cost of the program. - Community aspect is largely missing:
There were no group projects or any classroom interaction with peers. The reason why I missed that is because of the nature of work involved in designing the model and tuning hyper-parameters, group interactions or some peer discussions could have helped in getting exposed to multiple insights. - Opted out of Career services:
Since I opted out of career services, I can’t provide a valid feedback on that.
Hope you’ll find this review helpful. All in all, if you have time and energy to push yourself to use open content and open projects, you can skip this course. But if you want the course to push you and gently onboard you to the field of deep learning, this program can be a good choice.