Department of Computer Science
CSU Stanislaus
California State University
CS4410-002:
Automata, Computability, and Formal Language
Spring 2025
Instructor: Dr. Xuejun Liang
My Office: DBH 282
Office Hours: TuTh 2:00 p.m.-3:00 a.m. & W 10:00 a.m. - 11:00 a.m.
ZOOM Meeting ID: 4438930033, Phone:
(209) 667-3169, Email: xliang@csustan.edu
Class Information:
Class
Days & Times: MWF 2:00 p.m. - 2:50 p.m.
Class Website: https://www.cs.csustan.edu/~xliang/Courses2/CS4410-25S
Class Canvas: Use your class Canvas account to submit homework assignments
Class
Modality: Hybrid Online - Synchronous. In-person class meetings will be on
campus at the room, day, and time listed. Online class
meetings will be at the day and time listed. Students
must be available at the class times listed in the Class Schedule and must
attend in person on days indicated as such by the instructor. Students do not
have the option to choose in-person or virtual, nor opt for asynchronous
participation.
Course Materials
Textbook:
An Introduction to Formal Languages and Automata, Sixth Edition, by Peter Linz, Jones & Bartlett Learning, 2017, ISBN: 978-1-284-07724-7.
JFLAP
JFLAP is a package of graphical tools which can be used as an aid in learning the basic concepts of Formal Languages and Automata Theory.
Lecture Slides
Chapter 1 Introduction to the Theory of Computation (A, B)
Chapter 2 Finite Automata (A, B)
Chapter 3 Regular Languages and Regular Grammars (A, B, C)
Chapter 4 Properties of Regular Languages (A, B)
Chapter 5 Context-Free Languages (A)
Chapter 6 Simplification of Context-Free Grammars and Normal Forms (A)
Chapter 7 Pushdown Automata (A)
Chapter 8 Properties of Context-Free Languages (A, B)
Chapter 9 Turing Machines (A)
Chapter 10 Other Models of Turing Machines (A)
Chapter 11 A Hierarchy of Formal Languages and Automata (A)
Chapter 12 Limits of Algorithmic Computation (A)
Chapter 13 Other Models of Computation
Chapter 14 An Overview of Computational Complexity (A)
Course Syllabus and Major Topics
Course
Description
CS4410 Automata, Computability, and Formal Language. (3 units) Pre-requisites: CS 4100. Finite state concepts; sequential machines and state minimization; Chomsky grammar; algorithms on grammars; computability and Turing machines; non-computable functions |
Course Outcomes:
Students who successfully complete the course should be able to
1. |
Define the three basic concepts in
the theory of computation: automaton, formal language, and
grammar and perform related operations. |
2. |
Construct a finite state machine
(DFA and NFA) and the equivalent regular expression and regular grammar,
transform an arbitrary NFA to an equivalent DFA, and apply the pumping lemma
to show that a language is not regular |
3. |
Construct pushdown automata and
the equivalent context-free grammars, construct derivation trees for strings generated
by a context-free grammar, show that a context-free grammar is ambiguous,
rewrite a grammar to remove ambiguity, simplify context-free grammars,
transform a context-free grammar into an equivalent grammar in Chomsky normal
form, and apply the pumping lemma to show that a language is not
context-free. |
4. |
Construct a Turing machine to
accept a specific language or to compute a simple function, and state
Turing’s thesis and discuss the circumstantial evidence supporting it. |
5. |
Describe the structure and
components of the Chomsky hierarchy |
6. |
Understand limits of algorithmic
computations and have a basic understanding of the complexity classes P and
NP, and concepts of intractability and NP-completeness. |
Homework Assignments
Homework assignments will be announced in class and available on
Canvas.
You will submit your assignments on Canvas.