CSCI 3500


None
Course Number:
CSCI 3500

Approved Starting Semester:
Fall 2018

Course Title:
Automata Theory and Formal Languages

Credit Hours:
3

Course Description (Bulletin Description):
Introduction to the theory of automata and formal languages. Topics include regular expressions, grammars, deterministic and nondeterministic finite automata, stack-based automata, Turing machines, and undecidable problems.

Prerequisite:
CSCI 3400 or MATH 3000

Co-requisite:
None

Pre/Co-requisite::
None

Course Objectives (Course-level Student Learning Outcomes):
Upon completion of the course students should be able to: 1. Design and manipulate deterministic and nondeterministic finite automata. 2. Write regular expressions that match a given set of strings. 3. Compose a context-free grammar that generates a given language. 4. Build stack machines that correspond to a given context-free grammar. 5. Create Turing machines that perform simple computational tasks. 6. Reason about various properties of formal languages and automata.

Topics Covered (In Outline/Calendar):
Topics include: 1. Deterministic and nondeterministic finite automata 2. Regular expressions 3. Regular and context-free grammars 4. Stack-based automata 5. Turing machines 6. Undecidability

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Nicholas Coleman

Technologies / Skills:
Automata theories

Textbook(s):
Spring 2022
Title: Formal Languages: A Practical Introduction
Edition: 1st
Author: Null
Publisher: Franklin, Beedle & Associates
ISBN: 978159028197
========================================


Go back to choose another course