CMPS 260 (Theoretical Foundations of Computer Science)
Spring 2024
Syllabus
Test/Quiz Information
Final Exam: Wednesday, May 15, 3pm—5pm
Preview of April 17 exam
The April 17 exam
Sample Solutions
Homework Assignments
Homework #1: Designing DFA's
Sample Solutions
Homework #2: DFA's and Regular Languages
Sample Solutions
Homework #3: NFA's and Regular Expressions
Sample Solutions
Homework #4: Regular Languages/Expressions and Finite Transducers
Sample Solutions
Homework #5: Context-free Grammars/Languages; Chomsky Normal Form
Sample Solutions
Homework #6: LL(1) Parsing
Programming Assignments
Program #1: Aho/Corasick Pattern Matching Machine
Webber text Slides/Notes
Chapter 1:
Webber slides
Notes
Chapter 2:
Webber slides
Notes
Chapter 3:
Webber slides
Notes
Chapter 4:
Webber slides
Chapter 5:
Webber slides
Chapter 6:
Webber slides
Chapter 7:
Webber slides
Chapter 8:
Webber slides
Chapter 9:
Webber slides
Chapter 10:
Webber slides
Chapter 11:
Webber slides
Chapter 12:
Webber slides
Chapter 13:
Webber slides
Chapter 14:
Webber slides
Chapter 15:
Webber slides
Chapter 16:
Webber slides
Chapter 17:
Webber slides
Chapter 18:
Webber slides
Other Notes
Some Laws of Sets and Logic
Proof by Mathematical Induction
A few examples of proofs
Some Examples of Finite Automata
Subset Construction: Converting an NFA to a DFA
Example
Regular Expressions
Linz Figures: Converting between NFAs and Regular Expressions
DFA Minimization
A second example
Pumping Lemma for Regular Languages:
Statement and Proof
Removing Useless Symbols from a CFG
Exhaustive Breadth-first Parsing Algorithm for CFG's
CFG to CNF: Algorithm and Example
CYK Algorithm and Example
Notes on Left-to-Right Top-Down Parsing
Computing FIRST() and FOLLOW()
CFL Closure Properties
Pumping Lemma for CFL's
Items of Interest
Wikipedia entry for Finite-state machine
Applications of DFA/FSM:
paper by Eric Gribkoff at UC Davis
presentation by Eric Gribkoff at UC Davis