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 17
no class
Oct 19
no class
Oct 21
no class
02 Oct 24
introduction / administrivia 
[slides, handout]
Oct 26
recap 
[slides, handout]
Oct 28
Python intro 
[a0]
03 Oct 31
analysis of algorithms 
[slides, handout]
Nov 02
common algorithmic patterns 
[slides, handout]
Nov 04
lab 
[a1]
04 Nov 07
sorting 
[slides, handout]
Nov 09
sorting 
Nov 11
lab 
[a2]
05 Nov 14
trees 
[slides, handout]
Nov 16
heaps, priority queues 
[slides, handout]
Nov 18
lab 
[a3]
06 Nov 21
graphs: intro 
[slides, handout]
Nov 23
graphs: traversals 
[slides, handout]
Nov 25
lab 
[a4]
07 Nov 28
directed graphs 
[slides, handout]
Nov 30
shortest paths 
[slides, handout]
Dec 02
lab 
[a5]
08 Dec 05
graphs: MST 
[slides, handout]
Dec 07
maps / hashes 
[slides, handout]
Dec 09
lab 
[a6]
09 Dec 12
string matching 
[slides, handout]
Dec 14
string matching 
Dec 16
lab 
[a7]
10 Dec 19
edit distance 
[slides, handout]
Dec 21
tries 
[slides, handout]
Dec 23
No lab
Dec 26
Sem. break
Dec 28
Sem. break
Dec 30
Sem. break
Jan 02
Sem. break
Jan 04
Sem. break
Jan 06
Sem. break
11 Jan 09
FSA intro 
[slides, handout]
Jan 11
FSA determinization / minimization 
[slides-d, handout-d, slides-m, handout-m]
Jan 13
Lab canceled
12 Jan 16
FSA and regular languages 
[slides, handout]
Jan 18
FSTs 
[slides, handout]
Jan 20
lab 
[tutorial]
13 Jan 23
CFG Parsing: Intro 
[slides, handout]
Jan 25
CKY & Earley 
[slides-cky, handout-cky, slides-earley, handout-earley]
Jan 27
lab 
14 Jan 30
Dependency parsing 
[slides, handout]
Feb 01
Dependency parsing 
Feb 03
lab 
15 Feb 06
summary/project discussion 
Feb 08
exam discussion, Q&A 
Feb 10
exam