The course is taught in a sequence of units. Each unit takes between one and two weeks so that the entire class can be fit into a single semester. Most units currently have four or five components:
- Lecture Notes: These are slides accompanying the class lecture. They include code snippets from the demos.
- Lecture Videos: The lecture videos from previous semesters are available on Brightspace(Might not up-to-date).
- Whiteboard: MS OneNote
- Demo: These are python-based Jupyter notebooks for demonstrations given during the lectures. Some demos have a component that is done in class. The demos do not generally cover all topics, since some concepts are left for the students to figure out for themselves in the labs.
- Lab: Following the lecture, the students do a python-based exercise at home
that builds on the demo.
The labs in the repository are given as skeletons with
TODOmarkers that the students fill in. - Problems: These are more analytic problems, also done at home.
The problem and lab solutions are provided to students enrolled in the class. If you are an instructor and wish copies of the solutions for yourself, please contact Sundeep Rangan at srangan@nyu.edu.
-
Syllabus: Fall 2025
-
Setting up python and jupyter notebook
-
Setting up github
-
Introduction
- Course Admin [pdf] [Powerpoint]
-
Unit 1: What is machine learning?
- Lecture: Introduction to Machine Learning [pdf] [Powerpoint]
- Demo: Github
- Demo: Setting up the environment on a local machine
- Demo: Google Cloud Platform
- Demo: Python Tutorial
- Demo: Introduction to numpy vectors
- Demo: Overview of Google Colab
- Homework: Get familiar with Github/Google Colab. Please also review the Python tutorial and introduction to numpy, even if you are familiar with Python. Homework submission is not required.
-
Unit 2: Simple linear regression
- Lecture: Simple linear regression [pdf] [Powerpoint]
- Demo: Understanding automobile mpg
- Whiteboard: MS OneNote
- Homework (Due on Sept 17, 23:59 PM ET, accept until 8AM next day)
- Problem: [pdf]
- Lab: Boston housing data (submit both .ipynb and .pdf files)
-
Unit 3: Multiple linear regression
- Lecture: Multiple linear regression [pdf] [Powerpoint]
- Demo 1: Predicting glucose levels
- Demo 2: Python broadcasting(Optional)
- Whiteboard: MS OneNote
- In-class Exercise: Linear regression
- Homework (Due on on Sept 24, 23:59 PM ET)
- Lab: Calibrating robot dynamics
- Problems [pdf]
-
Unit 4: Model selection
- Lecture: Model selection [pdf] [Powerpoint]
- Demo 1: Polynomial order selection with cross-validation
- Demo 2: Feature transforms and model validation(Optional)
- Homework (Due on Oct 1, 23:59 PM ET)
- Lab: Neural decoding motor cortex signals
- Problems [pdf]
-
Unit 5: Regularization and LASSO
- Lecture: LASSO Regularization [pdf] [Powerpoint]
- Demo 1: Predicting prostate cancer
- Demo 2: Predicting housing prices
- Homework (Due on Oct 8, 23:59 PM ET)
- Lab: EEG source localization
- Problems [pdf] [Latex]
-
- Lecture: Linear classification and logistic regression [pdf] [Powerpoint]
- Demo: Breast cancer diagnosis via logistic regression
- Homework (Due on Oct 15, 11:59 PM ET, Tuesday)
- Lab: Genetic analysis of Down's syndrome in mice
- Problems: [pdf]
-
Unit 7: Nonlinear optimization
- Lecture: Nonlinear optimization and gradient descent [pdf] [Powerpoint]
- Demo 1: Computing gradients
- Demo 2: Simple gradient descent optimization
- Homework ( 🔔🔔🔔 Due on Oct 21, 23:59 PM ET (One day earlier)!!! Homework solution will be posted before 1AM Wednesday. No late homework accepted)
- Lab: Nonlinear least squares material modeling
- Problems: [pdf]
-
Midterm Exam
- 🔔🔔🔔 Midterm exam on Wednesday Oct 22 @5PM.
- Closebook exam, no electronic aids allowed.
- Two pages of cheat sheets allowed, you can write on both sides.
- 🔔🔔🔔 Midterm exam on Wednesday Oct 22 @5PM.
-
Unit 8: Support vector machines
- Lecture: SVM [pdf] [Powerpoint]
- Demo 1: MNIST digit classification
- Demo 2: Visualizing kernels
- Homework (Due on Nov 5, 23:59 PM ET)
- Lab: Extended MNIST with letters
- Problems: [pdf]
-
Unit 9: Neural networks with Keras and Tensorflow
- Lecture: Neural networks [pdf] [Powerpoint]
- Supplementary notes with solved problems [pdf] [Latex]
- Demo 1: First neural network in Keras
- Demo 2: MNIST neural network classification
- In-class:Exercise
- Homework (Due on Nov 12, 23:59 PM ET)
- Lab: Music instrument classification
- Problems: [pdf]
-
Unit 10: Convolutional and deep networks
- Lecture: Convolutional and deep networks [pdf] [Powerpoint]
- Setting up a GPU instance (Recommended)
- Demo 1: 2D convolutions and convolutional layers in keras
- Demo 2: Creating an image set using the Flickr API
- Demo 3: Exploring the deep VGG16 network
- Demo 4: Building an image classifier using CIFAR10 dataset
- Demo 5: Building an autoencoder for image denoising using CIFAR10 dataset
- Homework (Due on Nov 19, 23:59 PM ET)
- Lab: Transfer learning with a pre-trained network (GPU recommended)
- Problems: [pdf]
-
- Lecture: PCA [pdf] [Powerpoint]
- Demo 1: PCA eigen-faces-SVM
- Demo 2: Low-rank matrix completion via embedding layers
- Homework (Due on Dec 3, 23:59 PM ET)
- Lab: PCA with hyper-parameter optimization
- Problems: [pdf]
-
- Lecture: Clustering and EM [pdf] [Powerpoint]
- Demo 1: Document clustering via k-means and latent semantic analysis
- Demo 2: Color quantization via k-means and EM-GMM
- Homework (Due on Dec 10, 23:59 PM ET)
- Problems: [pdf]
-
Unit 13: Decision Trees and Random Forest
- Lecture: Decision tree and random foreast [pdf] [Powerpoint]
- Demo: Prediction of temperature using decision tree and random forest
- Homework (No submission, will NOT be graded)
- Homework [pdf]
-
Final Exam
- 🔔🔔🔔 Final Exam will be on Dec 17 @5PM. Focused on the topics taught after the midterm exam.
-
- Why a course project? It's for students who want to enhance their grades beyond just exams and homework. To earn a high grade, you must demonstrate substantial extra effort.
- Try to work on something original(new data, new applications), rather than relying on resources easily found online with code(such as Kaggle or a blog post). Try do identify and define your own problem. For example, you can take a look at NYC Open Data and find something interesting.
- Don't be too ambitious and train a large model.
- It is the student's responsibility to clearly outline their contribution.
- It's fine to use generative AI tools, but you must thoroughly understand every line of code and be able to explain it. * You have to clearly cite the sources you use for your work whether it is a blog post or github repository or a paper published. It is very important you don't miss any source you used. Plaese cite all source in the report.
- Put quotation marks at the beginning and end of all copied text.
- If any figure/table is copied, in the caption add "This figure/table is from reference [#]"
- At the end of your report, you have to attach a copy of your source code. At the top of the source code, add reference to the orginal source code file unless you write everything from scratch. You should not just pointing to the repo, you have to be show the URL of the current file you copied from.
- HIGHLIGHT all lines of code that you wrote yourself, or modified.
- Course project is OPTIONAL. It consists 20% of your total grade. If you choose not to do it, I will take the higher grade of your midterm and final exams, and use it for your project grade.
- Doing a project will never hurt your grade (assuming you didn't do any plagiarism on the project). If project grade is lower than your exams, we will use your exams for that 20% portion and not consider the project.
- Make sure you don't plagiarise. This class and NYU take plagiarism very seriously. If plagiarism is detected you will get a ZERO grade from the project. ( You can definitely use a blog post or a github repository as a starter code: Cite it, clearly write what is the difference of your work from the starter code and how did you contribute.)
- One or two students in a project group. One submission per team.
- 🔔🔔🔔 Project report is due on the Dec 23, 23:59 PM ET.
- Submit your code and report on Gradescope;
- If you worked in a team, make sure only submit one copy and link all names to the submission in Gradescope.
- Follow the submission guidelines listed here.
- Why a course project? It's for students who want to enhance their grades beyond just exams and homework. To earn a high grade, you must demonstrate substantial extra effort.
------Materials below are from previous semesters and might be updated before each class.------