Brief summaries of programming assignments and what was done in each lab. Each entry below is a short 3–4 line summary derived from the lab report files included in the repository.
programming_assignment_1
- Early exercises and small practice scripts. Used to get comfortable with Python tooling and basic preprocessing tasks.
programming_assignment_2
- Focus: Decision trees and exploratory data analysis on the Titanic dataset. The report documents data cleaning, feature engineering, visualization (pairplots, barplots) and a from‑scratch decision tree implementation and evaluation.
programming_assignment_3
- Focus: Perceptron learning. The report explains the perceptron model, its update rule, and shows experiments with a synthetic 4D dataset (data generation, training, and convergence behaviour).
programming_assignment_4
- Focus: Linear Discriminant Analysis (LDA). The report contains a from‑scratch LDA implementation, derivation of within/between class scatter matrices, and analysis of projections for classification.
programming_assignment_5
- Focus: Unsupervised and supervised methods — image compression via K‑Means and classification via SVM. The report explains the K‑Means algorithm for color quantization and reviews SVM concepts, parameterization and experiments.
programming_assignment_6
- Focus: Neural networks on MNIST. The report documents dataset preparation (MNIST), a neural network model, training procedure, augmentations, and training/validation logs and plots.