I have recently completed the first term of the Udacity Nanodegree in Data Analytics (which is structured in two independent “terms” of three months each, even though the first one is optional). It mostly covered Python (in particular numpy and pandas, the Python libraries for data analysis), SQL and practical statistics (basically from the basics to inference and multiple logistic regression). I will post a more comprehensive review once I completed the whole course, but I can already give some first impressions based on what I saw and did so far.
- Lot of videos, no much reading. Compared to similar MOOCs I attended in the past, there are lots of video lessons and not so much written material. Furthermore, the course relies on several external resources rather than a single external reference, be it a textbook or an online resource. I personally find quite cumbersome to follow explanations on a video rather than having some written resource to rely on, but I guess this is just a matter of preference, and to be sure nowadays it is a relatively easy exercise to find some extra material if necessary (if anything, the offer might be overwhelming). I also found quite annoying the relative lack of example code, but again I guess there is some educational value in forcing a learner to figure that part out by him/herself. Especially when it comes to statistics, however, I wonder if having some clear external reference text wouldn’t be a great improvement for a beginner.
- Good test materials. The term is divided into three modules, of dimension similar to a “regular” 4-weeks MOOC. At the end of these modules, students are required to complete a project, like writing a small python program or analysing a dataset, which is then reviewed by a qualified reviewer against a rubric of specifications. There is no real grade at the end of the module but just a fail/pass score. Should a student fail to meet the pass score, he can review the project until this meets the required specifications (there is a time limit set by the overall duration of the course, three months). During the module, the students can test their knowledge against a number of quizzes (these don’t count towards the pass/fail grade). Compared to Coursera (I don’t have enough experience with edX to make a comparison), Udacity wins hands down in this regard. I have already written about the questionable way Coursera has to evaluate final projects, so the fact of having a qualified person to review your content is clearly a massive advantage – needless to say, the feedback is also much better. Also, the quizzes tend to be more interesting and challenging. The fact of having only a fail/pass score can feel a bit unjust, but it seems pretty adequate considering the nature of the material.
- Where really Udacity stands out is the quality of support and the community of learners. Each learner is assigned an individual mentor, which helps mostly in being sure that you stay on track (the course must be completed over a time limit of three months). Further, the community of learners is huge (as opposed to Coursera, it is cross-term, in other words, it doesn’t matter when did you enrol to the course, the internal forum are open to everyone) and this ensure that most of the time you find an answer to some specific question within the internal communication channels. This is a huge improvement compared to Coursera, where I had the impression that learners are left by themselves and where only the learners enrolled to a specific term can communicate between themselves. Further, Udacity offers a number of external career and support resources. I haven’t used them yet so I can’t really judge, but it is a service that other providers don’t have.
- Having a large community has also its downsides. I don’t know if it is because of the dimensions of the community, because of some questionable UIX choice or simply because I am getting old, but I found the navigation through the forums and the slack group quite a cumbersome experience. In particular, I personally fail to see the added value of having a slack account for such a large group (numbering in the thousands) and I found the navigation through it a really unnerving experience. On the other hand, the channels are always busy and people seem to use them a lot, so I guess others don’t have my same issues.
- I sorta don’t like python. Ok, this is not strictly related to the course by itself, but I felt I need to share it. I have some familiarity with R, even if I can’t consider myself an expert, and I don’t know if it is because of this, but I really struggled with python, and in particular with its plotting library (we mostly used matplotlib) as opposed to ggplot2. Sure enough I can see how python is much more versatile and all the rest, but still. The overall impression I had is that using python for data analysis as opposed to R is like riding a mountain bike on asphalt rather than a road bike: it can be done and you can even have some fun with it, but you have the feeling that it is not exactly what it can do best.