Academics

Program Name:

Bachelor in Computer and Information Sciences

Instructor:

Umar Faiz
Dept. of Computer and Information Sciences
Office: B-206
email: umarfaiz (at) pieas edu pk

Course Code/Credit hrs:

(CIS 317) Theory of Automata (3 Credit hrs)
1 Contact Hour is equivalent to 60 minutes. 1 Lab credit is equivalent to 3 contact hours.

Class Coordinates:

Room No# B-106
Monday, Tuesday & Friday

Learning outcomes:

On the completion of this course, the student should be able to:

Course Description:

The course explores the language theory and computability. Language theory includes: regular expressions, regular languages, finite automata (deterministic and non-deterministic), context-free languages, pushdown automata, and language grammars. Computability includes: Turing machines and their computing power, unsolvable problems, and intractable problems (NP-Completeness).

Course Objectives:

Pre-requisites

Discrete Mathematics

Textbooks/ Course URL

Course Text:

Recommended Books:

  1. Peter Linz, An Introductionto Formal Languages and Automata. Jones and Bartlett, 4th Edition, 2006.
  2. Michael Sipser, Introduction to the Theory of Computation. Thompson Course Technology, 2nd Edition 2006.
  3. Meduna, A. 2000, Automata and Languages : Theory and Applications, Springer Verlag
  4. Bakhadyr Khousinov, Ail Nerode, Automata Theory and Its Application, Birkhauser Boston, 2001

Course URL:

http://www.pieas.edu.pk/umarfaiz

Assignments:

Assignments represent your opportunity to learn the material and you are not responsible for mastery of the material until the midterm and final exams. Thus, assignment solutions themselves are not graded. Hands-on practice is necessary to achieve the required level of understanding and technical ability. Exercises are assigned that help achieve these objectives. It is strongly advised to attempt all assigned exercises to familiarize yourselves with the concepts and techniques.

Lectures, Tutorials & Attendance Policy:

Teaching Method(s):
Lectures, Tutorials
Teaching Media: Slides, handouts
There will be 48 sessions of 60 minutes each. 80% attendance is mandatory

Grading/Grading Policy:

Quizzes/Assignments [20%]
Sessional I/Sessional II [30%]
Final Exam [50%]

(Grades will be given as per PIEAS’ Policy (see prospectus for further details)
There will be absolutely no makeup quizzes. Makeup midterm will only be allowed in case of extreme emergency. Contact the instructor as soon as the emergency permits to discuss possible course of action depending on the extremity of the emergency. For credit all assignments must be turned in time. Late assignments will not earn any credit but to get a passing grade all assignments must be eventually turned in.

Rules and Regulations:

In addendum to Institute’s policy following rules will be strictly adhered to:
Attendance: Students are expected to attend course sessions. In case of any absence, students are responsible to make up for the course covered in the missed session. Attendance profile is consistently compiled and updated at the department and it is mandatory to meet the minimum requirements of 80% to qualify for appearance in the final examination.
Class Behaviour: Cell phones must be turned off when the student enters the classroom. Disruption of class by a cell phone may lead to expulsion from the class.
Academic Honesty: Academic integrity is the foundation of the academic community. Each student has the primary responsibility for being academically honest, students are advised to read and understand all sections of this policy relating to standards of conduct and academic life.
Plagiarism: Plagiarism involves the use of quotations without quotation marks, the use of quotations without indication of the source, the use of another's idea without acknowledging the source, the submission of a paper, laboratory report, project, or class assignment (any portion of such) prepared by another person, or incorrect paraphrasing.

Topics Coverage:

Weekly Course Plan:

Week# Lecture# Lecture Title Assessment
Week1 Lecture 1 Syllabus
Mathematical Preliminaries
Lecture 2 Methods of Proof Techniques
Lecture 3 Introduction to Theory of Computation Homework 1
Week2 Lecture 4 Concepts of Automata Theory
Lecture 5 Concepts of Automata Theory
Lecture 6 Finite Acceptors
Week3 Lecture 7 Finite Automaton (cont’d)
Lecture 8 Languages and NDFAs
Lecture 9 Languages and NDFAs (cont’d) Homework 2
Week4 Lecture 10 Regular Expressions
Lecture 11 Regular Expressions (cont'd)
Lecture 12 Coverting Regular Expressions to NFAs
Week5 Lecture 13 Coverting DFAs to Regular Expressions
Lecture 14
Lecture 15 Minimization and Equivalence of DFAs Homework 3
Week6 Lecture 16 Minimization and Equivalence of DFAs
Lecture 17 Minimization and Equivalence of DFAs (cont'd)
Lecture 18 Properties of Regular Languages Homework 4
Week7 Lecture 19 Pumping Lemma for Regular Languages
Lecture 20 Context-free Languages
Lecture 21 Context-free Languages Homework 5
    Sessional I  
Week8 Lecture 22 Pushdown Automaton (PDA)
Lecture 23 PDA String Acceptance by Empty Stack
PDA Acceptance by Final State
Lecture 24 Equivalence of the two Methods of PDA Acceptance
Equivalence of PDA's and CFG's
Homework 6
Week9 Lecture 25 Equivalence of PDA's and CFG's (cont’d)
Lecture 26 Non-Deterministic PDAs
Lecture 27 Non-Deterministic PDAs Homework 7
Week10 Lecture 28 Closure Properties of CFLs
Lecture 29 Simplification of CFLs
Lecture 30 Pumping Lemma for CFLs Homework 8
Week11 Lecture 31 Application of Pumping Lemma for CFL’s
Lecture 32 Application of Pumping Lemma for CFL’s
Lecture 33 Turing Machines
Week12 Lecture 34 Turing Machines (cont'd>
Lecture 35 Varaints of Turing Machines
Lecture 36 Varaints of Turing Machines
Computable Functions
Week13 Lecture 37 Universal Turing Machines
Lecture 38 Recursive and Recursively Enumerable Languages
Lecture 39 Recursive and Recursively Enumerable Languages (cont'd) Homework 9
    Sessional II  
Week 14 Lecture 40 Closure Properties of Recursive and Recursively Enumerable Languages Homework 10
Lecture 41 Non-Recursively Enumerable and Non-Recursive Languages (cont’d)
Lecture 42 Linear Bounded Automata
Week 15 Lecture 43 Reducibility
Lecture 44 Reducibility
Lecture 45 Undecidable Problems for RE Languages
Week16 Lecture 46 Undecidable Problems for RE Languages Homework 11
Lecture 47 Other Methods of Computation
Time Complexity/td> Review
    Final/Terminal