Schedule#

The course schedule is updated regularly. Please check it frequently for the latest information.

Last update: (9/30/2024)

Week 1 (Mon, Aug 26 - Sun, Sep 1)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

No class

Lecture: Course Introduction and History of Deep Learning
What to learn: Understand course schedule and how you will be graded

Week 2 (Mon, Sep 2 - Sun, Sep 8)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Implementing a perceptron learning algorithm in Python
What to learn: Training a perceptron model

Lecture: Machine Learning classifier for supervised learning
What to learn: Logistic regression, loss function, intro to overfitting and ways to tackle it
What to submit (due Sep 6): (Bonus) Assignment 0 - example activity on HPC

Assignment 0 (assigned Sep 3; due Sep 7)

Week 3 (Mon, Sep 9 - Sun, Sep 15)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Data Preprocessing
What to learn: Building good training datasets, dealing with missing data, handling categorical data, partitioning training/test datasets, assessing feature importance

Lecture: Regularization
What to learn: regularization, problem complexity and feature importance

Readings for Sep 10 and Sep 12 Lectures: Raschka, Chap. 4

Week 4 (Mon, Sep 16 - Sun, Sep 22)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Model Evaluation and Hyperparameter Tuning
What to learn: Streamlining workflows, cross-validation, learning and validation curves, fine-tuning

Lecture: Developing a Multi-Layer Neural Network from Scratch
What to learn: forward propagation, training via backpropagation, convergence

Assignment 1 (assigned Sep 20; due Oct 3)
Readings for Sep 17 Lecture: Main concepts from Raschka, Chap. 6
Readings for Sep 19 Lecture: Based on Raschka, Chap. 11

Week 5 (Mon, Sep 23 - Sun, Sep 29)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Parallelizing a NN with PyTorch
What to learn: Manipulating tensors, DataLoader, model training, optimization

Lecture: PyTorch Computation Graphs
What to learn: Understanding computation graphs; creating a graph in PyTorch; computing gradients; understanding autodifferentiation.
What to submit (due Sep 29): Assignment 1 - Building a NN from Scratch

Readings for Sep 24 and 26 Lectures: Based on Raschka, Chap. 12; Chap. 13 pages 410-412, 415-417, 417-430, 436-439

Week 6 (Mon, Sep 30 - Sun, Oct 6)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Convolutional Neural Networks
What to learn: Understanding CNN and feature hierarchies, implementing a CNN

Lecture: Convolutional Neural Networks
What to learn: Hands-on with classification problems

Reminder Assignment 1 due Oct 3
Assignment 2 (assigned Oct 3; due Oct 22)
Readings for October 1 and 3 Lectures: Based on Raschka, Chap. 14

Week 7 (Mon, Oct 7 - Sun, Oct 13)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

No office hours

2:00pm-3:20pm

Lecture: Convolutional Neural Network
What to learn: Hands-on with classification problem

No lecture

Week 8 (Mon, Oct 14 - Sun, Oct 20)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: (Continue) CNN; intro to GradCAM
What to learn: practical understanding of GradCAM, case studies and applications

Lecture: GradCAM for explainability of CNN
What to learn: practical understanding of GradCAM, case studies and applications

Week 9 (Mon, Oct 21 - Sun, Oct 27)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Recurrent Neural Network
What to learn: modeling sequential data using RNN

Lecture: Recurrent Neural Network
What to learn: Building an RNN model

Reminder Assignment 2 due Oct 22
Readings for Oct 22 and Oct 24 Lectures: Raschka, Chap. 15

Week 10 (Mon, Oct 28 - Sun, Nov 3)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Introduction to Generative Adversarial Networks
What to learn: Implementing GAN from scratch

Lecture: Generative Adversarial Networks
What to learn: Training, implementing generator and discriminator networks

Assignment 3 (assigned Nov 3; due Nov 16)
Readings: Raschka, Chap. 17

Week 11 (Mon, Nov 4 - Sun, Nov 10)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

No lecture

Lecture: Convolutional and Wasserstein GAN
What to learn: WGAN, DCGAN

Readings: Raschka, Chap. 17

Week 12 (Mon, Nov 11 - Sun, Nov 17)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Graph Neural Networks
What to learn: Undirected graphs, directed graphs, understanding graph convolutions

Lecture: Graph Neural Networks
What to learn: Implementation of a GNN from scratch using Pytorch

Reminder Assignment 3 due Nov 16

Week 13 (Mon, Nov 18 - Sun, Nov 24)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Transfer Learning (tentative)

Lecture: Intro to Transformers (tentative)

Assignment 4 (assigned Nov 18; due Nov 28)

Week 14 (Mon, Nov 25 - Sun, Dec 1)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Intro to Transformers (tentative)

Lecture: Intro to Normalizing Flows (tentative)

Reminder Assignment 4 due Nov 28

Week 15 (Mon, Dec 2 - Sun, Dec 8)#

Time

Monday

Tuesday

Wednesday

Thursday

Friday

9:30am-11:30am

Office hours

2:00pm-3:20pm

Lecture: Intro to Normalizing Flows (tentative)

Lecture: Intro to Normalizing Flows (tentative); Recap

Final project due Dec 9
Exams / presentations - Dec 16-17