What Andrew Ng’s Machine Learning course teaches about Online Course design
I had been wanting to do Andrew Ng’s foundational course on Machine Learning for quite some time. I was mostly indoors over Christmas, so I thought it was good time to finally dip my toes in it.
My primary apprehension was whether I would be able to complete the three-month long course given my existing commitments. Must say the course structure was key in seeing me through it. No video was longer than 15 minutes, so if I had the time to micro-binge on YouTube, I had no excuse not to do the same on the course.
It was also my first time using MATLAB on the cloud, and I was pretty impressed how it could help assess programming exercises and automate grading. Getting immediate feedback was immensely helpful, and admittedly, addictive. In all, it was a fun two and a half months, -ish.
But beyond being a course that offers a conceptual level of understanding of ML, I opine this course also offers some insight as to how effective online and distance learning courses should be structured.
The massively open nature of online courses means that the students can come from all walks of life. Setting some pre-requisites help, but beyond this the course content should not ‘assume’ any knowledge on part of the student. Andrew’s course makes it a point not to have any pre-existing bias regarding the students background. In fact, there are points in the course which are excruciatingly basic, but then experts can skim through those, while novices can take their time.
This said, the course also strikes a beautiful balance between theoretical concepts, and knowledge that is required for practical application. The roots of machine learning lie in statistical and probabilistic theory, and when teaching such courses, you stand at the risk of falling on two extremes. At one end, you could fall into the quagmire of explaining everything, while on the other end, you develop a case of Expert Blindness, and skim over principles, as they are ‘too trivial’. The art lies in understanding what elements can be prescribed to students as a pill, the conceptual understanding for which is slowly developed as the student advances in the course and interacts with the material. There are several such instances in the course, which while can be frustrating to the detail-oriented student, does help in rapidly getting an overview of the machine learning working methodology. But this doesn’t mean the course sacrifices on rigour either.
The course is also great example on how to structure and break down course material into manageable chunks. For an online course, I think this is key. Most students taking up online courses are working professionals who have 9-to-5 jobs, along with other commitments. Divvying up the material into digestible portions that have a small list of learning outcomes helps short term retention – just enough for the student to pick up where they left from with ease.
But most importantly, the course makes full use of available technology for facilitating reinforcement and retention of learning. There are two interesting ways in which Andrew’s course does this.
Firstly, even in the shortest of the videos (which are about 3 minutes long), a multiple choice question pops in mid-way or towards the end for the student to answer that require reflection and also invoking concepts learnt in previous lessons. This quick assessment is not marked, and the feedback is instantaneous, which helps you decide whether you need a second viewing or revision of the course material.
The second way in which the course facilitates material retention is via its programming exercises. While each topic has its own specific programming challenge, there is an underlying push towards vectorisation of codes that gets progressively challenging with the weeks. Bits of codes from past weeks can be carried over and modified in some cases, which requires the student to revise the implementation strategies used previously. Also sometimes, topics to covered in future sessions are foreshadowed, which allow for retrograde reinforcement (I don’t know if that is a term, but it should be one!). The best part is how the programming exercises themselves are deconstructed, developing conceptual blocks of the employed functions in a refined, pedagogical fashion. A cool aside of this is you don’t have to rewrite code if you want to run it from the top again.
Taking Andrew Ng’s online course was quite the meta-learning experience for me. Of course, the course has been developed and surely revised over several years, making effective use of feedback provided by its students. Yet, the level of attention to detail I saw can manifest only if you maintain clear perspective about the course structure and its learning outcomes.If you are a STEM academic, and are looking to develop an online course, or even a taught course module for that matter, I heartily recommend it!
What Andrew Ng’s Machine Learning course teaches about Online Course design by Srikanth Sugavanam is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.