Department of Computer Science
CS 289 - Theory of Computation

Winter 2000 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, 219 Searles Science Building
Email address: echown@polar.bowdoin.edu
Web address: http://www.bowdoin.edu/~echown
Office Hours: M 2-3:30,T,TH 3:00-4:30, or by arrangement
MEETING TIMES:
Class meeting: MWF 8:30-9:30 - Searles 126
COURSE OUTLINE:
Week of Topics Readings Work Due
Jan 24 Introduction to Theory Chapter 0 0.3-6
Jan 31 Machines Chapter 1 1.1-3, 1.2-1, 1.3-5, 1.4-3, 1.7-2, 1.9-2
Feb 7 Devices and Programs Chapter 2 1.10-1c, 1.10-2b, 1.10-3b, 2.10-4
Feb 14 Simulation Chapter 3 3.3-9(page 190), 3.5-1d,e,f, 3.5-2, 4.2-2
Feb 21 Finite State Machines Chapter 4 4.4-5, 4.6-8, 4.7-11, 4.7-14
Feb 28 Finite State Machines (Continued) Chapter 4 4.8-11, 4.8-13, 4.9-5
March 6 **** Test 1 ****
March 13 Context-Free Languages Chapter 5
April 3 Stacks and Counters Chapter 6
April 10 Stacks and Counters Chapter 6
April 17 Stacks Chapter 6
April 24 Computability Chapter 7
May 1 Computability Chapter 7
May 8
(1/2 week)
Take-home test

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.