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 Sep 18, due Oct 4
- A2: out Oct 4, due Oct 23
- A3: out Oct 25, due Nov 13
- A4: out Nov 13, due Nov 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 during the instructor's
office hours (Wednesdays 10-11:30 am, DC2514).
Assignment
1: due Oct 4
- Click here
for the assignment
- Click here for the test
problems. The problems are taken from www.sebsudoku.com and
labeled "easy", "medium", "hard" and "evil" to reflect the category
that each problem is taken from. Note that it is not clear how
those labels are assigned and therefore they may not reflect the level
of difficulty encountered by search algorithms.
- Milad Khaki (mkhaki [at]
uwaterloo [dot] ca) is the TA in charge of Assignment 1. He will
hold special office hours on Oct 1,
9:30-11:30 am in the AI lab (DC2306C).
Assignment 2: due Oct 23
- Click here for the assignment
- Laleh Soltan Ghoraie (lsoltang [at] uwaterloo [dot] ca) is the TA
in charge of Assignment 2. She will
hold special office hours on Oct 19,
3-5pm in the AI lab (DC2306C).
Assignment 3: due Nov 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] uwaterloo [dot] ca) is the TA in
charge of Assignment 3. He will
hold special office hours on November
9, 3-5 pm in the AI lab (DC2306C).
- Arthur will hold special office
hours to answer questions about the marking and the assignment in
general on Wednesday Nov 21, 3-4pm in the AI lab (DC2306C).
Assignment 4: due Nov 29
- Click here
for the assignment
- Arthur Carvalho (a3carval [at] uwaterloo [dot] ca) is the TA in
charge of Assignment 4. He will
hold special office hours on November
26, 3-5 pm in the AI lab (DC2306C).