This course introduces core mathematical and algorithmic foundations of machine learning. It balances theory (probability, linear algebra, optimization) with practical implementation (Python, model evaluation). By the end of the course students will be able to design, analyze and implement basic supervised and unsupervised learning algorithms and understand when to apply them.
| Week | Topics | In-class / Lab |
|---|---|---|
| 0 | Course introduction, syllabus, tools (Python, Jupyter), evaluation | Install + quick Python demo |
| 1 | Linear algebra refresher (vectors, matrices, matrix operations) | NumPy matrix ops |
| 2 | Probability basics & distributions | Probability exercises |
| 3 | Optimization & convexity; gradient descent | Implement GD |
| 4 | Linear regression; least squares; normal equations | Linear regression from scratch |
| 5 | Logistic regression; binary classification; loss functions | Classification lab |
| 6 | Regularization; bias-variance tradeoff; model selection | Cross-validation lab |
| 7 | Support Vector Machines & kernels | Kernel demo |
| 8 | Decision trees & ensemble methods (bagging, boosting) | Random forest lab |
| 9 | Unsupervised learning: k-means, hierarchical clustering, PCA | PCA + clustering lab |
| 10 | Neural nets basics; backpropagation | Small NN from scratch |
| 11 | Model interpretability & fairness basics | Case studies |
| 12 | Course wrap-up; student presentations; project demos | Final presentations |
Notes: Late policy — small penalty per day; academic honesty expected. Projects may be done in groups of up to 3.
Jupyter notebooks, starter code and datasets will be available on the course GitHub / LMS.
python -m venv ml-venv && source ml-venv/bin/activatepip install numpy pandas matplotlib scikit-learn jupyterlabLecture0_GettingStarted.ipynb