Every so often it is worth reviewing something with no marketing budget, no funnel and no testimonials, and MIT's introductory machine learning course qualifies. It has carried a few identities over the years, taught on campus as 6.036 and now numbered 6.390, with free versions living across the Open Learning Library, OpenCourseWare and a public notes site, and that scattering is genuinely the most confusing thing about it. What sits underneath the numbering is a real undergraduate course, taught by faculty including Leslie Kaelbling, Tomas Lozano-Perez, Isaac Chuang and Duane Boning, released under a free licence with lecture notes, exercises and, in the Open Learning Library version, auto graded problems you can actually work through. The framing is set out plainly at the start, which is that this is machine learning from the point of view of modelling and prediction, covering how you formulate a learning problem, what representation means, and why overfitting and generalisation are the central tensions rather than incidental details.
That framing is the whole reason to take it. There is an enormous amount of free machine learning material now and the overwhelming majority of it teaches tools. You learn which function to call, which parameters to pass, which architecture to reach for, and you can become quite productive that way. What tools first material struggles to give you is the ability to reason about why something is not working, because that requires understanding what the algorithm is actually optimising and why it might optimise it badly on your data.
This course goes at that directly. You work through the mechanics rather than around them, the notes are written with real care, and the auto graded exercises mean you get told when you are wrong instead of nodding along to a video. The written notes deserve particular mention, because they are genuinely well constructed as prose, and they remain a useful reference long after the course is finished in a way that lecture recordings rarely do. The cost is that this is a demanding piece of work and it does not soften itself for you.
The mathematical prerequisites are real. You need to be comfortable with linear algebra, with multivariable calculus, and with basic probability, not in the sense of having once passed an exam but in the sense of being able to read a derivation without stalling. Someone arriving without that will find the course brutal, and the honest advice is to spend a couple of months on the mathematics first, using the Imperial specialisation or the Mathematics for Machine Learning book, rather than trying to absorb both at once. The presentation is also austere.
There is no charismatic instructor, no polished animation, and none of the pedagogical warmth that has made the popular online courses popular. It reads like what it is, a well constructed university course put online without being turned into a product. Some people find that clarifying and others find it airless, and you probably already know which you are. The other real limitation is scope.
This is not a course that will make you employable on its own. You will not build a portfolio, you will not learn a modern framework properly, and you will not deploy anything. It is the foundation layer, and it works best as the thing you do alongside or before the practical material rather than instead of it. There is also the versioning muddle.
The freely available releases are older than what is currently taught on campus, and the material is split across three sites with different interfaces, so a newcomer has to spend twenty minutes working out where to start. My 4.2 reflects a genuinely excellent, genuinely free undergraduate course whose deductions are all about fit rather than quality. If you want machine learning to be comprehensible rather than merely operable, and you are prepared to do mathematics, this is one of the best free routes there is. If you want to build something this month, it is the wrong course and you will abandon it.