Course Title / Theoretical Foundations of Computing / Total Credits / 4
Catalog Description
Turing machines; mu-recursive functions; equivalence of computing paradigms; Church-Turing thesis; undecidability. 4 hours lecture. Prerequisite: CS 466.
Text Book
Thomas Sudkamp, Languages and Machines: An Introduction to the Theory of Computer Science, 2nd edition, Addison-Wesley, Reading, 1997.
Home Page
http://www.cs.wright.edu/~tsudkamp/courses.htm
Course Objectives and Outcomes
The students should develop an awareness of the capabilities and limitations of algorithmic computation. A student completing this course should have knowledge of
- Computation via Turing machines
- The implications of the Church-Turing thesis
- The undecidability of the halting problem
- Using problem reduction to establish undecidability
- The computability of recursive and partial recursive functions
Prerequisites by Topic
- Naïve set theory
- Use of grammars for the generation of languages
- Use of finite state machines for pattern recognition
Course Topics
The topics covered include
· Countable and uncountable sets, diagonalization. T
· Turing machines as language acceptors and language enumerators.
· Deterministic and nondeterministic machines. Multi-track and multi-tape machines.
· Decision problems.
· Church-Turing thesis.
· Undecidability. The halting problem. Problem reduction.
· The Post correspondence problem. Rice's theorem.
· Recursive and mu-recursive functions.
Course Contribution to Program Outcomes and Assessment
Table of Criteria 3: Students who have successfully completed the course have
a1 / an ability to apply knowledge of mathematics / PXa2 / an ability to apply knowledge of science / 0
a3 / an ability to apply knowledge of engineering / 0
b1 / an ability to design and conduct experiments / 0
b2 / an ability to analyze and interpret data / 0
c / an ability to design a system, component, or process to meet desired needs / PX
d / an ability to function on multi-disciplinary teams / 0
e / an ability to identify, formulate, and solve engineering problems / 0
f / an understanding of professional and ethical responsibility / 0
g / an ability to communicate effectively / 0
h / the broad education necessary to understand the impact of engineering solutions in a global and societal context / 0
i / a recognition of the need for, and an ability to engage in life-long learning / 0
j / a knowledge of contemporary issues / 0
k / an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice / 0
Estimate CSAB Category Content
Core / Advanced / Core / AdvancedData Structures / Concepts of PL
Algorithms / 1.0 / Comp Organization + Architecture
Software Design / Other / 3.0
Social and Ethical Issues
None.
Theoretical Content
The majority of this class is devoted to topics in the theory of computer science. The particular topics are listed above.
Problem Analysis and Solution Design
The students are required to design solutions to decision and pattern recognition problems, both at a high level and using Turing machine. Students must also be able to determine that certain problems have no algorithmic solution.
Student Assessment
The students are assessed by a series of tests and/or quizzes administered throughout the quarter.
Date: By: Thomas Sudkamp