next up previous
Next: Introduction

A First Course on Models of Computation

John E. Savage
Department of Computer Science
Brown University

Abstract:

The traditional first undergraduate course on theoretical computer science begins with formal languages, automata theory, and computability and concludes with NP-complete languages. In this article a novel first course is described that emphasizes models of computation and which we believe does a better job of demonstrating the importance of modeling and analysis. The models that it covers range from the very concrete logic circuit model and the Scheme programming language to the abstract Turing machine. It demonstrates not only that some problems are generally unsolvable but that others are not solvable in practice because the resources, such as space and time, that are available are inadequate given their inherent complexity. The central role of reduction in theoretical computer science is emphasized throughout the course, beginning with its use in the realization of functions by logic circuits. Programming assignments (in Scheme) are used to reinforce key concepts. Information on the course and the textbook [1] on which it is based can be found at www.cs.brown/people/jes/book/book.html.



 

John Savage
1998-03-15