Foundations of Machine Learning — Lecture 0

Course Introduction & Full Syllabus | Semester: Fall | Credits: 3
Instructor: Dr. S. Narendra
Email: surnam.narendra@woxsen.edu.in
Course Overview

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.

Prerequisites
  • Introductory calculus and linear algebra
  • Basic probability/statistics
  • Familiarity with Python (numpy/pandas)
Learning Outcomes
  • Apply linear algebra and probability to ML problems
  • Implement algorithms: linear/logistic regression, SVM, decision trees, clustering
  • Perform model evaluation and mitigation (cross-validation, regularization)
  • Read and interpret ML research at an introductory level
Week-by-week Syllabus
WeekTopicsIn-class / Lab
0Course introduction, syllabus, tools (Python, Jupyter), evaluationInstall + quick Python demo
1Linear algebra refresher (vectors, matrices, matrix operations)NumPy matrix ops
2Probability basics & distributionsProbability exercises
3Optimization & convexity; gradient descentImplement GD
4Linear regression; least squares; normal equationsLinear regression from scratch
5Logistic regression; binary classification; loss functionsClassification lab
6Regularization; bias-variance tradeoff; model selectionCross-validation lab
7Support Vector Machines & kernelsKernel demo
8Decision trees & ensemble methods (bagging, boosting)Random forest lab
9Unsupervised learning: k-means, hierarchical clustering, PCAPCA + clustering lab
10Neural nets basics; backpropagationSmall NN from scratch
11Model interpretability & fairness basicsCase studies
12Course wrap-up; student presentations; project demosFinal presentations
Assessment & Grading

Notes: Late policy — small penalty per day; academic honesty expected. Projects may be done in groups of up to 3.

Textbooks & Resources

Jupyter notebooks, starter code and datasets will be available on the course GitHub / LMS.

Getting started (Lecture 0 lab)
  1. Install Python 3.10+ and create a venv: python -m venv ml-venv && source ml-venv/bin/activate
  2. Install core packages: pip install numpy pandas matplotlib scikit-learn jupyterlab
  3. Open JupyterLab and run the starter notebook Lecture0_GettingStarted.ipynb
Jump to Syllabus