# Assignments

- Assignment 1
(ps),
(pdf),
Due Jan. 30, Solution
(ps),
(pdf),
- 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)
- Assignment 3
(ps),
(pdf),
NEW DUE DATE: March 8 (no late h/w accepted!)

Solutions
(ps),
(pdf),
solution files
- 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
- Assignment 5 DUE April 17, Solutions
(ps),
(pdf)
- 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;