| Date |
Topic |
Reading |
Items due |
week 1 (Mon: 08/24)
|
Introduction to Machine Learning
Lecture Slides 1
|
|
|
week 1 (Wed: 08/26)
|
Google Colab and Python Review
Day02 Notes: Google Colab + Python Refresher
Day02 Notes: Pandas Introduction
Lecture Slides 2
|
Reading: |
In-class activity#0 (due on 08/29) |
week 2 (Mon: 08/31)
|
Pandas Tutorial
Day03 Notes: Pandas Tutorial (continue)
Day03 Notes: Pandas Practice
Lecture Slides 3
|
Reading: |
|
week 2 (Wed: 09/02)
|
Missing Data
Day05 Notes: Handling Missing Data
Lecture Slides 5
Notebook#1 (released on 09/02)
|
Reading:
isna()
notna()
any()
value_counts()
dropna()
fillna()
|
|
week 3 (Mon: 09/07)
|
Labor Day (university holiday; classes do not meet)
|
|
|
week 3 (Wed: 09/09)
|
k-Nearest Neighbor (kNN)
Day06 Notes: k-Nearest Neighbor using Pandas Library
Lecture Slides 6
|
Reading:
The relationship ML and other fields
|
Notebook#1 (due on 09/09) |
week 4 (Mon: 09/14)
|
Introduction to Scikit-learn Library
kNN code using Scikit-learn Library (more efficient)
Day07 Notes: kNN code with scikit-learn
Lecture Slides 7
Notebook#2 (released on 09/14)
|
Reading:
sklearn
sklearn::KNeighborsClassifier
sklearn::KNeighborsRegressor
|
|
week 4 (Wed: 09/16)
|
Data Normalization
Day08 Notes: Data Normalization
Lecture Slides 8
|
Reading:
sklearn: standard scalar
|
In-class activity#1 kNN using scikit-learn (due on 09/28)
|
Week 5 (Mon: 09/21)
|
Weighted k-NN
Graph Plot
Cross-validation Discussion
Day09 Notes: Weighted k-NN code using sklearn
Day09 Notes: Graph Plot (take home activity due by 09/25)
Lecture Slides 9
|
Reading:
matplotlib: Pyplot
|
Notebook#2 (due on 09/21)
|
week 5 (Wed: 09/23)
|
Evaluation Metrics (Accuracy, Confusion Matrix, MAE, MSE, R2)
Evaluation Metrics on kNN Regression Coding Activity
Day10 Notes: Evaluation Metrics and Testing
Lecture Slides 10
Notebook#3 (released on 09/23)
|
Reading:
sklearn.metrics: accuracy_score
sklearn.metrics: confusion_matrix
sklearn.metrics: mean_absolute_error
sklearn.metrics: mean_squared_error
|
In-class activity#2 Graph Plot (due on 09/25)
|
week 6 (Mon: 09/28)
|
Introduction to Decision Trees
Decision trees and Entropy Calculation
Paper-based in-class Activity on Decision Trees
Day10 Notes: Entropy Calculation for Decision Trees
Lecture Slides 11
|
Reading:
|
|
week 6 (Wed: 09/30)
|
Decision Tree code using Scikit-learn Library
Day12 Notes: Decision tree code using Scikit-learn
Day12 Notes: More practice exercises using Scikit-learn
Lecture Slides 12
Notebook#4 (released on 09/30)
|
Reading:
sklearn: Decision Tree classifier
sklearn: train and test split
sklearn: evaluation metrics
sklearn: confusion matrix
|
Notebook#3 (due on 09/30)
In-class activity#3 Entropy Calculation for DT (due on 10/05)
|
week 7 (Mon: 10/05)
|
Random Forest
Day13 Notes: Random Forest
Lecture Slides 13
|
Reading:
sklearn: Random Forest Classifier
sklearn: Random Forest Regressor
Random Forests: Leo Breiman and Adele Cutler
Application of Random Forest: A Computer Vision paper
|
|
week 7 (Wed: 10/07)
|
Project#1 (released on Blackboard 03/23)
Day14 Notes: Project#1
Midterm Exam (in-class exam released on Blackboard)
|
|
Notebook#4 (due on 10/07)
|
week 8 (Mon: 10/12)
|
Fall Break (classes do not meet)
|
|
|
week 8 (Wed: 10/14)
|
Linear Classifiers
Perceptron
Lecture Slides 15
|
Reading:
|
|
week 9 (Mon: 10/19)
|
Perceptron (continued)
Perceptron Learning Algorithm
Lecture Slides 16
In-class activity (linear model, perceptron)#4
Day16 Notes: Perceptron Code (optional)
|
Reading:
The Perceptron: A Perceiving and Recognizing Automaton (Rosenblatt - 1957)
|
In-class activity#4 Linear Models (due on 10/19)
|
week 9 (Wed: 10/21)
|
Introduction to Neural Networks
Neuron Model and General Weight Learning Algorithm
Multilayer Perceptron (MLP)
Lecture Slides 18
|
Reading:
Multilayer Perceptron (MLP)
The Backpropgation Algorithm (Rumelhart-1985)
|
Project#1 (due by 10/21)
|
week 10 (Mon: 10/26)
|
PyTorch Basics
Lecture Slides 19
Day20 Notes: PyTorch Basics in-class activity
|
Reading:
PyTorch
PyTorch: matmul()
PyTorch: transpose()
PyTorch: nn.Linear()
PyTorch: nn.Sigmoid()
PyTorch: nn.ReLU()
|
|
week 10 (Wed: 10/28)
|
MLP Code using PyTorch
Lecture Slides 20
Day 21 Notes: PyTorch's Useful Functions for MLP
|
Reading:
PyTorch: nn.Flatten()
|
In-class activity#5 PyTorch Basics (due on 10/24)
|
Week 11 (Mon: 11/02)
|
MLP: Multilayer Perceptron (Modular PyTorch Implementation)
Training an MLP using PyTorch (Discussion/lecture)
Lecture Slides 21
Day 22 Notes: Building Modular MLP with PyTorch
|
Reading:
PyTorch: nn.Softmax()
PyTorch: nn.CrossEntropyLoss()
PyTorch: nn.MSELoss()
PyTorch: optim.SGD()
PyTorch: optim.ADAM()
PyTorch: optim.RMSprop()
PyTorch: torchvision.datasets
|
|
Week 11 (Wed: 11/04)
|
Training an MLP using PyTorch (implementation/coding)
Lecture Slides 22
Day 23 Notes: Training MLP using PyTorch
Notebook #5 (Released on 11/04)
|
|
|
Week 12 (Mon: 11/09)
|
Convolutional Neural Network (CNN)
Lecture Slides 23 [pdf] [powerpoint]
|
Reading:
Popular CNN: AlexNet (Krizevsky-2012)
Popular CNN: VGGNet (Simonyan-2015)
Popular CNN: ResNet (He-2015)
|
In-class activity#6 Convolution and Tensor Size (due on 11/09)
|
Week 12 (Wed: 11/11)
|
Convolutional Neural Network (CNN) (implementation/coding)
Lecture Slides 24
Day 25 Notes: Building Simple CNN using PyTorch
Day 25 Notes: Training Simple CNN using PyTorch
|
Reading:
Earliest CNN: LeNet (LeCunn-1988)
PyTorch: nn.Conv2d()
PyTorch: nn.Flatten()
PyTorch: nn.MaxPool2d()
PyTorch: nn.AvgPool2d()
|
|
Week 13 (Mon: 11/16)
|
Fine-tuning vs. Training
Fine-tuning CNNs
Lecture Slides 25
Day 26 Notes: Fine-tuning CNN using PyTorch
Project#2 (released on Blackboard 11/16)
|
Reading:
|
Notebook #5 (due on 11/16)
|
Week 13 (Wed: 11/18)
|
Recurrent Neural Network (RNN)
Lecture Slides 26a
Transformer
Lecture Slides 26b
|
Reading:
RNN: Serial Order (Jordan-1986)
Finding Structure in Time (Elman-1990)
LSTM: Long Short-Term Memory (Hochreiter-1997)
GRU: Gated Recurrent Unit (Hochreiter-2014)
The Unreasonable Effectiveness of Recurrent Neural Networks (RNNs)
Transformer: Attention is All You Need (2017)
The Illustrated Transformer
Harvard University NLP: The Annotated
LSTM is dead. Long Live Transformers! - Paul Dirac talk
Transformer by Hand - Anna Rahn 5 min video tutorial
|
extended deadline
|
Week 14 (Mon: 11/23)
|
Large Language Model (LLM)
LLM Application for NLP Tasks using PyTorch
Lecture Slides 27
Day 27 Notes: LLM for sentiment classification
Day 27 Notes: LLM for paraphrase detection
Day 27 Notes: LLM for question answering
|
Reading:
GPT-1 (100M parameters) - Radford et al. 2018 (OpenAI)
BERT (300M parameters) - Devlin et al. 2018
GPT-2 (1.5B parameters) - Radford et al. 2019 (OpenAI)
Megatron-LM (8.0B parameters) - Shoeybi et al. 2019 (NVidia)
T5 (11.0B parameters) - Raffel et al. 2020 (Google)
T-NLG (17.0B parameters) - Microsoft Corporation 2020 (Microsoft)
GPT-3 (175.0B parameters) - Brown et al. 2020 (OpenAI)
ChatGPT (1.5B parameters) - OpenAI 2022 (OpenAI)
Sparks of Artificial General Intelligence: Early experiments with GPT-4 - MSFR'23
Dissociating language and thought in large language models-2024
OpenAI-o1 - 2024 (OpenAI)
Is OpenAI-o1 reasoning? (ML Street Talk'24)
DeepSeek 2025 (China)
Qwen 2.5-Max 2025 (Ali Baba@China)
World Model (Jurgen Schmidhuber@NeurIPS'18)
LoRA: Low-Rank Adaptation of Large Language Models (ICLR'22)
|
|
week 14 (Wed: 11/25)
|
Thanksgiving Break (classes do not meet)
|
|
|
Week 15 (Mon: 11/30)
|
DayXX Notes: Dimensionality Reduction Techniques
Principle Component Analysis (PCA)
Lecture Slides XX
|
Reading:
sklearn: Principle Component Analysis (PCA)
sklearn: Feature Selection: SelectKBest
|
Project#2 (due by 11/30)
|
Week 15 (Wed: 12/02)
|
Optimization: Gradient Descent (GD), Stochastic Gradient Descent (SGD)
DayXX Notes: Loss Surface Visualization
DayXX Notes: Stochastic Gradient Descent (code)
Lecture Slides XX
Course Evaluation
|
Reading:
An overview of gradient descent optimization algorithms - Sebastian Ruder
|
|
Week 16 (Monday: 12/07)
|
Final exam (consolidated for both sections)
Monday, December 7th at 4:00 pm – 5:50 pm
SCB 0101
|
Reading:
|
In-class activity#7 LLMs (due on 12/07)
Final Exam (due by 12/07 Monday)
|