NATIONAL UNIVERSITY
of Computer & Emerging Sciences, Lahore
Department of Computer Science
CS301 – Theory of Automata
FALL 2023
Instructor Name: Dr. Tahir Ejaz
Office Location/Number: (C-137) Civil Engineering Building
Office Hours: Tuesdays & Thursdays 3:00-4:15
Course Information
Program: BS (CS)
Credit Hours: 3
Type: Core
Pre-requisite: CS211 Discrete Structures
Course Description/Objectives/Goals
This core course belongs to an important branch of computer science known as Theoretical Computer
Science (TCS). TCS deals with, among other concepts, the theory of computation which focuses on
automata theory, computability theory, and complexity theory. Students are gradually familiarized
with different types of increasingly more powerful mathematical models of computers known as
automata (plural of automaton) and the languages they can recognize.
# Course Learning Outcomes (CLOs)
CLO1 Identify formal language classes and prove language membership properties
CLO2 Differentiate and manipulate formal descriptions of languages, automata and grammars
with focus on non-regular and regular using automata (DFA, NFA, NFA-NULL)
CLO3 Differentiate and manipulate formal descriptions of languages, automata and grammars
with focus on context-free languages using automata (PDA and NPDA).
CLO4 Differentiate and manipulate formal descriptions of languages, automata and grammars
with focus on non context-free languages using Turing Machines
CLO5 Prove and disprove theorems establishing key properties of formal languages and automata
Textbook and Reference Book
1. John C. Martin. Introduction to Languages and the Theory of Computation. Fourth
Edition. McGraw-Hill. ISBN: 0-07-115468-X (International Students Edition).
2. Introduction to the Theory of Computation, Michael Sipser, 3rd Edition, Cengage Learning,
2012.
3. Introduction to Automata Theory, Languages, and Computation, John E. Hopcroft, Rajeev
Motwani, and Jeffrey D. Ullman, 3rd Edition, Pearson, 2006.
Page 1 of 4
Tentative Weekly Schedule
Week Topics
1
Introduction and Revision of Basic Concepts
2
Finite Automata: DFA
3
Finite Automata: NFA
4
Finite Automata: NFA-DFA Conversion
5
Regular Languages: Regular Expressions,
Equivalence with FA
6
MIDTERM EXAM 1
6
Regular Languages: Pumping Lemma
7
Context-Free Languages: CFGs
8
Context-Free Languages: PDA
9
Context-Free Languages: PDA-CFG
Equivalence
10
Context-Free Languages: Pumping Lemma
11, 12
Context-Free Languages: DCFLs
12
MIDTERM EXAM 2
13
Turing Machines: Introduction
14
Turing Machines: Variants
15, 16
Decidability
Page 2 of 4
(Tentative) Grading
1. Quizzes (15%)
2. Assignments (10%)
3. Midterm Exams (35%)
4. Final Exam (40%)
Grading Scheme: Absolute
Course Policies
1. Announcements related to different aspects of this course (e.g. lectures, quizzes, exams, etc.)
may be posted on google classroom. Students are expected to check the classroom regularly.
2. All students are expected to attend all lectures from beginning to end. Partial or full absence
from a lecture without a valid reason may hamper chances for securing good grades.
University’s attendance requirements must be met in order to appear in the final exam.
3. Late submission of assignments is NOT allowed.
4. Students are encouraged to take full advantage of instructor’s office hours. Any doubts
regarding concepts covered in class or any questions regarding quizzes, assignments, etc. may
be clarified during office hours. In case a student is not able to make it during office hours,
he/she may schedule an appointment with the instructor for another time slot.
5. Quizzes may be announced or unannounced. A quiz will usually be about 5 – 15 minutes long
and it may be given anytime during the lecture. Students missing a quiz will NOT be given a
make-up quiz.
6. Students are encouraged to finish the assigned readings BEFORE the lecture. This is likely to
improve lecture comprehension and class participation.
7. Students can contest their grades on quizzes and assignments ONLY within a week of the
release of grades. Exams will be available for review according to university policies.
8. Students are expected to demonstrate the highest degree of moral and ethical conduct. Any
student caught cheating, copying, plagiarizing, or using any other unfair means will be strictly
dealt-with in accordance with university policies.
Academic Integrity
• Plagiarism and Cheating against academic integrity. Both parties involved in such cases will
face strict penalty (negative marking, F grade, DC)
• CODE/ ASSIGNMENT SHARING is strictly prohibited.
Page 3 of 4
• Keep in mind that by sharing your code/assignment you are not helping anyone rather
hindering the learning process or the other person.
• No excuse will be entertained if your work is stolen or lost. To avoid such incidents
• Keep back up of your code on safe online storage, such as Google Drive, Drop box or
One drive.
• Do not leave your work on university lab computer, transfer your work to online
storage and delete from the university lab computer (empty recycle bin as well)
Page 4 of 4