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
Assignment 0 
[description]
02 Oct 28
analysis of algorithms 
[slides, 8up]
Oct 30
common algorithmic patterns 
Nov 01
no lab
03 Nov 04
sorting 
Nov 06
trees 
Nov 08
lab 
04 Nov 11
heaps, priority queues 
Nov 13
graphs: intro 
Nov 15
lab 
05 Nov 18
graphs: traversals 
Nov 20
directed graphs 
Nov 22
lab 
06 Nov 25
graphs: shortest paths 
Nov 27
graphs: MST 
Nov 29
lab 
07 Dec 02
summary 
Dec 04
maps / hashes 
Dec 06
lab 
08 Dec 09
string matching 
Dec 11
edit distance 
Dec 13
lab 
09 Dec 16
tries 
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
FSA intro 
Jan 08
FSA determinization / minimization 
Jan 10
lab 
13 Jan 13
FSTs 
Jan 15
FSA and regular languages 
Jan 17
lab 
14 Jan 20
CFG Parsing: Intro 
Jan 22
CKY & Earley 
Jan 24
lab 
15 Jan 27
Dependency Parsing 
Jan 29
Dependency Parsing 
Jan 31
lab 
16 Feb 03
Summary 
Feb 05
Summary & Q&A 
Feb 07
Exam