Links to the lecture slides will become live at the time of the lecture in question.
Should you wish to look at the material in advance of the lecture,
feel free to look at
last year's slides.
These are not guaranteed to be identical to this year's slides,
but in practice the content will be mostly the same.
Week | Lectures | Tutorials | Practicals | Assignments | Readings |
1 | Sep 18: Lecture 1: Introduction and Course Administration (JL+SC)
Sep 19: Lecture 2: Course Roadmap (JL+SC).
Sep 22: Lecture 3: Finite Automata (JL).
|
-- |
-- |
-- |
Kozen chapters 2,3,5,6; J&M[2nd Ed] chapters 1, 2 (sec 2.2), 16 (intro and sec 16.1);
Wikipedia: Chomsky (see Note 1) |
2 | Sep 25: Lecture
4: Constructions on Finite Automata (JL).
Sep 26: Lecture
5: Regular Expressions and Kleene's Theorem (JL).
Sep 29: Lecture
6: Applications to String and Pattern Matching (JL).
|
-- |
-- |
-- |
Kozen chapter 3, 4, 11, 12, 2 |
3 | Oct 02: Lecture
7: Lexing and Other Applications (JL).
Oct 03: Lecture
8: The Pumping Lemma: limitations of regular languages (JL).
Oct 06: Lecture
9: Context-free Languages (JL).
|
Tutorial 1 |
Lab 1: Introduction to Python/NLTK, Part I |
-- |
Kozen chapter 5, 9;
J&M chapter 2; chapter 16.2;
Vidal et al. 2005 |
4 | Oct 09: Lecture
10: Pushdown Automata (JL).
Oct 10: Lecture
11: LL(1) Predictive Parsing (JL).
Oct 13: Lecture
12: Automatic Generation of LL(1) Parsers (JL).
|
Tutorial 2 |
Lab 2: Introduction to Python/NLTK, Part II |
-- |
Earlier year's lecture notes relevant lectures 10 and 11:
Note 9,
Note 10,
Note 12.
Earlier year's tutorial sheet.
|
5 | Oct 16: Lecture 13:
Fixing Problems with Grammars (JL).
Oct 17: Lecture 14:
Types and Static Type Checking (JL).
Oct 20: Lecture 15: Natural language processing, morphology, and finite-state transducers (SC) |
Tutorial 3 |
|
Oct 17: Assignment 1 issued |
Kozen chapters 26 and 27;
J&M sections 3.1--3.7
|
6 | Oct 23: Lecture
16: Parts of speech in natural language (SC).
Oct 24: Lecture
17: Part-of-speech Tagging (SC).
Oct 27: Lecture
18: Fun with weighted FSTs (SC) |
Tutorial 4 |
Lab 3: Support for Assignment 1 |
-- |
J&M sections 5.1--5.5, 6.1--6.4;
NLTK: Chapters 3 and 5.
Penn Treebank tagging guide
|
7 | Oct 30: Lecture
19: Phrase Structure and Parsing as Search (SC)
Oct 31: Lecture
20: The CYK Algorithm (SC)
Nov 03: Lecture
21: The Earley Algorithm; Earley parsing example
(SC)
|
Tutorial 5 |
-- |
Oct 31: Assignment 1 deadline (4pm) |
J&M Chapters 13.4,
14 (up to 14.5), 16.3--16.4.
NLTK: Chapter 8. Rosenberg, The Hardest Natural Languages |
8 | Nov 06: Lecture
22: Probabilistic Context-free Grammars (SC)
Nov 07: Lecture
23: Parameter Estimation and Lexicalisation of PCFGs (SC)
Nov 10: Lecture
24: Grammar Writing Exercise (SC) |
Tutorial 6 |
-- |
Nov 10: Assignment 2 issued |
J&M Chapters 12.9,
14.10, 17--18;
NLTK: Chapter 10 |
9 | Nov 13: Lecture
25: Agreement, Types and Natural Language Semantics (SC)
Nov 14: Lecture
26: Computing Semantics (SC)
Nov 17: Lecture
27: Complexity of Human Languages (SC) |
Tutorial 7 |
|
-- |
Lecture Notes: Semantics; |
10 | Nov 20: Lecture
28: Semantics of Programming Languages (JL).
Nov 21: Lecture
29: Context-sensitive languages (JL).
Nov 24: Lecture
30: Turing Machines and Linear Bounded Automata (JL). |
Tutorial 8 |
Lab 5: Support for Assignment 2 |
-- |
Kozen chapter 28, 29, 31, 32;
Wikipedia: CSG, Turing |
11 | Nov 27: Lecture 31: Undecidability (JL)
Nov 28: Lecture 32: Revision Lecture (JL+SC)
|
Tutorial 9 |
Extra labs for Assignment 2 support |
Dec 01: Assignment 2 deadline (4pm) |
Hauser et al. (2002) |