Homework and Exams




There will be seven homework assignments (a.k.a. labs, a.k.a. MPs, a.k.a. programming assignments), about one every other week. Homework will be mostly programming assignments, in python, using GradeScope's autograder tool. Almost all of the code will be written for you --- you'll only have to write one or two lines that actually implement all the math. Generally, those lines will look like equations --- so if you understand the equations, you will do well in the homework, and vice versa. Multiple submissions will be possible.

Philosophy: modern multimedia is all done using nonlinear prediction algorithms, trained using Deep Learning. Training a deep learning algorithm is way, way, way too computationally intensive for an autograder, so we will use two hacks: (1) we'll teach you the linear algorithms, on which the modern nonlinear algorithms are based, and (2) we'll sometimes (not very often, actually) ask you to test pre-trained nonlinear methods. These are the labs currently planned:

  1. Lab 1: Spectrograms. Due 9/6.
  2. Lab 2: Eigenfaces and DCT. Due 9/20.
  3. Lab 3: Image filters and features. Due 10/5.
  4. Lab 4: Linear Predictive speech synthesis. Due 10/18.
  5. Lab 5: Hidden Markov Model. Due 11/8.
  6. Lab 6: Video animation. Due 11/22.
  7. Lab 7: LSTM. Due 12/6.


There will be three exams. Exams will cover the material that's in the labs and lecture sample problems; other material covered in lectures will not appear on the exams. You can bring one page of notes, handwritten, front and back. Bring pencils and erasers. No calculators are permitted.


Cheating on a homework assignment will result in a zero for the assignment. Cheating on an exam will result in a zero for the exam. Two instances of cheating, in the same semester, will cause you to fail the course.

These things constitute cheating on a homework , and will result in a zero for the assignment:

These things DO NOT constitute cheating: