0% found this document useful (0 votes)
9 views23 pages

WINSEM2024-25 CSE1008 TH AP2024254000354 2024-12-12 Reference-Material-I

The document outlines the course details for 'Theory of Computation' (CSE1008) at VIT-AP University, including objectives, outcomes, course content, evaluation methods, and prerequisites. It emphasizes understanding mathematical foundations, automata theory, and computational models, with a focus on applications in programming languages, algorithms, and various fields like AI and bioinformatics. The course is structured to enhance students' problem-solving skills and knowledge of formal languages and automata.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views23 pages

WINSEM2024-25 CSE1008 TH AP2024254000354 2024-12-12 Reference-Material-I

The document outlines the course details for 'Theory of Computation' (CSE1008) at VIT-AP University, including objectives, outcomes, course content, evaluation methods, and prerequisites. It emphasizes understanding mathematical foundations, automata theory, and computational models, with a focus on applications in programming languages, algorithms, and various fields like AI and bioinformatics. The course is structured to enhance students' problem-solving skills and knowledge of formal languages and automata.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Course Title : Theory of Computation

Course Code: CSE1008


Class number: AP2024254000354 / AP2024254000355/ AP2024254000357
LTP: 4-0-0
Slot: A2+TA2+TAA2 / B2+TB2+TBB2 / A1+TA1+TAA1

Venue: G15- CB
Name of the Instructor: Dr. D. V. LAKSHMI, PhD( Maths), M Tech(CSE), PhD(CSE)
Professor, School of Computer Science & Engineering (SCOPE)
VIT-AP University, Amaravati, Andhra Pradesh, India

Room no: G07- G Central Block.


Email id: [email protected]
Mobile no: 8790657430
Objective and Outcome(CO&PO)

Objectives:
1. To understand the essential mathematical foundations of automata
theory.
Objective and Outcome(CO&PO)

Objectives:
2. To design, finite state automata and the equivalent regular expression
for any given pattern.
Objective and Outcome(CO&PO)

Objectives:
3.To analyze and design Context Free Grammar, Pushdown Automata
and Turing Machine.
Objective and Outcome(CO&PO)

Objectives:
4. To understand the difference between decidability and undecidability
NBA PO’S

PO1- Engineering Knowledge


PO2- Problem Analysis
PO3 – Design and Development of Solution
PO4 - Conduct investigation of complex problem
PO5 - Modern Tool usage
PO6 - The engineer and Society
PO7 - Environment, and Sustainability.
PO8 - Ethics
PO9 – Individual and Teamwork
PO10 - Communication
PO11 – Project management and Finance
PO12 - Life-Long Learning
Program Outcomes (POs) for B.Tech Students:

1.Engineering Knowledge: Apply mathematics, science, and engineering


fundamentals to solve complex problems.
2.Problem Analysis: Identify, formulate, and analyse engineering problems
using a structured approach.
3.Design/Development of Solutions: Design innovative and sustainable
solutions for complex engineering challenges.
Program Outcomes (POs) for B.Tech Students:
4.Conduct Investigations of Complex Problems: Use research
methods, including experiment design and data analysis, to
draw conclusions.
5.Modern Tool Usage: Apply modern engineering tools and
techniques to model and solve engineering tasks, recognizing
their limitations.
Program Outcomes (POs) for B.Tech Students:

6.The Engineer and Society: Assess societal, health,


safety, and legal issues and their implications in
engineering practice.
7.Environment and Sustainability: Understand the
impact of engineering solutions on the environment
and promote sustainable practices.
Program Outcomes (POs) for B.Tech Students:

8.Ethics: Uphold ethical principles and professional


responsibilities in engineering. Individual and Team
9.Work: Function effectively as an individual and as part of
diverse and multidisciplinary teams.
10.Communication: Communicate complex engineering
concepts effectively through reports, presentations, and
documentation.
Program Outcomes (POs) for B.Tech Students:

11.Project Management and Finance: Demonstrate


management skills and apply engineering principles
to lead projects efficiently.
12. Life-Long Learning: Recognize the need for
lifelong learning to adapt to technological changes
and innovations.
Programme Outcomes (PO): (Common for all the programmes)
After successful completion of the program a student is expected to have abilities to:
PO1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering problems.
PO2. Problem analysis: Identify, formulate, research literature, and analyse complex engineering
problems reaching substantiated conclusions using first principles of mathematics, natural sciences,
and engineering sciences.
PO3. Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate consideration
for the public health and safety, and the cultural, societal, and environmental considerations.
PO4. Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of the
information to provide valid conclusions.
PO5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modelling to complex engineering activities with an
understanding of the limitations.
PO6. The engineer and society: Apply reasoning informed by the contextual knowledge to assess
societal, health, safety, legal and cultural issues, and the consequent responsibilities relevant to the
professional engineering practice.
PO7. Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for
sustainable development.
PO8.Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
PO9. Individual and teamwork: Function effectively as an individual, and as a member or
leader in diverse teams, and in multidisciplinary settings.
PO10. Communication: Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive
clear instructions.
PO11. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member and
leader in a team, to manage projects and in multidisciplinary environments.
PO12. Life-long learning: Recognize the need for and have the preparation and ability to engage
in independent and life-long learning in the broadest context of technological change.
CO’s Mapping with PO’s and PEO’s

Course Course Outcome Statement PO’s


Outcomes
CO1 Understand the abstract machines, computation and PO1, PO2, PO3
basic properties of formal languages, finite automata
CO2 Familiarity with regular language, regular expression, PO1, PO2, PO3
context-free grammars and can make grammars to
produce strings from a specific language

CO3 Can differentiate regular, context-free and recursively PO3,


enumerable languages and can compare and analyse to PO4, PO5
different computational models.

CO4 Acquire concepts relating to computational models PO3,


including decidability and intractability and can PO4, PO5
identify limitations of some computational models and
possible methods of proving them

Total Hours of
Instructions: 60
Course Content (60 hrs)
Module No. 1 Finite Automata (FA) 11 Hours
Mathematical preliminaries and notations-Finite Automata-Deterministic Finite Automata – Non-Deterministic Finite
Automata and equivalence with DFA - Epsilon transitions – Minimization of Finite Automata and its applications.

Module No. 2 Regular Expressions (RE) 9 Hours


Definition, Operators of regular expression and their precedence- Algebraic laws for Regular expressions and Kleene’s
Theorem - Regular expression to FA- DFA to Regular expression- Pumping Lemma for regular Languages

Module No. 3 RE & Context Free Grammar (CFG) 9 Hours


Closure properties of Regular Languages- Decision properties of Regular Languages -Context-Free Grammar (CFG) – Derivation
Trees – Ambiguity in Grammars and Languages
Module No. 4 Pushdown Automata (PDA) 11 Hours
Definition, Graphical Notation, Instantaneous Descriptions of PDA- Acceptance by Final state, Acceptance by empty stack,
Deterministic PDA- CFG to PDA - PDA to CFG
Module No. 5 Normal forms of CFG 9 Hours
Normal forms for CFGs: CNF and GNF, Closure properties of CFLs, Decision Properties of CFLs: Emptiness, Finiteness and
Membership, Pumping lemma for CFLs
Module No. 6 Turing Machine 11 Hours
Turing machines (TM): Basic model, definition and representation, Instantaneous Description, Language acceptance by TM-
Undecidable problems about TMs-Post correspondence problem (PCP)-Modified PCP- Introduction to recursive function
theory - Introductory ideas on Time complexity of deterministic and nondeterministic Turing machines
Books and study Materials

Text Books

1. J.E.Hopcroft, R.Motwani and J.D Ullman, “Introduction to Automata Theory, Languages and
Computations”, Pearson Education, 3rd Edition, 2013.

References

1. Micheal Sipser, “Introduction of the Theory and Computation”, Cengage Learning, 3rd
edition, 2014.

