You are on page 1of 12

COURSE OUTLINE

THEORY OF AUTOMATA

Instructor: Rabeeya Saleem

Department of Computer Science


Code: CS 401
Credit Hours: 3
Category: Major
Course: Theory of Automata Spring 2023
Code: CS 401
Credit Hours: 3
Pre-Requisite: Discrete Mathematics
Instructor: Rabeeya Saleem

Course Outline

Course Description

Automata Theory is an exciting, theoretical branch of computer science. It established its roots
during the 20th Century, as mathematicians began developing - both theoretically and literally -
machines which imitated certain features of man, completing calculations more quickly and
reliably. The word automaton itself, closely related to the word "automation", denotes automatic
processes carrying out the production of specific processes. Simply stated, automata theory deals
with the logic of computation with respect to simple machines, referred to as automata. Through
automata, computer scientists are able to understand how machines compute functions and solve
problems and more importantly, what it means for a function to be defined as computable  or for
a question to be described as decidable.

Automatons are abstract models of machines that perform computations on an input by moving


through a series of states or configurations. The most general and powerful automata is
the Turing machine. The major objective of automata theory is to develop methods by which
computer scientists can describe and analyze the dynamic behavior of discrete systems. This
course provides a challenging introduction to some of the central ideas of theoretical computer
science. It tries to explain the key differences between computational models that affect their
power.

The mathematical description of computational networks, the limitations of mechanical


computation, and the formal specification of languages are highly interrelated disciplines, and all
require a great deal of mathematical maturity to appreciate. A computer science undergraduate is
often expected to deal with all these concepts, and so, this course attempts to make it possible for
average students by developing the standard mathematical models of computation devices, as
well as investigating the cognitive and generative capabilities of such machines.

The three major foundations of


computer science, the
mathematical description of
computational
networks, the limitations of
mechanical computation, and the
formal specification of languages
are highly
interrelated disciplines, and all
require a great deal of
mathematical maturity to
appreciate. A computer
science undergraduate is often
expected to deal with all these
concepts, and so, this course
attempts to make it
possible for average students by
developing the standard
mathematical models of
computation devices, as
well as investigating the cognitive
and generative capabilities of such
machines.
The three major foundations of
computer science, the
mathematical description of
computational
networks, the limitations of
mechanical computation, and the
formal specification of languages
are highly
interrelated disciplines, and all
require a great deal of
mathematical maturity to
appreciate. A computer
science undergraduate is often
expected to deal with all these
concepts, and so, this course
attempts to make it
possible for average students by
developing the standard
mathematical models of
computation devices, as
well as investigating the cognitive
and generative capabilities of such
machines.
The course introduces some fundamental concepts in automata theory and formal languages
including grammar, finite automaton, regular expression, formal language, pushdown automaton,
and Turing machine. Not only do they form basic models of computation, they are also the
foundation of many branches of computer science, e.g. compilers, software engineering,
concurrent systems, etc. The properties of these models will be studied and various rigorous
techniques for analyzing and comparing them will be discussed, by using both formalism and
examples.

Course Objectives
The goal of this course is to provide students with an understanding of basic concepts in the
theory of computation. The learning objectives of this course are to:
1. Introduce students to the mathematical foundations of computation including automata
theory; the theory of formal languages and grammars; the notions of algorithm and
computability.
2. Understand the power and the limitations of regular languages and context-free languages.

Course Outcomes
Upon successful completion of the course, students would be able to:
1. Explain different methods for defining languages
2. Differentiate between Regular Languages and Non Regular Languages
3. Acquire a fundamental understanding of the core concepts in automata theory and formal
languages.
4. Design grammars and automata (recognizers) for different language classes.
5. Understand the limitations of different languages.
6. Identify formal language classes and prove language membership properties.

Recommended Textbook
Daniel I. A. Cohen, “Introduction to Computer Theory”, 2nd edition, Jhon Wiley & Sons,
Ins.https://www.academia.edu/38428784/introduction-to-computer-theory-by-cohen-
copy.pdf

Reference Books

1. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, “Introduction to Automata


Theory, Languages, and Computation”, 2nd edition, Addison-Wesley 2001. ISBN 0-201-
44124-1.
2. Peter Linz, “Introduction to Formal Languages and Automata”, 4 th edition D. C. Heath and
Company, 1990. ISBN: 0-669-17342-8.
3. https://www.tutorialspoint.com/automata_theory/automata_theory_tutorial.pdf

Lecture Schedule and Duration


Lectures will be held as per the College time table for Spring 2023, mentioned below:
 Class Timing
o Wednesday: 9:30 to 10:55
o Friday: 8:00 to 9:30

Teaching Methodology
Course lectures/materials will be presented in different formats – printed texts, web conferencing
(online lectures), PDF files, and video links as per course requirement and student/faculty
convenience.

Class Policies
1. Attendance & Absences: Attendance will be observed on regular basis. If you leave
early, you will be counted as absent. A student will not be allowed to sit in final exams if
she misses more than six lecture hours.
2. Assessment Completion & Late Work: Late Assessment submission is not allowed,
unless a permission is granted by the instructor prior to the deadline. All Course elements
including assignments, tests, examinations and presentations must be fulfilled to pass the
course.
3. Conduct Code: Cheating and plagiarism will not be tolerated. They will result in no
credit for the assignment or examination and may lead to disciplinary actions.

