
CS 483: Theory of Computation 1. Course number and name: CS 483: Theory of Computation 2. Credits and contact hours: 3.000 Credit Hours, 3.000 Lecture hours 3. Instructor or course coordinator: Zdravko Markov 4. Text book, title, author, and year: Hein, J. L., Discrete Structures, Logic, and Computability, Third Edition. Boston: Jones and Bartlett, 2010. a. other supplemental materials o Course syllabus and lecture notes are available on line at: http://www.cs.ccsu.edu/~markov/ccsu_courses/483Syllabus.html o The course uses Blackboard/Vista for projects, quizzes, and grade book. 5. Specific course information a. brief description of the content of the course (Catalog Description): The concept of algorithm, correctness and efficiency of algorithm, decidable vs. undecidable problems, recursion, halting problem, formal languages, context free and context-sensitive grammars, and introduction to automata and parallel algorithms. b. prerequisites or co-requisites: MATH 218 and CS 463 c. indicate whether a required, elective, or selected elective course in the program: Elective 6. Specific goals for the course a. specific outcomes of instruction, ex. The student will be able to explain the significance of current research about a particular topic. The main outcome of the course is that students obtain the knowledge and skills in theoretical foundations of computing that are needed to study and practice computer science. In particular this includes: Ability to prove results using proof by induction, proof by contradiction, proof by construction, proof by case exhaustion. Understanding of the basic kinds of finite automata and their capabilities. Understanding of regular and context-free languages. Ability to describe and transform regular expressions and grammars. Understanding of the key results in algorithmic complexity, computability and solvability of problems. Using the Prolog language as an experimental tool for testing properties of basic computational structures. b. explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course. The course outcomes will allow students taking CS483 to make progress toward the following department outcomes: Outcome a: An ability to apply knowledge of computing and mathematics appropriate to the discipline. Outcome b: An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. Outcome j: An ability to apply mathematical foundations, algorithmic principles, and computer science theory. 7. Brief list of topics covered Regular languages and regular expressions. Deterministic and non-deterministic automata. Context-free languages and pushdown automata. Turing machines, Church-Turing thesis, equivalent models of computation. Computability: undecidable problems, computable functions, complexity, tractable problems. NP-complete problems. 8. Expected Performance Criteria Students will demonstrate their mastering of the theory of computation by solving computational problems in three major projects and in a number of programming assignments involving experiments with computational structures using Prolog. .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages2 Page
-
File Size-