Homeworks will be posted below on the day they are released.

Homework 1

The first homework covers intro topics on linear classification and neural networks.

Due Thurs February 2 by 11:59pm EST.

Homework 2

The second homework covers training fully connected nets, using different optimization strategies, and using batch normalization and dropout.

Due Friday February 24 by 11:59pm EST.

Homework 3

The third homework covers training convolutional neural networks.

Due Thurs March 9 by 11:59pm EST.

Homework 4

The fourth homework covers training recurrent neural nets and vizualizing CNN behavior.

Due Thurs March 30 by 11:59pm EST.

Late Submission Policy

Homework assignments maybe submitted after the announced deadline for a deduction of 10% of the total score achieved per late day up to 5 days. After 5 days, the homework will no longer be accepted for a grade unless the student can provide an administrative or medical excuse.

Reading summaries, paper presentations, and any deadlines for the final project will not be accepted after the posted deadlines.

Collaboration Policy

Programming is a creative process. Individuals must reach their own understanding of problems and discover paths to their solutions. During this time, discussions with friends and colleagues are encouraged—you will do much better in the course, and at Tufts, if you find people with whom you regularly discuss problems. But those discussions should take place in English, not in code. If you start communicating in code, you're breaking the rules.

When you reach the coding stage, therefore, group discussions are no longer appropriate. Each program, unless explicitly assigned as a pair or group problem, must be entirely your own work.

Pair and group assignments will be graded in large part on novelty, so copying from another group or third-party code base won't help you anyway.

Note on cheating

The homeworks have appeared with some alterations in other courses. Student answers to the homeworks may be available online. These answers may be wrong, or at least confusing. Assignments build on each other, so it is important to write and understand your own code. Submitted assignments will all be run through Tufts' plagiarism detection software.You are warned.