# Assignments

1. Assignment 1 (ps), (pdf), Due Jan. 30, Solution (ps), (pdf),
2. Assignment 2 (ps), (pdf), NEW DUE DATE: Feb. 20. Late assignments will not be accepted.
Two more problems were added on Feb. 13, handout available at 725 Soda.
Data for problem 3, and assorted suggestions. Solutions (ps), (pdf)
3. Assignment 3 (ps), (pdf), NEW DUE DATE: March 8 (no late h/w accepted!)
Solutions (ps), (pdf), solution files
4. Assignment 4 (ps), (pdf), NEW DUE DATE: April 10
R&N conver image, also in grayscale
training data for digits
Results of the contest
Serge's Digit Recognition page
Solutions
5. Assignment 5 DUE April 17, Solutions (ps), (pdf)
6. Assignment 6 NEW DUE DATE May 1 Solutions
```
Here's our provisional plan for assigning homework scores.

Essentially we normalize all the scores then drop the lowest
"unit" of HW for each student. Different assignments are worth
a different number of units, corresponding to our assessment
of their difficulties, as follows:
HW1 = 0.5 units; HW2 = 2.0 units; HW3 = 1.0 units
HW4 = 1.5 units; HW5 = 1.0 units; HW6 = 1.5 units.
So we drop either all of HW3, all of HW5, half of HW2, 2/3 of HW4,
2/3 of HW6, or all of HW1 and a chunk of the next lowest.

Here's the MATLAB code, which should clarify any questions you have.
% SCORES is 140 x 6, SCORES(i,j) = raw score of ith student on jth HW.
% This code computes TOTALSCORE, where TOTALSCORE(i) is the overall
% adjusted score of the ith student.
mu = mean(scores); sig = std(scores);
nscores = (scores-ones(size(scores))*diag(mu))*diag(1./sig);
for i=1:size(scores,1),
weights = [.5 2 1 1.5 1 1.5];
while sum(weights) > 6.5,
[dummy,ind] = min(nscores(i,:)+10000*(weights == 0));
weights(ind) = max(0, weights(ind)-sum(weights)+6.5); end;
totalscore(i)=weights*nscores(i,:)'; end;

```