All homework assignments consist of two parts, a written section (due Tuesdays) and a programming section (due Thursdays). The instructions for both sections are included in the assignment zip files.

Programming assignments will be distributed through svn. See the zip file for additional instructions.

All assignments are due at **11:59AM Central Time (Just before noon)**. See
syllabus for
more detailed schedule regarding due dates.

- Assignment 1: Introduction + Python — Design by Colin, Review by Yucheng
- Assignment 2: Linear Regression — Design by Raymond, Review by Jyoti
- Assignment 3: Binary Classification Design by Youjie, Review by Jyoti
- Assignment 4: Support Vector Machine — Design by Raymond, Review by Ishan
- Assignment 5: Multiclass Classification — Design by Yucheng, Review by Safa
- Assignment 6: Deep Neural Networks — Design by Safa, Review by Yuan-Ting
- Assignment 7: Structured Prediction — Design by Colin, Review by Yucheng
- Assignment 8: k-Means — Design by Jyoti, Review by Youjie
- Assignment 9: Gaussian Mixture Models — Design by Ishan, Review by Colin
- Assignment 10: Variational Autoencoder — Design by Yuan-Ting, Review by Raymond
- Assignment 11: Generative Adverserial Network — Design by Ishan, Review by Yuan-Ting
- Assignment 12: Q-learning — Design by Safa, Review by Youjie

- Assignment 1
- Assignment 2
- Assignment 3
- Assignment 4
- Assignment 5
- Assignment 6
- Assignment 7
- Assignment 8
- Assignment 9
- Assignment 10
- Assignment 11
- Assignment 12

**Written Section**:
Assignments **MUST** be typesetted in using the **provided template**;
Otherwise the submitted work will not be graded.

Written assignments are submitted through gradescope (self-enrollment code 96P5BZ). When submitting you will be asked to assign each problem to one or mutiple pages in your solution. Make sure you link the problem to the corresponding pages when submitting to avoid that your solution will not be graded.

**Programming Section**:

Programming assignments will be distributed in a svn repository.
We will grade the program that is **checked into** svn at **(11:59AM
Central Time)** on the due day.
Any updates after the deadline will not be graded.

Please take note of the running time when implementing the solution, we will terminate the autograder if the solution runs more than 5 times slower than our implementation.

Additionally, you are required to follow the pycodestyle coding convention. Failure to follow the style guide may result in deduction of points for the programming section.

We will report grades for both the written section and the programming section through Compass 2G.

- Feel free to discuss the assignments at the
**concept-level**with other students, no specifics. - All solutions should be written
**individually.** - Do not show other students your homework.
**(This includes Piazza. Do not post partial code or solutions.)** - Be sure to acknowledge references you used.
- Copying from other students / online sources or letting other students copy your work will result in a 0 for the assignment. A second attempt of cheating will result in grade F for the entire course.

Homework will not be accepted after the due date. The lowest scoring homework will be dropped.

- : The Not So Short Introduction to
- Python: Python Tutorial
- NumPy: NumPy User Guide
- NumPy: NumPy for Matlab users
- SVN: SVN Tutorial