A survey of syntactic and semantic theories for natural language processing, including unifi cation-based grammars, methods of parsing, and a wide range of semantic theories from artifi cial intelligence as well as from philosophy of language. Programming will be optional, though a project will normally be required.