Tests/Quiz schedule (Post-Mid)


Short tests which would emphasize application as well as knowledge, will be administered at
regular intervals. MCQs and problems will be included in these tests. They will be taken
according to the following schedule to check concepts and problem-solving abilities of
students.
 Test /Quiz 1 February 6-10 2023
 Test /Quiz 2 February 27- March 03, 2023
 Test /Quiz 3 April 24 – 28 2023

Assignments
Two assignments will be given post-mid assess understanding of the students. Details of
assignment topics, format and any other requirements will be shared with class. For convenience,
students may submit handwritten assignments, scan/take picture and then share with me through
provided channel.
Submission Dates for Assignments
 Assignment 1 January 20 – February 30, 2023
 Assignment 2 February 13- 17, 2023
 Assignment 3 April 10 – 14, 2023

Assessment Instruments with Weights


Student’s performance will be evaluated through the following criteria:
Pre-mid Quizzes 10%
Pre-mid Assignments 10%
Midterm 25%
Presentations 10%
Post-mid Assignments 5%
Quiz/tests (3) 5%
Final 35%
Course Content and Weekly Schedule
Pre-Mid Weekly Schedule

Week 1 January 23 – 27, 2023 Introduction to the Theory of Computation


The Basic Concepts
Chapter 2 & 3, Cohen  Introduction to Language
 Formal & Informal Languages
 Finite & Infinite Languages
 Language Representation
 Operations on languages.

Week 2 January 30 – February 03, 2023 Regular Expression


 Recursive Definition
Chapter 4, Cohen
 Regular Expression
Lecture slides
Assignment-01

Week 3 February 6 – 10, 2023 Finite Automate


 Language associated with RE
Chapter 5, Cohen
 State Diagram, Transition
Lecture slides Acceptance/Rejection, Representation
of transition diagram, Languages
defined by Finite Automata

Test-01

Week 4 February 13 – 17, 2023 Finite Automate


 Nondeterministic Finite Automata and
Chapter 5 & 6 , Cohen their equivalence to Deterministic Finite
Automata.
 NFA vs DFA
 Transitions Graphs, Generalized
Transition Graphs/Transition Tables

Week 5 February 20 – 24, 2023 Regular Languages


 Regular Expressions, Languages
Lecture Notes defined by Regular Expressions.
 Closure Properties of Regular
Languages

Week 6 February 27 – March 3, 2023 Regular Languages


 Kleene’s Theorem.
 Connection between Regular
Chapter 7, Cohen Expressions and Regular Language
Test-02, Assignment-02

Week 7 March 06 – 10, 2023 Finite Automata with Output


Chapter 9, Cohen  More and Mealy Machine
 Practical Applications of More and
Mealy Machine

Week 8 March 13 – 17, 2023 Context Free Languages


 Formal definition of context-free
Chapter 9, Cohen grammar.
 Examples of context free grammars
 Relationship with nondeterministic
finite automata and regular languages.
 Revision

Exam Week March 20 – 31, 2023 Midterm Examination

Post Midterm Weekly Schedule for Online Classes

Week 9: April 11 – April 14, 2023  Chomsky Normal Form


 Trees
Chapter 14 & 16, Cohen
 Ambiguity Problems

Week 10: April 17 – April 21, 2023 Grammatical Format


 Regular Grammars
Chapter 13 & 16, Cohen  Leftmost derivations
Assignment -03

Week 11: April 24 – April 28, 2023 Pushdown Automata


 Formal definition of PDA
Chapter 17 & 18, Cohen  Adding a Pushdown Stack
 Problems
 Equivalence with CFGs
Week 12: May 01 – May 5, 2023 Non Context Free Grammar
 The Pumping Lemma for CFLs
Chapter 19 & 21, Cohen  Properties of CFLs
 Intersection and Complement
Test -03

Week 13: May 8 – May 12, 2023 Parsing


Chapter 22, Cohen  Top-down and bottom-up parser

Week 14: May 15 – May 19, 2023 Decidability


Decidability Determining whether the two
Chapter 23, Cohen languages are equivalent or not

Week 15 & 16: May 22 - 26, 2023 Revision


Presentations
Exam Week May 29 – June 7, 2023 FINALS

Generic Rubric for Project Presentation


Criteria Excellent Acceptable Less than Acceptable

Student effective use of Minimum level of Less than minimum level of


understanding and effective use of effective use of understanding
Content
knowledge of information understanding and and knowledge of information
Knowledge
knowledge of
3 1
information
2

Slides As per given format Minimum level Less than minimum level
Formation
2 1 0.5

Clarity Effective coherence Satisfactory Less than satisfactory


2 1 0.5

Presentation Effective use of Minimum level Less than minimum level


Skills presentation skills
3
1 0.5
Group Well-coordinated Minimum level of No coordination at all
Coordination presentation coordination
2 1
0

Handling Q/A All questions are correctly 50% of the questions Less than 50% of the questions
session answered are correctly answered correctly answered
3 1.5 0.5

You might also like