2. Martin J. C., “Introduction to Languages and Theory of Computations”, McGraw Higher Ed,
3rd edition, 2009.
3. K.L.P. Mishra and N.Chandrasekaran, “Theory of Computer Science: Automata, Languages
and Computation”, PHI, Third edition, 2009.
4. Papadimitriou, C. and Lewis, C. L., “Elements of the Theory of Computation”, Pearson, 2 nd
edition, 2015.
Mode of Evaluation

Mode of Evaluation Continuous Assessment Tests-60%, Practical Assesment-40%


Continuous Assessment Test-1 (CAT -1) 15%
Continuous Assessment Test-2 (CAT -2) 15%
Continuous Assessment Test-3 (FAT) 40%
Cumulative class Assessments 5%
(Home works)
Assignments – 2 and 1 Quiz 25%
(After completion of 2 modules )
Expected Outcome:
On completion of the course, students will have the ability to
1. Understand the abstract machines and computation, formal languages, finite
automata, grammars, pushdown automata and Turing machines.
2. To explore the theoretical foundations of computer science from the perspective of
formal languages and classify machines by their power to recognize languages.
3. Demonstrate the knowledge of mathematical models of computation and describe
how they relate to formal languages.
4. Derive an appropriate model of computation for a given language and vice versa.
5. Infer the equivalence of languages described using different automata or grammars.
6. Distinguish the computability power of automata and their limitations.
7. Understand the of key notions, such as computability, decidability and complexity
Prerequisites:
Set theory
Sets and operations on sets
Relations and classification of relations
Equivalence relations and partitions
Functions operations of functions
Fundamentals of logic
Graph theory
Algorithms and data structures at the level of an introductory programming
sequence.
Mathematical induction and its applications
Home work Rubrics:
One homework every week: Assigned on Tuesday and due the following Monday (at
10 PM)
No late home works.
Home works (Weightage 5 %)
Quiz and Assignments
Will be in class (and maybe online on Test portal or Google form/Classroom)
Goal: To help you ascertain your understanding of the material

Quiz : (25 Marks )( Weightage 10 % )


Assignment 1 for 30 Marks. ( Weightage 10 %)
Assignment 2 for 30 Marks. ( Weightage 5 %)
Home works (Weightage 5 %)
Examinations: Tentative Dates

CAT-1: 27th January 2025 to 3rd February 2025 (Monday to Monday)

CAT-2: 22th March 2025 - 29th March 2025 (Saturday to Saturday)

Commencement of FAT for Theory component / Courses: 28th April 2025 (Monday)

Last Instructional day: 25th April 2025 (Friday)

CAT will only test material since the previous exam.

Final Exam will test all the course material.


Why to study/learn Theory of Computation:

Understanding Computational Limits: Determines what problems can be solved by


computers (decidability) and what problems are unsolvable (undecidability).Helps in
identifying the boundaries of computational feasibility.

Design of Programming Languages: Provides a formal foundation for defining syntax


and semantics of programming languages using grammars and automata. Enables the
development of compilers and interpreters.

Development of Algorithms: Offers insights into the complexity of algorithms and


helps in designing efficient solutions for computational problems. Categorizes
problems based on their computational complexity (P, NP, NP-complete, etc.).

Pattern Recognition and Text Processing: Automata and regular expressions are
widely used in text editors, search engines, and data validation (e.g., syntax checking
for email addresses).
Why to study/learn Theory of Computation:
Artificial Intelligence and Machine Learning: Supports the modeling of decision-making systems
and parsing algorithms for natural language processing (NLP).

Formal Verification and Software Testing: Used in verifying the correctness of hardware and
software systems. Provides tools like model checking to ensure systems meet desired
specifications.

Cryptography and Security: Helps in understanding computational hardness, a basis for


designing secure cryptographic protocols.

Network Protocols and Finite State Machines: Used in designing communication protocols and
finite state systems in networking.

Robotics and Embedded Systems: Automata theory is employed to design control systems and
task execution models in robots and embedded devices.

Bioinformatics and Computational Biology: Supports the study of biological sequences using
algorithms derived from automata and formal languages.

You might also like