CSI 4336: Introduction to Computation Theory, Fall 2019

Objectives

This course is an introduction to the theory of computation. It covers formal models of computation, computability, complexity, and related topics. This course forms a 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:

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

My office location and office hours are listed on my home page. I am glad to talk to students during and outside of office hours.

Schedule

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

Week Dates Topics Reading Tuesday Thursday
1 Aug 26-30 Introduction, discrete math foundations, proofs, languages 0 Assignment 0
2 Sep 2-6 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
3 Sep 9-13 Nonregular languages, pumping lemma for RLs 1.4 Assignment 2
4 Sep 16-20 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
5 Sep 23-27 Turing machines, variants of the TM, nondeterministic TMs 3 Exam 1
6 Sep 30-Oct 4 Universal machines, decidability, the halting problem, reducibility, undecidable problems by the dozen, Rice's theorem 4.2, 5 Assignment 4
7 Oct 7-11 Recursion theorem, fixed-point theorem, compressibility and descriptional complexity 6.1, 6.4 Assignment 5
8 Oct 14-18 Oracle computations, hierarchy of undecidability, logic and decidability, incompleteness 6.2, 6.3
9 Oct 21-25 Computational complexity, models of computational efficiency, resource usage, complexity classes 7.1 Assignment 6
10 Oct 28-Nov 1 P and NP, polynomial-time reduction, TSP, Hamiltonian circuit and vertex cover 7.2, 7.3 Assignment 7 Exam 2
11 Nov 4-8 Boolean satisfiability, Cook-Levin theorem, NP-completeness, survey of NP-complete problems 7.4, 7.5
12 Nov 11-15 More NP-Complete problems, co-NP, dealing with NP-completeness, space complexity and Savitch's theorem 8.1-8.2, 8.4 Assignment 8
13 Nov 18-22 Randomized polynomial time, probabilistic algorithms, primality 10.1, 10.2 Assignment 9
14 Nov 25-29 Additional topics Thanksgiving break
15 Dec 2-6 Additional topics

The final exam date is December 12, 2019 from 16:30 to 18:30.

Textbooks & resources

Required text: we will be using Michael Sipser's textbook Introduction to the Theory of Computation (3rd Edition). Please note: using another edition will probably be fine, but it may have different numbering of problems and exercises. I have seen students lose credit for using "international" versions that are mostly the same, except for the problems and exercises. Make sure you are doing the problems as assigned.

Further online resources:

Grading

Grades will be assigned based on this breakdown:

Final letter grades will be assigned at the discretion of the instructor, but here is a minimum guideline for letter grades:
F < 60 ≤ D- < 62 ≤ D < 67 ≤ D+ < 70 ≤ C- < 72 ≤ C < 78 ≤ C+ < 72 ≤ C < 78 ≤ C+ < 80 ≤ B- < 82 ≤ B < 88 ≤ B+ < 90 ≤ A- < 92 ≤ A

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.

Graduate credit

Students receiving graduate credit for this course will be required to complete additional components of several homework assignments. These components will give the advanced student an opportunity to explore topics, to implement algorithms, and to apply techniques that are not normally covered by undergraduates in this course. Scores on these additional components will be included in the homework assignment portion of the grade. Students receiving graduate credit will also have additional exam questions on these advanced topics, and the scores for these extra questions will be included in the examination portion of the grade. The set of topics for graduate credit include:

Policies

Academic honesty

Plagiarism or any form of cheating involves a breach of student-teacher trust. This means that any work submitted under your name is expected to be your own, neither composed by anyone else as a whole or in part, nor handed over to another person for complete or partial revision. Be sure to document all ideas that are not your own. Instances of plagiarism or any other act of academic dishonesty will be reported to the Honor Council and may result in failure of the course. Not understanding plagiarism is not an excuse. I expect you as a Baylor student to be intimately familiar with all aspects of the Honor Code.

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.

Title IX Office

Baylor University does not discriminate on the basis of sex or gender in any of its education or employment programs and activities, and it does not tolerate discrimination or harassment on the basis of sex or gender. This policy prohibits sexual and gender-based harassment, sexual assault, sexual exploitation, stalking, intimate partner violence, and retaliation (collectively referred to as prohibited conduct). For more information on how to report, or to learn more about our policy and process, please visit www.baylor.edu/titleix. You may also contact the Title IX office directly by phone, (254) 710-8454, or email, TitleIX_Coordinator@baylor.edu.


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

This page was last updated February 07, 2024 at 19:18 (America/Chicago)

Valid html and css.