Syllabus
CSCI 4602
Automata, Computability and Complexity
Fall 2022
3 credits

Class meeting Section 001: 12:00–12:50 MWF Austin 306
Section 002: 2:00–2:50 MWF Austin 306
Instructor Karl Abrahamson
Office Sci&Tech C-113
Office Phone 328-9689
Email abrahamsonk@ecu.edu
Canvas page https://ecu.instructure.com/courses/90111
Course web page www.cs.ecu.edu/~karl/4602/fall22/index.html
My web page www.cs.ecu.edu/~karl/index.html
Lecture notes: Lecture Notes for CSCI 4602 Karl Abrahamson

Contents

  1. Prerequisites
  2. Course objectives and outline
  3. Student competencies
  4. Attendance policy
  5. Office hours
  6. Grading
  7. Quizzes
  8. Final exam
  9. Practice quizzes
  10. Computer and internet connectivity requirement
  11. Recommendations for success
  12. Students with disabilities
  13. Weather emergencies
  14. Student conduct

Prerequisites

The prerequisites for this course are CSCI 2405 and 2530 or equivalent. You should have enough knowledge of computer programming to understand how simple programs are written and to understand how to convert an algorithm description into a program. There will be no programming assignments for this course.

This course is mathematical in nature, and you should have seen mathematical proofs before. You will be expected to produce your own proofs.

Course objectives and outline

This is a course in the theory of computation. The fundamental question that we will ask is, "What is computable?" Some of the answers are surprising. For example, we will encounter some problems that are easy to describe but that are so difficult that no computer program can be written to solve them.

We will also ask what can be computed efficiently. We will encounter problems that can be solved, but only by programs that run for a very long time in the worst case.

Before asking what can be computed, we need an understanding of the nature of computation. We will study a simple model of computation and explore what can be computed with that simple model.

The following is an outline of this course.

  1. Mathematical Preliminaries

    1. Review of sets and functions
    2. Alphabets, strings and languages
    3. Computational problems
  2. Finite-state computation

    1. Deterministic finite-state machines (DFAs)
    2. Definition of a DFA
    3. Regular languages
    4. Proving that a language is not regular
    5. Closure properties of the class of regular languages
    6. Regular expressions
    7. Expressive equivalence of regular expressions and finite-state machines
  3. Algorithms and computability

    1. Algorithms and programs
    2. The Church/Turing Thesis
    3. Computable problems
    4. Examples of uncomputable problems
    5. Diagonalization
    6. Reductions and properties of reductions
    7. Using reductions to prove uncomputability
    8. Partial computability and m-complete problems
  4. Polynomial-time computability and complexity

    1. Deterministic polynomial-time algorithms and the class P
    2. Nondeterministic polynomial-time algorithms and the class NP
    3. Polynomial-time mapping reductions and NP-completeness
    4. The Satisfiability Problem
    5. Examples of NP-complete languages
    6. Proving that languages are NP-complete
    7. Co-NP and the validity problem
    8. Co-NP and public key cryptography

Student competencies

After successful completion of this course, you should be able to do the following.

  1. Design a deterministic finite-state machine recognizing a specified language.

  2. Analyze a given deterministic finite-state machine and determine the language that it recognizes.

  3. Analyze or design a regular expression specifying a given language.

  4. Prove that a given language in not regular.

  5. Explain the significance of Church-Turing Thesis.

  6. Define computability.

  7. Describe properties of reductions.

  8. Use reductions to prove uncomputability.

  9. Use Rice's Theorem to prove uncomputability.

  10. Describe a few uncomputable problems.

  11. Define the complexity classes P, NP and Co-NP.

  12. Define NP-complete problems.

  13. List several NP-complete problems.

  14. Explain the practical consequences of a problem being NP-complete.

  15. Demonstrate the NP-Completeness of some computational problems by doing a reduction.

  16. Explain the significance of the P = NP question.

  17. Students should both realize the importance of theory to the field of computer science and develop the abstract thinking needed to pursue it further as desired by them. This is more important than any of the specific outcomes listed above.

