I'm currently in the final term working on the summer project.
This post is just a brief summary of some pros and cons about the degree, might add to it later.
++ Deep Learning, Big Data, Bayes were exceptionally good.
I really came away from these modules feeling like I had invested time and money well.
These modules were quite challening, but I learned a lot of useful knowledge.
Lecturers really cared about creating something valuable for the students.
+ UDA, SL, EDAV, AM and LA were not bad.
+ Over two years you can build a portfolio of projects.
+ I've gone from being vaguely competent with simple stats models like linear regression, to now being firmly comfortable having a discussion about more or less all of the common ML algorithms and architectures, their mathematical assumptions, challenges and opportunities. E.g., random forests, deep learning, convolutional neural networks, RNNs+LSTMs, transformers, normalising flows, bayesian stats+models, distributed computing for big data, NLP, reinforcement learning. I'm not an expert in any of these areas but I would be able to follow a conversation and have a fair idea of what is being discussed. In most situations I'm able to evaluate when and where ML algorithms are best suited.
+ I feel reasonably prepared to pursue a PhD in my areas of interest.
- Ethics and Programming modules were pretty terrible. Hardly any educational value.
- Dedicating 50% of the masters to R was a waste for me personally. Looking at current job postings, Python is far more in demand. This isn't to say R is completely useless. There are industries where R is popular and use cases where it performs well. However I wish the course had been purely focused on Python, with a splash of SQL and maybe Scala/Java or C++.
- Work load fluctuates a lot and is seriously demanding in the peaks. 21 hours per week is definitely an understatement. Some weeks you'll have multiple overlapping deadlines and no flexibility whatsoever. Some weeks went up to 30 or 40 hours of work. This was just to keep up with the lectures, notes, labs and assessments. I rarely had time to do all of the recommended readings.
- Instructor feedback on assignments is high variance. Sometimes excellent, sometimes minimal. There were times when we would spend 10 or 20 hours on an assessment project and get back 20 words of feedback. Uninformative comments like "Good report, 8/10." However some lecturers did really care about providing good feedback.
- There's very little emphasis on the technical engineering side of machine learning and does not cover SQL or databases in any capacity.
- £30k is pretty steep for what is offered. I can't say whether it would be worth the money since it would depend on your personal financial situation. (However this ended up being a worthwhile investment for me as it enabled me to secure a promotion to an ML focused role at work, YMMV).
All in all, this course would not by any means prepare a layperson for a role in software engineering, data engineering or ML engineering. However this would be a suitable course for laypersons entering data science roles or software engineers entering ML eng roles.