School
From CBSE Class XII to AI/ML Engineer: A 3-Year Roadmap
A practical, year-by-year roadmap from CBSE Class XII to AI/ML engineer: Python and maths, ML projects, deep learning, and deployment over 3 years.
If you are finishing CBSE Class XII with Computer Science or Informatics Practices and you want to work in AI or machine learning, here is what I think you should actually do. Not what every roadmap says you should do, what I think genuinely works, based on watching students succeed and struggle in this space.
Three years is enough to go from a CBSE student who has done basic Python to someone who can build, deploy, and defend a real ML system. It requires real effort and real discipline, but it is achievable. Let me lay it out year by year.
A Note on Where You Are Starting
CBSE has added AI and data science content in recent years, partly driven by NEP 2020's push to integrate emerging technologies into school education. If you studied CS in Class XI and XII with CBSE's current Python syllabus, you already know: variables, data types, control structures, functions, file handling, basic pandas and matplotlib, and probably a little SQL. You may have touched on NumPy.
That is a solid starting point. It is not zero. The Class XII CS board paper now includes questions on data handling with pandas, which means you have at least encountered the tools that underpin data science work. What you do not have yet is: mathematical depth, model understanding, or the kind of project experience that makes someone employable.
This roadmap fills those gaps.
Year 1: Python Depth and Mathematical Foundation
This is the year most people underinvest in and regret later.
Python, Go Deeper Than the Syllabus
Your CBSE Python knowledge is functional but surface-level. In year one, you need to fill in the gaps:
- Object-Oriented Programming: Classes, inheritance, encapsulation, dunder methods. Most ML libraries are built on OOP and you will be confused if you cannot read a class definition fluently.
- NumPy: Arrays, vectorised operations, broadcasting, indexing and slicing. Do not just know that NumPy exists, be comfortable enough to write array operations without looking everything up.
- Pandas: Not just the basics from Class XII, groupby, merge/join, handling missing values, reshaping data. A huge fraction of real ML work is data cleaning and transformation.
- Matplotlib and Seaborn: Visualisation is how you understand your data before modelling. Build the habit of always visualising distributions, correlations, and outliers before you fit anything.
One resource I would recommend for Python depth: work through the problems on a platform like HackerRank or LeetCode (easy level) to sharpen your programming thinking. This also helps if you eventually sit GATE CS or placement coding tests.
Mathematics, This Is Non-Negotiable
AI/ML is applied mathematics. The earlier you accept this and engage with it seriously, the better your outcomes will be.
The mathematics you need, and the order to learn it:
Linear Algebra first: Vectors, matrices, matrix operations, dot products, eigenvalues and eigenvectors, SVD. These are not abstract, they are the language in which neural networks and dimensionality reduction are written. A free and excellent resource for this is Gilbert Strang's course from MIT OpenCourseWare.
Probability and Statistics next: Distributions (normal, Bernoulli, Poisson), conditional probability, Bayes' theorem, hypothesis testing, confidence intervals, correlation vs. causation. Most of machine learning is probabilistic reasoning at some level. You cannot understand what a model is doing if you do not understand probability.
Calculus, specifically differentiation: You do not need advanced integral calculus for ML. You do need to understand derivatives, partial derivatives, and the chain rule. Gradient descent, the engine that trains every neural network, is applied calculus. You do not need to derive it from scratch every time, but you need to understand what it is doing and why.
You are not going to learn all of this in a week. Budget 6 months of consistent study alongside your Python deepening. 1, 1.5 hours per day of focused mathematics is achievable alongside a degree programme if you start in the first semester.
End of Year 1 Goals
By the end of year one, you should be able to:
- Write a Python script that loads a CSV, cleans it, performs descriptive statistics, and produces 3, 4 meaningful visualisations, without referring to tutorials for basic syntax., Explain what a mean, variance, and normal distribution represent, and write code to compute them., Implement linear regression from scratch using NumPy (not scikit-learn) and understand what the parameter update is doing geometrically.
That last one is the benchmark. Linear regression from scratch, with working gradient descent. If you can do that, you have the foundation for everything that follows.
Year 2: Machine Learning Projects and Real Datasets
Year two is where most self-taught people start. They are starting too late, and that is fine, you are ahead of them because of year one. Now you turn that foundation into applied skill.
scikit-learn and the ML Toolkit
scikit-learn is the workhorse of practical ML. Learn it systematically:
- Supervised learning: linear and logistic regression, decision trees, random forests, gradient boosting (XGBoost is worth understanding specifically, it wins Kaggle competitions for structured data consistently)., Unsupervised learning: k-means clustering, PCA (principal component analysis, and now you understand why you learned eigenvalues)., Model evaluation: train/test splits, cross-validation, precision/recall/F1, ROC-AUC, confusion matrices., Data preprocessing: StandardScaler, OneHotEncoder, handling imbalanced classes.
Do not just learn the API. For every algorithm you learn, spend an hour on: what is this algorithm assuming about the data? What does it do poorly? When would I choose it over alternatives?
Kaggle, Do Not Skip This
Kaggle is a platform for ML competitions on real datasets. The competitions are not the point, the public notebooks are. When you join a competition (even an old, closed one), you can read what experienced practitioners did with the same data. This is free mentorship at scale.
My recommended approach:
- Start with the Titanic dataset (the beginner competition), not because it is impressive, but because the dataset is small, well-understood, and there are thousands of notebooks explaining different approaches. Replicate three different approaches and understand why they differ.
- Move to a moderately sized structured data competition. Spend 2, 3 weeks on it. Submit. Read the top-ranked solutions after.
- By mid-year-two, pick a domain you genuinely care about, health data, sports, education, agriculture, and find a relevant dataset from Kaggle or government open data portals. Build a project in that domain with a clear question and a clear answer.
The last point matters: a project with a clear question is far more impressive than a project that is "I trained a model on this dataset." What does the model predict? Who would use it? What did you find out?
Real Datasets, Government Open Data
Kaggle is good but homogeneous. India has excellent open data portals, data.gov.in has datasets on agriculture, health, transport, census, that no one outside India is working on. A project on, say, predicting crop yield from district-level government data is more distinctive in a portfolio than the 10,000th Iris classifier.
Distinctiveness matters in a crowded field.
End of Year 2 Goals
- A Kaggle profile with at least 3 submitted notebooks (scores are secondary, engagement is primary)., Two portfolio projects with documented questions, methodology, and findings, on GitHub with clear READMEs., Enough scikit-learn fluency that you can pick a new dataset and have a working baseline model within 2, 3 hours.
Year 3: Deep Learning, Real Deployment, and Internship
Year three is where you make the jump from "can do ML" to "can build and ship ML."
Deep Learning
Start with PyTorch over TensorFlow if you are new to both, the research community has moved significantly toward PyTorch, and its imperative (eager) execution model is easier to debug.
The sequence:
- Neural network basics, perceptrons, activation functions, forward and backward pass. Implement a two-layer network from scratch in NumPy before you use any framework.
- PyTorch fundamentals, tensors, autograd, defining a model with
nn.Module, writing a training loop, optimisers. - Convolutional neural networks (CNNs) for image data.
- Recurrent networks and transformers at a conceptual level, you do not need to implement a full transformer from scratch, but you should understand what attention is doing.
The fast.ai course (practical deep learning) is genuinely excellent for practitioners. It is top-down, it shows you working models first and explains the internals after. Pair it with the bottom-up understanding you built in years one and two and you will get significantly more from it than someone who skips foundations.
Deploy a Real Application
This is the step that separates people who understand ML from people who can build ML products.
Pick any model you have trained and deploy it as a web application. The stack I would recommend:
- FastAPI (Python) for the backend, it is simple and production-appropriate, A basic HTML/CSS/JavaScript frontend to send requests and display results, Hugging Face Spaces or Render for free deployment
The point is not a beautiful product. The point is going through the complete process: serialising your model, building an API around it, handling inputs and outputs, deploying to a server that is publicly accessible. This process will surface problems you never encountered in a Jupyter notebook, and solving those problems is what makes you an engineer rather than just a practitioner.
Internship Hunt
By the middle of year three, start applying. Not after you feel ready, you will never feel fully ready, and waiting is just delay.
What a good AI/ML internship application looks like at this stage:
- A GitHub profile with 3, 4 projects that have READMEs explaining what you did and why, At least one deployed project with a live link, A 1-page resume that lists specific tools (Python, PyTorch, scikit-learn, pandas, FastAPI, Git) and specific projects with results, A cover email that mentions one specific thing about the company's work and connects it to something you have built
Start with smaller companies, product startups, and research groups rather than going straight for large tech firms. The interview process is faster, the scope of work is broader, and the learning density is often higher.
The Role of NEP 2020 and AI in School CS
NEP 2020 has pushed for AI, data science, and coding to appear earlier in the school curriculum. CBSE's updated CTAI curriculum (Computational Thinking and Artificial Intelligence) for Classes 6, 8 introduces basic ML concepts, and the AI elective for Class XI/XII covers Python with AI applications including object detection examples.
What this means practically: if you are graduating Class XII in 2025 or 2026, you likely have more exposure to ML concepts than students from even three years ago. That is an advantage. Use it.
But also be clear-eyed: school-level AI content is conceptual and introductory. The gap between what CBSE prepares you to discuss and what an industry ML engineer does daily is still substantial. This roadmap is about closing that gap.
Does a B.Tech in CS Make You an AI/ML Engineer?
Honest answer: it helps, but it is not the mechanism people think it is.
A B.Tech in CS from a good institution gives you: structured exposure to core CS (algorithms, systems, mathematics) that self-study often misses, lab infrastructure, peer learning, some industry connections, and a degree credential that clears HR filters.
A B.Tech does not automatically give you ML expertise. I have interviewed B.Tech CS graduates from decent institutions who could not explain what a gradient is. I have also seen self-taught practitioners with strong GitHub profiles and Kaggle rankings who got ML internships without finishing a degree.
What matters in the AI/ML job market is demonstrated ability: projects you built, models you deployed, problems you solved. A B.Tech helps you build those things in a structured environment with support. It is not irreplaceable, but for most students, the structure and peer network of a good programme are genuinely valuable, especially in year one, when the mathematics is hard and self-discipline is tested.
My recommendation: do a B.Tech in CS or closely related programme if you can get into a reasonably good one. But do not treat it as the work, treat the roadmap above as the work, and use your B.Tech as infrastructure to do that work more effectively.
Three years from Class XII graduation, with consistent effort, you can be applying for ML engineer roles with a genuine portfolio. The people who get there are not the ones who found the perfect roadmap. They are the ones who started building and kept going.
Want to learn more?
Explore free chapter-wise notes with quizzes and code playground
Prefer watching over reading?
Subscribe for free.