CSC 181
Natural Language Programming

This course is designed to introduce students to the fundamental concepts and ideas in natural language processing, sometimes called computational linguistics. The goals of the field include creating computer programs that can understand, generate, and even learn natural languages. Applications range from text translation and understanding to enabling humans to converse with robots. We will study language processing starting from the word level to syntactic structure to the semantic meaning of text. Approaches include statistical as well as symbolic using logic and the lambda calculus. Students will build and modify systems and will use large existing corpora for validating their systems.

This course will involve extensive reading on your part, both in the (on-line) texts and in outside sources. There will be regular assignments (both programming and paper and pencil). Each student will be expected to do a final project that examines a topic in natural language processing. This project will normally include programs, analysis of resulting data, a written report, and an oral report in the last two weeks of the semester.

To simplify printing of the information found on these pages, a single page on which all the information about CSC 181 is grouped together is also available.