East Carolina University
Department of Computer Science

CSCI 4602
Automata, Computability and Complexity
Standard Syllabus


3 credits Prepared by K. Gopalakrishnan, May 2018

Catalog entry

P: CSCI 2405, CSCI 2530. Finite automata and regular languages, Turing machines, Church-Turing thesis, Computability and Unsolvability, Complexity, Theory of NP-Completeness.

Course summary

Theory of computation comprises the fundamental mathematical properties of computer hardware, software and certain applications thereof. In studying this subject we seek to determine what can and cannot be computed, how quickly, with how much memory and on which type of computational model. Three central areas of theory of computation are Theory of Automata and Formal Languages, Computability Theory and Complexity Theory. In this course, we will take a brief look at each of these three areas.

Course topics

Student learning outcomes

Textbook

Introduction to Theory of Computation by Michael Sipser, Cengage Learning, Third Edition, 2013.

Grading

Your grade in this course will be based on your performance in homework and examinations. There will be two regular examinations during the semester and a final comprehensive examination at the end of the semester. Homework will be based on "problem of the week" model, where you will be assigned one problem to solve each week.

Exam I 20%
Exam II 20%
Final Exam 30%
Homework 30%

Grade meanings

Grade Meaning
A  Achievement substantially exceeds basic course expectations
A−  
B+  
B Achievement exceeds basic course expectations
B−  
B+  
C Achievement adequately meets basic course expectations
C−  
D+  
D Achievement falls below basic course expectations
D−  
F Failure – achievement does not justify credit for course