CSCE 355: Foundations of Computation
Catalog Description:
Prerequisite(s) By Topic:
Logic design and Boolean algebra
Computer architecture
Analysis of algorithms
Textbook(s) and Other
Required Material:
Introduction to Languages and the Theory of Computation,
(2nd ed.), John C. Martin, McGraw-Hill,
New York, NY, 1997.
Computing Platform: Windows 2000
Course Objectives: {Assessment Methods Shown in
Braces}
1.
Represent
mappings as functions, sequences, and relations;
2.
Show
the properties of relations using matrices, graphs and other tools;
3.
Analyze
and design finite state acceptors, regular grammars, and regular expressions;
4.
Determine
a push down automata for a context-free grammar and vice versa;
5.
Design
a Turing machine to evaluate a function or accept a given language;
6.
Perform
algorithm analysis with Big Oh.
Topics Covered:
1.
Review
of logic, and sets.
2.
Functions,
sequences, relations, recursive binary relations.
3.
POSET,
QUOSET, Total Order, and Partitions.
4.
Strings
and Languages.
5.
Formal
grammars especially regular grammars and context-free grammars. BNF.
6.
Regular
Expressions.
7.
Mealy
and Moore Finite State Machines.
8.
Deterministic
and nondeterministic finite state acceptors.
9.
Pushdown
Automata.
10.
Turing
Machines
11.
Time
Complexity
Laboratory Projects
none
Syllabus
Flexibility: Low. The Undergraduate
Committee approves the choice of textbook and syllabus.
Relationship of Course to
Program Outcomes:
The
contribution of each course objective to meeting the program outcomes is
indicated with the scale:
3 = major contributor, 2 = moderate contributor, 1 = minor contributor. Blank if not related.
|
|
Program Outcomes |
||||||||||
|
1.
Logic & Math |
2.
Computing Fundamentals |
3.
Apply Computing Principles |
4.
Work on teams |
5.
Communicate Effectively |
6.
Liberal arts & Soc. Sciences |
7.
Basic Science and Lab Procedures |
8.
Learn New Tools & Processes |
9.
Employed upon Graduation |
10.
Application Area |
11.
Electronics and Digital Sys Design |
|
|
1. Represent mappings as functions, sequences, and
relations |
3 |
3 |
|
|
|
|
|
|
|
|
|
|
2. Show the properties of relations using
matrices, graphs, and other tools |
3 |
3 |
|
|
|
|
|
|
|
|
|
|
3.
analyze & design finite state acceptors, regular grammars, and regular
expression |
|
3 |
|
|
|
|
|
|
|
|
|
|
4. determine a push down automata for a a
context-free grammar and vice versa |
|
3 |
|
|
|
|
|
|
|
|
|
|
5. design a Turing machine |
|
3 |
|
|
|
|
|
|
|
|
|
|
6. algorithm analysis with Big Oh |
|
3 |
3 |
|
|
|
|
|
|
|
1 |
Estimated CSAB Category Content:
Algorithms: 2
hrs
Data Structures: 0
Software Design: 0
Concepts of
Programming Languages 1
Organization and
Architecture 0
Oral and Written Communication: none
Social and Ethical Issues: none
Theoretical Content:
Finite State Machines, Transducers and Acceptors,
etc., Logic, Sets, Functions, Sequences, Strings, Relations, Algebraic
Structures—POSET, QUOSET, Partition, and Total Order, Languages, and Grammars,
etc
Analysis and Design:
Finite State Machines, Transducers and Acceptors,
etc.
Class/Laboratory Schedule:
Lecture: 3 periods of 50 minutes or 2
periods of 75 minutes per week
Recitation: 0 periods per week
Laboratory: 0 periods per week
Course Coordinator: Ronald D. Bonnell
Modification and Approval History:
Initial description, April 1999
Revised, May 2001