Spring 2012 Course Descriptions
COMP 150-06 Experimenting with Formal Languages
The subject of formal language (automata) theory is traditionally taught as a paper-and-pencil mathematics course, even though it is largely concerned with algorithms on the subject's formalisms: regular expressions, automata, grammars and Turing machines. In contrast, this course will approach the subject in a way that balances proof with *experimentation*, carried out using the Forlan toolset, which implements the algorithms of formal language theory, and has been developed by the instructor over the last decade. Forlan is embedded in the functional programming language Standard ML, a language whose notation and concepts are similar to those of mathematics. It is strongly typed and interactive, properties that make sophisticated experimentation robust and enjoyable.
This course complements, and may be taken before or after, COMP 170.
Prerequisite: COMP 15 and MATH 22.