CSCI/LGCS 066

This course is concerned with representational and computational issues relevant to the formal study of natural languages. A solid understanding of logic, lattices, and the lambda calculus will help us understand how to represent linguistic phenomena and to compute the meaning of discourse in natural languages. Logic provides an important first step, but a compositional understanding of language requires more powerful computational tools like the lambda calculus that will allow us to build up the meaning of phrases. Some programming will be taught so that students can understand computational models of languages. Previous programming experience or experience in linguistics is not required.
Some of you come in with background in Computer Science, some with background in Linguistics, some with neither, and some with both. I will attempt to reach out to all of you and hope that you will work together with people whose backgrounds are different from your own. In particular, the course will have a final project, and I would prefer to see students work together in pairs which include different backgrounds and strengths.
The goal is to introduce both the technical tools and linguistics, though the focus will be on how the tools make it possible to gain a deeper understanding of formal linguistics. The topics covered in this course are often characterized under the umbrella of computational semantics, though the subject area includes many topics that we will not have a chance to cover.