This is a 5-day course at the 2022 North American Summer Schoold for Logic, Language, and Information (NASSLLI) at USC.

One sentence: Introductory course that covers what it takes to implement the core of compositional semantics (e.g. what would be covered in an introductory compositional semantics class), using Python, Jupyter, and the Jupyter Lambda Notebook.

A bit more: This course provides an introduction to what is involved in actually implementing, in a computational sense, a system of compositional semantics of the sort commonly assumed in theoretical linguistics and philosophy (see e.g. Szabó 2017). The target audience is students who have had introductory-level programming experience, as well as basic exposure to linguistic or logical semantics in some form, or have basic compositional semantics experience; it is an introductory course that does not assume deep background knowledge in either area.

Materials: will be updated as the class proceeds.

  1. Day 1: Overview, problem setup, basics of Jupyter / Lambda Notebook. [slides] [supporting notebook]
  2. Day 2: Composition systems and composition operations [slides] [supporting notebook]
  3. Day 3: Metalanguages and simple type inference [slides] [notebook]
  4. Day 4: Type inference and polymorphism [slides] [notebook]
  5. Day 5: Case studies (intensional semantics, quantification). Computational Semantics vs. Natural Language Understanding [slides] [notebook]
    • Intensional semantics, quantification notebooks: see github.