Links to the course material will be provided in the schedule below after each class. You may want to have a look at the previous edition of the course for reference.

The course schedule

Week Monday Wednesday Friday
01 Oct 21
introduction / administrivia 
[slides, 8up]
Oct 23
recap 
[slides, 8up]
Oct 25
lab 
[Assignment 0]
02 Oct 28
analysis of algorithms 
[slides, 8up]
Oct 30
common algorithmic patterns 
[slides, 8up]
Nov 01
no lab, public holiday 
[Assignment 1]
03 Nov 04
sorting 
[slides, 8up]
Nov 06
trees 
[slides, 8up]
Nov 08
lab 
[Assignment 2]
04 Nov 11
heaps, priority queues 
[slides, 8up]
Nov 13
graphs: intro 
[slides, 8up]
Nov 15
lab 
[Assignment 3]
05 Nov 18
graphs: traversals 
[slides, 8up]
Nov 20
directed graphs 
[slides, 8up]
Nov 22
lab 
[Assignment 4]
06 Nov 25
graphs: shortest paths 
[slides, 8up]
Nov 27
graphs: MST 
[slides, 8up]
Nov 29
lab 
[Assignment 5]
07 Dec 02
summary 
Dec 04
maps / hashes 
[slides, 8up]
Dec 06
lab 
[Assignment 6]
08 Dec 09
string matching 
[slides, 8up]
Dec 11
edit distance 
[slides, 8up]
Dec 13
lab 
09 Dec 16
tries 
[slides, 8up]
Dec 18
summary 
Dec 20
lab 
10 Dec 23
sem. break
Dec 25
sem. break
Dec 27
sem. break
11 Dec 30
sem. break
Jan 01
sem. break
Jan 03
sem. break
12 Jan 06
no class
Jan 08
FSA intro 
[slides, 8up]
Jan 10
lab 
13 Jan 13
FSA determinization / minimization 
[deterministation, deterministation-8up, minimization, minimization-8up]
Jan 15
FSA and regular languages 
[slides, 8up]
Jan 17
lab 
14 Jan 20
FSTs 
Jan 22
CFG Parsing: Intro 
Jan 24
lab 
15 Jan 27
CKY & Earley 
Jan 29
Dependency Parsing 
Jan 31
lab 
16 Feb 03
Dependency Parsing 
Feb 05
Summary & Q&A 
Feb 07
Exam