The Right Way To Learn Machine Learning Online
Is there a right way to effectively learn about machine learning online? There is! That is to learn patiently and responsibly. Let me explain!
There a bunch of people doing great work teaching you to learn things quickly. However, some of these people say, “if you don’t know the math, you should be fine”. Others say, “it’s better you learn it quickly… that way you can ship quickly.” As an avid learner and educator, these quotes are all red flags for me. I cannot begin to imagine the long-term negative effect on the learner.
In our machine learning community alone, there are new online courses and revamping of online courses almost every month. Nothing is wrong with that. For as long as they are free, we shouldn’t be complaining. And we shouldn’t take away anything from the effort and time these educators are investing. I thank them and we should all appreciate their efforts.
I mostly question the pedagogical approach used for delivering these online courses. I have observed that many of the new online ML courses are cleverly designed — in a modular and pragmatic way — to make you feel like you are making quick progress. They are designed to reward you instantly. Here lies the problem with this type of teaching and why this is bad for us learners.
If you are learning a bit of everything (the modular way I am referring to), that’s progress, so there is no question that these courses are effective in that regard. But is this the right way to teach or learn something as complex as machine learning? I believe not. There should be a lot more emphasis on structure and organization. For instance, where does the math fit in all of this? Instead of just ignoring it and telling students it is not important, we should work on better ways to teach and incorporate it into the ML curriculums. This is just one case, there are many other cases like this.
All I am talking about here is the lack of a proper curriculum to teach machine learning online. If you end up taking an online ML course, over and over again, that strengthens my argument. It means you were not taught the proper way, it should never mean that you are a poor or slow learner. If you feel like the latter, it means you have been cheated.
No one likes to talk about this in our community, but it seems that there is a lot that needs to be done in the area of curriculum development, and that’s the case for a lot of fields in computer science. It's not a bad thing, it means there is more opportunity to make amends and teach things the right way. Effective teaching and learning have always been that way. That is why there are theories like cognitivism and constructivism which provide the proper guidelines for effective teaching and learning. I feel that most online machine learning courses today focus on modularity, and a lot less on the organization or structure of the course, which is a very strange way to design a course.
I have a background in teaching. In fact, my first job was developing a curriculum to teach the elder and kids. One thing I learned from that experience was that the curriculum was the most important aspect of the course. If the curriculum was flawed, it didn’t matter how much I taught, what I taught, and what method I used to teach. Learners just didn’t learn.
Over the years in academia, I was mostly interested in courses that had a strong syllabus because deep down I knew that I could learn something. It was a great decision for many reasons. It gave me confidence and courage. These are very important things for a student to be able to learn efficiently. I could care less about speed, I just wanted to learn. Simply put it, there is no best way to teach or learn. But the best way to learn is to organize your lessons and be patient when learning. Read the handouts, read the assigned papers and chapters. Spend more time understanding the background in order to master another higher-level topic. It doesn’t work the other way around. As a student, you should be aware of this. But this is exactly what most online ML courses get wrong today — poor curriculum, more content.
This is not to criticize any course or instructor, it just feels like we need to take a step back as responsible educators and make sure we spend more time organizing and properly structuring our online ML courses. It’s not about how much material we can prepare or how fast we can deliver it. It’s more than that. It’s about spending time organizing the courses well and avoiding those quick shortcuts. This is bad for the learner and it’s bad for our community. Learning has never worked that way. Let’s be fair to our students. They are spending valuable time and they deserve to be taught the proper way.
In the end, both educators and students are all eager to learn. We deserve each other. Given that, we should care about making proper progress. Learners need to learn responsibly, including taking the necessary time and steps to learn the fundamentals and acquiring the necessary background knowledge. Educators need to strengthen those curriculums and worry less about how often they are releasing material or how much content they are releasing.
I ask again, “Is there a right way to learn about machine learning online?” There is! As a responsible and patient learner, spend more time organizing your notes, reviewing handouts, completing the programming exercises on your own, and reading plenty of papers. In fact, just go ahead and build your own study plan or curriculum if needs be — something you are comfortable with. Don’t wait for someone to build a curriculum for you, if you need it to be personalized just design it yourself and if it works for you, then share it with the rest of us. Just understand one thing: learning is not about speed, it’s mostly about levels and effectiveness. This is so because you will always be learning and we want to make sure it is done the proper way.
To be clear, I don’t write this to bash anyone. I write this because I care about the learners and the machine learning community in general.