Formal study of natural language -- Lambda calculus, types, and functional programming -- Functional programming with Haskell -- Formal syntax for fragments -- Formal semantics for fragments -- Model checking with predicate logic -- The composition of meaning in natural language -- Extension and intension -- Parsing -- Handling relations and scoping -- Continuation passing style semantics -- Discourse representation and context -- Communication as informative action.