CSI 4330: Foundations of Computing, Fall 2012


This course is an introduction to the theory of computation. There are three main parts to this course: the model of an abstract computer, what problems can be computed, and how efficiently given problems can be computed. This course forms the foundation for much of the subsequent work/research you will do in computer science. As you'll see, computation theory is fascinating because there are problems which we can describe simply which have not yet been solved.

The basic topics covered in this course are:

Practical information

Lectures are from 8:00 AM to 9:15 PM in Rogers 204 (NOTE ROOM CHANGE) on Tuesdays and Thursdays.

My office is in the Rogers Engineering and Computer Science building. My office hours are listed on my home page. I am glad to talk to students during and outside of office hours.


Here is a schedule of the material we will cover (order/content may be adjusted):

Week Dates Topics Reading Tuesday Thursday
1 Aug 20-24 Introduction, discrete math foundations, proofs, languages 0 Assignment 0
2 Aug 27-31 Regular languages, finite automata, nondeterminism, regular expressions, equivalence of REs and FAs, closure properties for RLs, decision problems for RLs 1.1-1.3, 4.1 (RL part) Assignment 1 (Automaton code)
3 Sep 3-7 Nonregular languages, pumping lemma for RLs 1.4 Assignment 2 (Automaton code)
4 Sep 10-14 Context-free languages, push-down automata, normal forms for CFGs, ambiguity in CFGs, pumping lemma for CFLs, closure properties for CFLs, decision problems for CFLs 2.1-2.3, 4.1 (CFL part) Assignment 3 (Automaton code)
5 Sep 17-21 Turing machines, variants of the TM, nondeterministic TMs 3 Assignment 4 (Automaton code)
6 Sep 24-28 Exam 1
7 Oct 1-5 Universal machines, decidability, the halting problem, reducibility, undecidable problems by the dozen 4.2, 5 Assignment 5 (Automaton code)
8 Oct 8-12
9 Oct 15-19 Assignment 6
10 Oct 22-26 Computational complexity, models of computational efficiency, resource usage, complexity classes 7.1 Exam 2
11 Oct 29-Nov 2 P and NP, polynomial-time reduction, TSP, Hamiltonian circuit and vertex cover 7.2, 7.3
12 Nov 5-9 Boolean satisfiability, Cook-Levin theorem, NP-completeness, survey of NP-complete problems 7.4 Assignment 7
13 Nov 12-16 More NP-Complete problems, co-NP, dealing with NP-completeness 7.5 Assignment 8 (Automaton code)
14 Nov 19-23 Space complexity and Savitch's theorem 8.1, 8.2 Thanksgiving break
15 Nov 26-30 PSPACE-completeness, log-space classes 8.3, 8.4 Assignment 9

The final exam date will be in accordance with Baylor's final exam schedule.

Textbooks & resources

Required text: we will be using Michael Sipser's textbook Introduction to the Theory of Computation (2nd Edition). You can purchase this book from the bookstore or amazon, among other places. Please note that there is a third edition appearing in summer 2012, but we will still use the second edition published in the USA. If you use another version or edition which is different, you are responsible for any differences. I have seen students lose credit for using "international" versions that are mostly the same, but they have different problems.

Further online resources:


Grades will be assigned based on this breakdown:

A: 90-100, B+: 88-89, B: 80-87, C+: 78-79, C: 70-77, D: 60-69, F: 0-59

Some homeworks may be worth more than others. All exams are closed-book. The final will be comprehensive.

Homeworks should be written up in (nice-looking) LaTeX. Homeworks are due at the beginning of class on the due dates for full credit. Homeworks turned in after I have collected them but before the end of class will receive a 20% penalty. No homeworks will be accepted after class on the due date.


Academic honesty

I take academic honesty very seriously.

Many studies, including one by Sheilah Maramark and Mindi Barth Maline have suggested that "some students cheat because of ignorance, uncertainty, or confusion regarding what behaviors constitute dishonesty" (Maramark and Maline, Issues in Education: Academic Dishonesty Among College Students, U.S. Department of Education, Office of Research, August 1993, page 5). In an effort to reduce misunderstandings in this course, a minimal list of activities that will be considered cheating have been listed below.

Copyright © 2007-2012 Greg Hamerly, with some content taken from a syllabus by Jeff Donahoo.
Computer Science Department
Baylor University

valid html and css