This isn't a course that hands you everything. It's a map. The real teaching is done by the best free resources on the internet. I just put them in the right order and explain the ideas in plain language first.
No jargon for the sake of it. Every hard concept gets a simple version before anything else. And one thing matters more than any video: you have to do it yourself.
Due to my busy work schedule, my progress on a detailed intuitive explanation with images will be slow, but it will be rolling release! In the meantime, try to get a headstart here and I will do my best to deliver a straight forward and beginner-friendly e-book :3
The real thing a degree gives you isn't the facts. It's the ability to teach yourself anything, for the rest of your life.
This field never stops moving. What's cutting-edge now will be ordinary in a year, so staying current isn't optional, it's the job. Learning how to learn on your own is the one skill that never goes out of date.
And this is free because I learned everything for free. Every resource on this page is one I actually used. If it was free for me, it should be free for you too. No paywall, no catch.
The order is deliberate. Maths first, because everything later is built on it. Then data science and machine learning, where those maths ideas turn into working predictions. Then deep learning, which is the same ideas stacked higher. Skipping ahead feels faster but it's how people get stuck, ending up copying code they can't debug.
You don't need equal amounts of each. In practice the maths that earns its keep is roughly half statistics and probability, a third linear algebra, and a smaller slice of calculus. So don't burn months on calculus before you've touched a dataset.
The language underneath everything. Start with statistics and basic algebra, build up gradually. You'll come back here often, and that's normal.
Where maths meets real data. Learn to clean it, ask questions of it, and let a machine find the patterns. This is most of the actual job.
The same machine-learning idea, stacked into layers. Neurons, then the famous models: vision, language, sequences. Powerful, but built on what came before.
An autodidact is just someone who teaches themselves. It sounds intense, but it's a habit, not a talent: read or watch a little, then immediately try it with your own hands before moving on.
This is the habit that carries you through a whole career, not just this course. New models and tools arrive constantly, and nobody hands you a class for each one. The people who last are the ones who can pick up something new on their own, again and again.
Watching someone else solve a problem feels like learning, but the understanding doesn't stick until you get stuck and work your way out. Every resource below is something to use actively. Pause the video and code along, redo the maths on paper, break the example and fix it. The struggle is the part that teaches. If a section feels too hard, drop back one level rather than pushing through confused.
Don't do these one at a time, front to back. Run them in parallel and build up together. Khan Academy is the spine here because it starts gently and never assumes you remember the last thing. The plan below is the exact order to climb.
Read: Why you need to understand the maths behind ML (intuitive understanding)The most useful maths for this whole field, and the one beginners skip. It's how you describe data, measure uncertainty, and tell a real pattern from random noise. Begin it alongside Algebra 2, since it doesn't need heavy maths to start.
Bring this in at step 03, next to Calculus 1. It's the maths of vectors and matrices, and since data is stored as grids of numbers, this is how data physically moves through every model.
The smallest slice of the three, so don't let it intimidate you or eat your whole schedule. Climb Pre-calc → Calc 1 → Calc 2. You mainly need the core idea behind how a model improves itself, not every technique.
This is where most of the real work happens. Surprisingly little of the job is inventing clever algorithms. Most of it is getting data, cleaning it, and applying tools that already exist. Learn it in this order.
Read: Guide to learning how to code in the sea of vibecodersPython is the language of this whole field. SQL is how you pull data out of databases. Beginners skip it and regret it, because almost every real job touches it. Learn enough Python to be comfortable, then add SQL.
The unglamorous skill that quietly decides everything. Real data is messy: missing values, typos, wrong formats. A model fed bad data gives bad answers, no matter how fancy it is.
Here's the secret that makes all of it click, and it's worth reading twice. A machine learning model is just a maths function. Numbers go in, a prediction comes out. "Training" is nothing more than searching for the version of that function that fits your data best.
How important each input is. You can't change the inputs themselves, but you can change how much each one counts. An input multiplied by 5 matters far more than one multiplied by 1.
A baseline that shifts the whole result up or down. It lets the formula start from the right place before the inputs adjust it.
Models affect real people. They can inherit bias from their data and make unfair decisions at scale. Knowing how to spot and reduce that harm is part of doing this work responsibly, not an optional extra.
A model sitting in a notebook on your laptop isn't finished. It has to run reliably for real users, and keep working as data grows and changes. This is the skill that separates a hobby project from an engineer's work, so it's worth touching even early.
One idea unlocks this entire section, so sit with it before any model name. You already know a machine learning model is just a maths function. Deep learning is what happens when you stack many of those functions on top of each other, so the output of one becomes the input of the next, layer after layer.
Stacking lets the model learn patterns far too complicated for a single formula. That's the whole trick. Everything famous, from the vision models to the language models, is this same idea arranged in different shapes.
Learn these before any specific model. They're the building blocks every deep learning system shares, and they're simpler than they sound.
One tiny maths function: it takes inputs, multiplies each by a weight, adds a bias, and passes on a single number. That's all a neuron is.
A small step that lets the network bend and curve instead of only drawing straight lines, so it can learn complicated patterns.
Neurons lined up side by side, then stacked. The output of one layer feeds the next: functions feeding functions.
How the network learns from mistakes: it traces the error backwards and nudges every weight a little in the direction that reduces it. Repeat millions of times.
The models that see. They're built for images, where what matters is the pattern in a patch of nearby pixels: an edge, a corner, eventually a face.
Models for data where order matters: text, speech, time series. They read one step at a time and carry a little memory of what came before.
The architecture behind modern language models and most of today's AI. Instead of reading strictly step by step, a transformer looks at all the words at once and learns which ones to pay attention to.
Large language models like ChatGPT and Claude are the tools you'll actually reach for every day, both to learn faster and to build things. Used well, an LLM is like a patient tutor who never gets tired of your questions. Used badly, it quietly teaches you wrong things. And you'll be surprised to know that most apps with built in chatbots are just LLM wrappers with a prompt thrown at it to take the role of the platforms help bot lol
The skill isn't just typing a question. It's knowing how to ask, how to check the answer, and how to plug a model into your own code. Learn it last, on purpose, because it's most useful once you understand enough to spot when the model is wrong.
The fastest way to get unstuck. Paste an error, ask it to explain a concept five different ways, or have it quiz you. But it can sound confident and still be wrong, so treat every answer as a smart friend's guess, not gospel.
Just a fancy name for asking clearly. The model can only work with what you give it, so the more specific you are about the goal, the format, and any examples, the better the answer. This is a real, learnable skill that makes everything else easier.
This is how you go from chatting in a browser to building your own apps powered by a model. An API is just a way for your code to send a message to the model and get a reply back, the same conversation, but done in Python instead of a chat box.
I built this because everything I learned, I learned for free. There's no paywall coming, and you never have to give a thing to use any of it.
But if it helped you, and only if you can comfortably spare it, a small tip helps me keep making free things and keeps learning accessible for the next person. Completely optional. No pressure, no hard feelings.
You don't need to finish every resource before you start making things. Learn a little, build a small project, get stuck, look it up, keep going. That loop, not any single course, is what turns you into someone who can do this. Questions, or want to share what you've built?