Theory of Computation :: CS 361 / Math 361 :: Fall 2008


announcements :: homework :: lectures

Contact Information

Professor: Brent Heeringa
Email: heeringa [at] cs [dot] williams [dot] edu
Office: Thompson Chemistry Laboratory 306
Phone: 413.597.4711

Course Information

Course Classroom: TCL 202
Course Time: 11.00 - 11.50
Office Hours: Monday 20.00-22.00 and Tuesday 14.00-15.00 or by appointment (or whenever you see me -- really!)
Teaching Assistant: M. Catalin Iordan
Teaching Assistant Office Hours in TCL 312: Tuesday from 21.00-22.00
Course Text: Introduction to the Theory of Computation by Michael Sipser. The text is available at Water Street Books. Please also note the errata.
Midterm: Out at 12.00 on Friday, 17 October 2008. In at 17.00 on Monday, 20 October 2008
Midterm Review Session:20.00-22.00 on 16 October 2007 in TCL 206.

Course Description

From the catalog:
This course introduces formal models of computation including finite automata, regular languages, context-free grammars, and Turing machines. These models provide a mathematical basis for the study of computability - the study of what problems can be solved and what problems cannot be solved. Applications to compiler design and program verification will also be covered.
We all have problems. Some problems are easier to solve than others; some are unsolvable. But what is a problem? And what is a solution? In this course, we will develop models of computation that make rigorous the idea of problem and solution. In other words, we will provide a language to describe computation so we can reason about it formally. The models we will develop are easy to describe (think flow charts for toasters and elevators), yet computationally very powerful (we can, for example, use them to find the minimal mileage route for the Williamstown snowplow fleet). The rewarding part is understanding the limitations and power of each model.

Course Grading

Here is the breakdown:

Some points of clarification:

A few notes on the midterm:

Course Announcements

Course Lectures

The following lecture schedule is tentative. It may change based on current events, class interests and progress, and my own whims. Note that lecture notes are not available for download. This is on purpose. I very much want you to create your own set of notes from lecture and not rely on mine. The readings complement the lecture. Read the text before or after the lecture depending on your personal preference.

Course Homework

Course Links and Ephemera