A Rant About Typical ML Learning Resources
Want to get notified about new posts? Join the mailing list and follow on X/Twitter.
A typical ML learning resource will either
- skip over it because it's hard to teach, or
- technically present it, but do it in such an unscaffolded way that the learner is asked to take impossibly large "bites" of knowledge, and allow the student to pass without having mastered it.
The “don’t ask, don’t tell” approach in (2) is effectively the same as skipping over it. The resource gives the perception of covering the material, but it’s just an illusion. The resource doesn’t hold the student accountable for demonstrating mastery of the material, and the student doesn’t hold the resource accountable for providing material that’s reasonably smooth to learn from. Both parties move on pretending the learning has happened, when in fact the emperor is wearing no clothes.
It’s so frustrating interacting with people who think they’re ML masters despite not actually having mastered the skills. They don’t know how to set up an SVM optimization problem, they don’t know how to carry out the backpropagation algorithm, they don’t even know how to actually fit a f*cking logistic regression beyond “from sklearn.linear_model import LogisticRegression, model = LogisticRegression(), model․fit(X, y)”.
But they passed some ML course that didn’t hold them accountable for actually learning these things, and now they wear that like a fake muscle suit. They look strong from a distance when all they have to do is boilerplate, but once they’re held accountable for lifting a heavy weight like debugging or adding customizations to get a model working in a nonstandard setting, they get stuck and the facade comes crumbling down.
Which is why we’re going to avoid that shit like the plague. Our ML course is going to be about optimizing real learning, not just the perception of it. It’s going to contain all this heavy math, and we’re going to hold our students accountable for actually solving problems, and we’re going to smoothly scaffold learners up to it because that’s what you have to do when you hold students accountable for learning, while giving them the freedom to leave at any time, and your very existence depends on their staying.
All the prerequisites are going to be fully mapped out at a level of granularity that’s never been done before. Not just the math prerequisites, but also the coding prerequisites. The ML course is going to contain about 30 coding projects, and students are going to be held accountable for completing every single one of them. And many students are going to be weak on basic programming logic, so we’re going to need to be able to detect and remediate knowledge gaps in coding prerequisites as well. Which are going to be covered in our upcoming Intro CS course.
Want to get notified about new posts? Join the mailing list and follow on X/Twitter.