Attendance policy

You are expected to attend class. Students who do not attend class can expect to do poorly in this course. I will not take attendance.

If you do not attend class, you will be expected to get all information that was covered in class from another source.

Office hours

Office hours will take place in my office. Office hours are as follows.

MW 9:30–9:50am
MW 11:00–11:50am
MW 1:30–1:50pm
or by appointment

Tutors

Tutors are available. See https://cet.ecu.edu/csci/about-us/about-the-department-2/.

Grading

Grades will be computed as follows.

Grading
3 50-minute quizzes 55–75%
A comprehensive final exam 25–45%

Percentages will be chosen on an individual basis from the indicated range to give you your best score. All quizzes have the same weight.

Tentative cutoffs for grades will be as follows. These cutoffs will not be raised.

Grade cutoffs
A 93% B+ 87% C+ 76% D+ 64%
A– 90% B 83% C 72% D 60%
    B– 80% C– 68% D– 56%

Quizzes

There will be a 50-minute quiz on each of the following dates.

  1. Friday, September 23
  2. Monday, October 31
  3. Wednesday, November 30

You can bring one prepared 8.5x11" piece of paper, written on both sides, to each quiz. You can write anything that you like on that paper. I will not collect it.

Final exam

The final exam will take place on

You can bring two prepared 8.5x11" pieces of paper to the final exam.

Practice quizzes

There is a practice quiz for each quiz. Print and complete the practice quiz and bring the completed quiz to class on the due date. We will go over the practice quiz in class.

Note: You will learn more if try to answer questions before you see the answers, even if your answer is incorrect. You will do better if you work the practice quizzes before seeing the answers.

Practice quiz Due date
Practice quiz 1 M. September 19
Practice quiz 2 M. October 24
Practice quiz 3 F. November 18

Computer and internet connectivity requirement

You will need to have a computer and internet connectivity to work the practice quizzes, which are on Canvas. In the event that the class is moved temporarily online, you will also need a computer and internet connectivity to access additional course material.

Recommendations for success

  1. Attend class. Arrive on time.

  2. Do not bring distractions to class. If you read your email, listen to music, send and receive text messages or engage in other distracting activities during class, you will get very little out of class. That will show up in your grade.

  3. Ask questions in class. If you do not understand something, ask a question about it.

  4. Ask questions outside of class. Use office hours or email.

    For email, please use a subject indicating that you are asking a question for CSCI 4602, and always include your name in your email. Please send email to the address listed on the first page of this syllabus.

    Do not expect immediate answers. Give yourself time to get answers. If you have not received a reply for a few days, please resend your email.

  5. Do the practice quizzes. That will help you to do well on the real quizzes.

  6. Schedule time to work outside of class.

  7. Repetition is the key to learning. Read relevant sections of the lecture notes twice. Take a break (a whole day or longer) in between. Later in the term, go back over your notes and the lecture that you looked at earlier in the term. You will learn much more that way.

  8. Get adequate sleep. Sleep is important both before and after you learn new concepts. Sleep before enables you to concentrate and think clearly, and sleep afterwards is critical for moving new information into permanent memory.

Students with disabilities

East Carolina University seeks to comply fully with the Americans with Disabilities Act (ADA). Reasonable accommodations will be made for students with verifiable disabilities. In order to take advantage of available accommodations, students must be registered with the Department for Disability Support Services located in Slay 138, 252-737-1016. See Accommodation Information & Processes.

Additional DSS student resources can be found at: https://accessibility.ecu.edu/students/.

Weather emergencies

In the event of a weather emergency, information about ECU can be obtained through the following sources:

ECU emergency notices http://www.ecu.edu/alert
ECU emergency information hotline 252-328-0062

Student conduct

Smoking is not permitted in classrooms.

Students are expected to abide by the university's Student Honor Code.