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 27: More machine translation
    • Final project report due

Week 16

We have 6 minutes per group, to use as you wish. You can demo your system, you can use slides, or you can just talk about your project without slides. Do leave a bit of time for questions! As you can see from the schedule, we have a few minutes of leeway, but not a lot.

I have used Python's random.shuffle() to make a random order of the groups. If you would like to switch places with another group, arrange for it with the other group, and let me know once it is settled.

  • May 2: Class project discussion
    • 14:00 Kartik Chitturi
    • 14:06 Tri Nguyen
    • 14:12 Dallas Scott
    • 14:18 Anurag Bakshi
    • 14:24 Isabel Cachola and Rachana Jadala
    • 14:30 Hannah Ray
    • 14:36 Akshay Gupta and Ayush Srivastava and Madhav Narayan
    • 14:42 Jessica Gonzales and Justin Roberson
    • 14:48 Robert DeMouy and Matthew Scarborough
    • 14:54 Stephen Ngo and John Carse
  • May 4: Class project discussion
    • 14:00 Erica Brozovsky and Jessica Koehnlein
    • 14:06 Aditya Kharosekar and Hannah Brinsko
    • 14:12 Rebecca Law
    • 14:18 Sahil Shah and Rachel Chen
    • 14:24 Sarika Sabnis and Ofelia Tijerina and Ella Ponthier
    • 14:30 Brahma Pavse and Liliana Terry and Aditya Vaidya
    • 14:36 Claire Bingham and Shiri Spitz
    • 14:42 Kathryn Whitley and Christian Klehm
    • 14:48 Sagar Krishnaraj and Shrey Desai
    • 14:54 Andrew Martin and Henry Freeman
    • 15:00 Rachel Oei and Christine Yang