Roughly speaking, the roadmap for a typical ML/AI student looks like this:<p>0) Learn the pre-requisites of math, CS, etc. That usually means calc 1-3, linear algebra, probability and statistics, fundamental cs topics like programming, OOP, data structures and algorithms, etc.<p>1) Elementary machine learning course, which covers all the classic methods.<p>2) Deep Learning, which covers the fundamental parts of DL. Note, though, this one changes fast.<p>From there, you kind of split between ML engineering, or ML research.<p>For ML engineering, you study more technical things that relate to the whole ML-pipeline. Big data, distributed computing, way more software engineering topics.<p>For ML research, you focus more on the science itself - which usually involves reading papers, learning topics which are relevant to your research. This usually means having enough technical skills to translate research papers into code, but not necessarily at a level that makes the code good enough to ship.<p>I'll echo what others have said, though, use to tools at hand to implement stuff. It is fun and helpful to implement things from scratch, for the learning, but it is easy to get extremely bogged down trying to implement every model out there.<p>When I tried to learn "practical" ML, I took some model, and tried to implement it in such a way that I could input data via some API, and get back the results. That came with some challenges:<p>- Data processing (typical ETL problem)<p>- Developing and hosting software (core software engineering problems)<p>- API development<p>And then you have the model itself, lots of work goes toward that alone.