CS486/686 - Assignments
There will be four assignments given the course, each worth 10% of
the
final mark (7% for CS686). Each assignment will have a theoretical part
and
a programming part. Assignments are done individually (i.e., no
team). You are free to program in the language of
your choice, however Matlab is recommended since it provides a
convenient high-level programming environment for matrix
operations. If you decide to program in
Matlab, the IST group maintains a nice set of online references for Matlab including a
tutorial.
The approximate out and due
dates
are:
- A1: out Jan 5, due Jan 24
- A2: out Jan 24, due Feb 14
- A3: out Feb 14, due Mar 13
- A4: out Mar 13, due Mar 29
On the due date
of an assignment, the work done to date should be submitted at the
beginning of class; further material may be submitted for half credit
within 24 hours. Assignments submitted more than 24 hours late
will
not be marked.
NB: Unclaimed assignments can be picked up at Jessica Miranda's
office (DC3516) between 8:30-12 and 1-4:30pm.
Assignment
1: due Jan 24
- Click here for the assignment
- Click here for the test problems
- Mirza Omer Beg (mbeg [at] cs
[dot]
uwaterloo [dot] ca) is the TA in charge of Assignment 1. He will
hold special office hours on Jan 20,
9-11 am in the AI lab (DC2306C).
- Mirza
Omer
Beg
will
hold special
office hourse on Feb 2, 10-11 am in DC2519 to answer questions about
the assignment solutions and marking scheme.
Assignment 2: due Feb 14
- Click here for the assignment.
- Arthur Carvalho (a3carval [at] cs [dot]
uwaterloo [dot] ca) is the TA in charge of Assignment 2. He will
hold special office hours on Feb 10,
9-11 am in the AI lab (DC2306C).
Assignment 3: due Mar 13
- Click here
for the assignment
- Train and test your algorithms with a subset of the 20 newsgroup
dataset. More precisely, you will use the documents posted on
the alt.atheism
and comp.graphics
newsgroup. To save you the trouble of writing a parser for
arbitrary text, I converted the relevant documents to a simple encoding
(files below). Each line of the files trainData.txt
and testData.txt
are formatted "docId
wordId" which indicates that word wordId is
present in document docId.
The
files
trainLabel.txt
and testLabel.txt
indicate the label/category (1=alt.atheism
or 2=comp.graphics)
for
each
document
(docId
=
line#). The file words.txt
indicates which word corresponds to each wordId
(denoted by the line#). If you are using Matlab, the file loadScript.m
provides a simple script to load the files into appropriate
matrices. At the Matlab prompt, just type "loadScript" to execute
the script. Feel free to use any other language and to build your
own parser if you prefer.
- Arthur Carvalho (a3carval [at] cs [dot]
uwaterloo [dot] ca) is the TA in charge of Assignment 3. He will
hold special office hours on March 9,
9-11 am in the AI lab (DC2306C).
Assignment 4: due Mar 29
- Click here
for the assignment
- Pan Pan Cheng (ppcheng [at] cs [dot]
uwaterloo [dot] ca) is the TA in charge of Assignment 4. He will
hold special office hours on March
26, 9-11 am in the AI lab (DC2306C).