Schedule: introduction to computational linguistics (undergraduate)


This schedule is subject to change.

Assignments are due at the end of their due date (midnight).

Readings can be done either before or after class (unless noted otherwise); they are chosen to support the material covered in class.

Week 1: Words

  • Jan 17: Introduction, and a demo of some computational linguistics tasks and methods.
  • Jan 19: Morphology
    • Taking words apart: What do "sing", "singing", "sings", "sang" have in common, and how do we describe what is different?
    • Method: finite state automata
    • Reading: J&M ch. 2 second half

Week 2

  • Jan 24: Finite state automata and finite state transducers
    • Reading: J&M ch. 3, pp. 45-68

  • Jan 26: Introduction to programming: Python basics
    • Reading: Think Python chapter 1 and chapter 2
      Warning: This online book uses Python 2, not Python 3. The main difference that you will see is that it uses print() without the (). This doesn't work in Python 3!
    • Assignment 1 due

Week 3

  • Jan 31: Guest lecture: Ellie Pavlick
    Other uses of finite state automata: Simple dialog systems

Week 4

Week 5

Week 6

Week 7

  • Mar 2: More distributional models
    • Assignment 4 due

Week 8: Word sequences

Week 9: Spring break

Week 10

  • Mar 21: We discuss the progress of course projects. Bring questions, and talk about your insights
    • Intermediate project report due

Week 11: Structure

Week 12

  • April 4: Describing the syntax of English with context-free grammars
    • Method: Context-free grammar
    • Assignment 6 due
  • April 6: Automatic syntactic analysis: Parsing

Week 13

  • April 11:  Statistical parsing
    • Method: Probabilistic context-free grammar
    • Reading: J&M ch. 14 pp. 459-463, 467
    • Assignment 7 due
  • April 13:  The Chomsky hierarchy, or: how complex is human language?
    • Reading: J&M, ch. 16, pp 529-542

Week 14

  • April 18: Representing sentence meaning
    • Assignment 8 due

Week 15

  • April 25: More semantic role labeling and argument structure

Week 16

  • May 2: More machine translation
  • May 4: Class project discussion