CSI 4336: Introduction to Computation Theory, Fall 2006


Tue Sep 12 22:45:01 CDT 2006
Assignment 2 has been posted. Turn in electronic copies of your code via email, and printed copies of your exercises (formatted with LaTeX).
Tue Aug 29 19:21:46 CDT 2006
Assignment 1 has been posted. Please see the textbooks and resources section for links to STL and LaTeX information.
Tue Aug 22 18:30:04 CDT 2006
Welcome to the course! Please read the syllabus, which is this web page, and familiarize yourself with the course structure and expectations.


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 research you will do in computer science, so it is important material. Some people find it a very interesting topic, while other people do not. One of the most fascinating parts of this topic is that there are problems which we can describe simply (and we will) which have not yet been solved.

The basic topics covered in this course are:

This is a difficult course. Be prepared to invest the time necessary to understand the concepts, and to do the assignments. My best advice is to attend the lectures, ask questions, and start assignments early.

Practical information

Lectures are from 11:00 AM to 12:20 AM in Rogers 104 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 (dates will change):

Week Dates New topics Chapters Tuesday Thursday
1 Aug 21-25 Introduction 0
2 Aug 28-Sep 1 Regular languages, Finite automata, Nondeterminism, Regular expressions, Equivalence of REs and FAs, Closure properties for RLs, Decision problems for RLs 1.1-1.3 Homework 1 assigned
3 Sep 4-8 Nonregular languages, Pumping lemma for RLs 1.4
4 Sep 11-15 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 Homework 2 assigned
5 Sep 18-22 Exam 1
6 Sep 25-29 Turing machines, variants of the TM, nondeterministic TMs 3
7 Oct 2-6 Universal machines, decidability, the halting problem, undecidable problems by the dozen, Rice's theorem 4.2, 5 Homework 3 assigned
8 Oct 9-13 Recursion theorem, fixed-point theorem, compressibility and descriptional complexity 6 (omit 6.2)
9 Oct 16-20 Oracle computations, hierarchy of undecidability, logic and decidability, incompleteness 6.2
10 Oct 23-27 Computational complexity, models of computational efficiency, resource usage, complexity classes 7.1 Homework 4 assigned Exam 2
11 Oct 30-Nov 3 P and NP, polynomial-time reduction, TSP, Hamiltonian circuit and vertex cover 7.2, 7.3 Homework 5 assigned
12 Nov 6-10 Boolean satisfiability, Cook-Levin theorem, NP-completeness, survey of NP-complete problems 7.4, 7.5
13 Nov 13-17 More NP-Complete problems, co-NP, dealing with NP-completeness, space complexity and Savitch's theorem 8.1-8.2, 8.4
14 Nov 20-24 Randomized polynomial time, probabilistic algorithms, primality, unambiguous polynomial time 10.1, 10.2, 10.4 Homework 6 assigned Thanksgiving break
15 Nov 27-Dec 1 Parallel computation, NC, cryptography 10.5, 10.6
16 Dec 4-8 Final exams

The final exam date will be Friday, December 8th between 2:00 and 4:00 PM. The latest university finals information is available here.

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.

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.

There will be several homework assignments. 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 © 2006 Greg Hamerly, with some content taken from a syllabus by Jeff Donahoo.
Computer Science Department
Baylor University

valid html and css