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 12
no class
Oct 14
no class
Oct 16
no class
02 Oct 19
introduction / administrivia 
[slides, 8up]
Oct 21
recap 
[slides, 8up]
Oct 23
no lab 
03 Oct 26
analysis of algorithms 
[slides, 8up]
Oct 28
common algorithmic patterns 
[slides, 8up]
Oct 30
lab 
[slides]
04 Nov 02
sorting 
[slides, 8up]
Nov 04
trees 
[slides, 8up]
Nov 06
lab 
05 Nov 09
heaps, priority queues 
Nov 11
graphs: intro 
Nov 13
lab 
06 Nov 16
graphs: traversals 
Nov 18
directed graphs 
Nov 20
lab 
07 Nov 23
graphs: shortest paths 
Nov 25
graphs: MST 
Nov 27
lab 
08 Nov 30
maps / hashes 
Dec 02
string matching 
Dec 04
lab 
09 Dec 07
edit distance 
Dec 09
tries 
Dec 11
lab 
10 Dec 14
FSA intro 
Dec 16
FSA determinization / minimization 
Dec 18
lab 
11 Dec 21
FSA and regular languages 
Dec 23
FSTs 
Dec 26
sem. break
12 Dec 29
sem. break
Dec 31
sem. break
Jan 02
sem. break
13 Jan 04
sem. break
Jan 06
sem. break
Jan 08
lab 
14 Jan 11
recap 
Jan 14
Parsing: intro 
Jan 16
lab 
15 Jan 18
CKY & Earley 
Jan 20
Dependency Parsing 
Jan 22
lab 
16 Jan 25
Dependency Parsing 
Jan 27
Dependency Parsing 
Jan 29
lab 
17 Feb 01
Summary & QA 
Feb 03
Summary & QA 
Feb 05
exam