Mathematics and Machine Learning Foundations: worked example and design decisions | Complete Generative AI: From Foundations to Production
A self-paced 26-week learning path with 15 modules: AI foundations, Python, machine learning, transformers, LLMs, prompts, APIs, embeddings, RAG, frameworks, agents, customization, multimodal AI, Spring Boot with React, and production LLMOps. Includes 15 practical assignments and three portfolio projects.
Prerequisites: Begin with basic computer skills. Programming is introduced in Weeks 2–3. Use a local Python environment for coding labs; Java and React experience helps in Weeks 21–22. Model downloads, provider accounts and deployment resources are optional learner-managed dependencies. The 26-week schedule is suggested; reading estimates exclude independent project work.
Walk through an example
A text classifier converts documents into numeric features and fits a classifier using a scikit-learn Pipeline. Splitting before fitting TF-IDF avoids vocabulary leakage. Stratification helps retain labels in both subsets when the data supports it. The tiny dataset below demonstrates the workflow only; its score is not evidence of real-world accuracy. Build a larger labeled synthetic or consented dataset, inspect errors by class and report support counts with your metrics.
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report
x = ["write Python APIs", "build Java services", "develop backend tests",
"implement SQL services", "design visual assets", "draw brand icons",
"create page artwork", "produce graphic layouts"]
y = ["engineering"] * 4 + ["design"] * 4
x_train, x_test, y_train, y_test = train_test_split(
x, y, test_size=0.5, stratify=y, random_state=7)
model = make_pipeline(TfidfVectorizer(), LogisticRegression(random_state=7))
model.fit(x_train, y_train)
print(classification_report(y_test, model.predict(x_test), zero_division=0))
Expected behavior
A classification report with precision, recall, F1 and support. Scores depend on the dataset; no minimum accuracy is promised. Read the example before adapting it. The code is displayed for study and local use; the academy does not execute it or contact an AI provider.
Review the boundary
List the assumptions in this example and identify which inputs come from an untrusted caller. Change one assumption at a time and write the expected behavior before running a local experiment. Preserve both successful and failed cases in your project notes. A demonstration that works once does not establish accuracy, security or production readiness.
scikit-learn: training/test split
01. Introduction to Artificial Intelligence · Week 1
02. Python Programming for Gen AI · Weeks 2–3
03. Mathematics and Machine Learning Foundations · Week 4
04. Deep Learning and Transformers · Weeks 5–6
05. Large Language Models (LLMs) · Weeks 7–8
06. Prompt Engineering · Weeks 9–10
07. Generative AI APIs and Application Development · Week 11
08. Embeddings and Vector Databases · Weeks 12–13
09. Retrieval-Augmented Generation (RAG) · Weeks 14–15
10. LangChain, LlamaIndex and AI Frameworks · Week 16
11. AI Agents and Agentic AI · Weeks 17–18
12. Fine-Tuning and Model Customization · Week 19
13. Multimodal Generative AI · Week 20
14. Gen AI with Java Spring Boot and React · Weeks 21–22
15. Production Gen AI, LLMOps and Capstone · Weeks 23–26