Automata, formal languages, and computational complexity
CSC 341 · Spring, 2011 · Department of Computer Science · Grinnell College

Greetings, visitors!

This course is now over, but you're welcome to explore the Web site.

General information about the course

Computer Science 341 deals with mathematical models of computation -- specifically, automata, which are idealized machines for manipulating strings of symbols, and grammars, which are collections of rules for transforming strings of symbols -- and with the characteristics of the classes of functions that can be defined and computed within these models. By abstracting from all attributes of actual computation that are not readily formalized, automata theorists have been able to establish quite general results about the capabilities and efficiencies of various computational methods. We shall study both the results that they have obtained and the mathematical techniques they use.

Our textbook is Introduction to the theory of computation, by Michael Sipser (Boston: PWS Publishing Company, 2006; ISBN 0-534-95097-3).

Professor Sipser has kindly provided a list of errata discovered since the publication of his book. Consult it carefully.

We'll also read a longish handout on recursive function theory.

My office is room 3829 in the Noyce Science Center. My office hours for the spring semester are Mondays from 9 to 11 a.m., Wednesdays from 2:15 to 4:15 p.m., and Thursdays from 1:15 to 3:15 p.m. My telephone extension is 3181.

The class meets in Noyce 2245, on Mondays, Wednesdays, and Fridays, from 1:15 to 2:05 p.m.

Course requirements · Grading and attendance policies · Schedule of topics · Exercises · Study questions

· ·
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States License.

This text is available on the World Wide Web as

http://www.cs.grinnell.edu/~stone/courses/automata/


John David Stone · stone@cs.grinnell.edu