Department of Computer Science
CS 289 - Theory of Computation

Winter 1999 Syllabus

COURSE OBJECTIVES:
The objective of the course is to look at what can be computed and how. How does the design of a machine impact what can be computed? The language implemented on the machine? At the end of the course you should have a strong theoretical understanding of what is possible with a computer. We will start with first principles, very simple machines which use languages with only a few commands, and show that they are equivalent to the most powerful modern computer.
TEXTS (required):
Floyd, R.W. and Beigel, R., The Language of Machines, Computer Science Press, 1994, and on-line handouts
INSTRUCTOR:
Eric Chown, 207 Adams Hall
Email address: echown@polar.bowdoin.edu
Web address: http://www.bowdoin.edu/~echown
Office Hours: M,T,W 3:30-5:00, or by arrangement
MEETING TIMES:
Class meeting: MWF 9:00-10:00 - Sills 205
COURSE OUTLINE:
Week of Topics Readings Work Due
Jan 25 Introduction to Theory Chapter 0 0.3-6, 1.1-1
Feb 1 Machines Chapter 1 1.1-3, 1.2-1, 1.3-5, 1.7-3
Feb 8 Devices and Programs Chapter 2 1.9-2, 1.10-2
Feb 15 Simulation Chapter 3 2.10-4, 3.2-3b, 3.5-1a,b,c
Feb 22 Finite State Machines Chapter 4 3.5-1d, f, 3.5-2
March 1 Finite State Machines (Continued) Chapter 4 4.4-9
March 8 **** Test 1 **** 4.9-5, 4.10-7
March 15 Finite State Machines Chapter 4 Exam 1
April 5 Context-Free Languages Chapter 5 5.6-1, 5.6-2
April 12 Context-Free Languages Chapter 5 5.8-3, 5.11-2
April 19 Stacks Chapter 6 6.1-7, 6.5-1
April 26 Computability Chapter 7 7.1-6, 7.6-6, 7.8-3
May3 Computability Chapter 7
May 10
(1/2 week)
Take-home test Exam 2

WORK FOR THE COURSE: The work for this course includes class participation, readings, two tests, and numerous assignments. All work will be graded and will contribute to your course grade. Attendance is required for all scheduled classes and lab meetings.

Students are expected to follow Bowdoin's Computer Use Policy and its Academic Honor Code.