Exploring NLP in Oz/Mozart

Torbjörn Lager, 2001


Introduction

This is a first course in programming for computational linguistics. We use the programming language Oz and its implementation Mozart to learn about relational and functional programming. No previous programming experience is required, but some background in mathematical methods in linguistics is necessary. In fact, examples and exercises are often carefully selected to illustrate such methods. Furthermore, we take a problem-solving approach to programming, based on Simon Thompson's adaptations of George Pólya's ideas for "How To Solve It".

Course Plan

Lectures

Relation to other courses

Mathematical Methods in Linguistics
Programming
sets, relations, functions

programming with lists
functional programming

logic
relational programming

regular expressions
context-free grammars

relational programming
lambda calculus and compositional semantics
higher-order functional programming
feature structures
programming with records

Exercises and Projects

Exercises

More Exercises

Projects

Relevant Reading

Course Notes and Papers

Tutorials and text books

Documentation (a selection)

Relevant Links