The material below is provided for reference. Please use the material from more recent course when available.
The course schedule
| Week | Monday | Wednesday | Friday |
|---|---|---|---|
| 00 | Nov 02 No class |
Nov 04 No class |
Nov 06 No class |
| 01 | Nov 09 lab |
Nov 11 introduction, administrivia, recap [slides, handout] |
Nov 13 recap [slides, handout] |
| 02 | Nov 16 lab [slides, assignment 1] |
Nov 18 common algorithmic patterns [slides, handout] |
Nov 20 common algorithmic patterns |
| 03 | Nov 23 lab [slides, handout] |
Nov 25 analysis of algorithms [slides, handout] |
Nov 27 analysis of algorithms |
| 04 | Nov 30 lab (a2) |
Dec 02 sorting [slides, handout] |
Dec 04 sorting |
| 05 | Dec 07 lab [slides] |
Dec 09 trees [slides, handout] |
Dec 11 priority queues, heaps [slides, handout] |
| 06 | Dec 14 lab (a3) [slides] |
Dec 16 graphs [slides, handout] |
Dec 18 graph traversal [slides, handout] |
| 07 | Dec 21 lab |
Dec 23 directed graphs [slides, handout] |
Dec 25 Sem. break |
| Dec 28 Sem. break |
Dec 30 Sem. break |
Jan 01 Sem. break |
|
| 08 | Jan 04 Sem. break |
Jan 06 Sem. break |
Jan 08 minimum spanning trees [slides, handout] |
| 09 | Jan 11 lab |
Jan 13 minimum spanning trees |
Jan 15 shortest paths [slides, handout] |
| 10 | Jan 18 lab (a4) |
Jan 20 maps, hash tables [slides, handout] |
Jan 22 string matching [slides, handout] |
| 11 | Jan 25 lab |
Jan 27 edit distance [slides, handout] |
Jan 29 edit distance |
| 12 | Feb 01 lab (a5) |
Feb 03 tries [slides, handout] |
Feb 05 finite-state automata [slides, handout] |
| 13 | Feb 08 lab [slides] |
Feb 10 finite-state automata (2) [slides, handout] |
Feb 12 finite-state automata (3) [slides, handout] |
| 14 | Feb 15 lab (a6) |
Feb 17 finite-state automata (4) [slides, handout] |
Feb 19 finite-state transducers [slides, handout] |
| 15 | Feb 22 lab |
Feb 24 summary |
Feb 26 exam |