Formal Languages and Automata Theory
What you'll learn
- Develop a formal notation for strings, languages and machines.
- Design finite automata to accept a set of strings of a language.
- Prove that a given language is regular and apply the closure properties of languages.
- Design context free grammars to generate strings from a context free language and convert them into normal forms.
- Prove equivalence of languages accepted by Push Down Automata and languages generated by context free grammars.
- Identify the hierarchy of formal languages, grammars and machines
- Distinguish between computability and non-computability and Decidability and undecidability.
- Mathematical Foundations of Computer Science
- Data structures and Algorithms
- Database Management System
Formal Languages and Automat Theory deals with the concepts of automata, formal languages, grammar, algorithms, computability, decidability, and complexity.
The reasons to study Formal Languages and Automat Theory are Automata Theory provides a simple, elegant view of the complex machine that we call a computer.
Automata Theory possesses a high degree of permanence and stability, in contrast with the ever-changing paradigms of the technology, development, and management of computer systems. Further, parts of the Automata theory have direct bearing on practice, such as Automata on circuit design, compiler design, and search algorithms; Formal Languages and Grammars on compiler design; and Complexity on cryptography and optimization problems in manufacturing, business, and management.
The purpose of this course is to acquaint the student with an overview of the theoretical foundations of computer science from the perspective of formal languages.
At the end of the course, the students will be able to:
Provide introduction to some of the central ideas of theoretical computer science from the perspective of formal languages.
Introduce the fundamental concepts of formal languages, grammars and automata theory.
Classify machines by their power to recognize languages.
Employ finite state machines to solve problems in computing.
Understand deterministic and non-deterministic machines.
Understand the differences between decidability and undecidability.
Who this course is for:
Prof. R. Madana Mohana working as Professor in Information Technology (IT), Chaitanya Bharathi Institute of Technology (CBIT), Hyderabad, Telangana, INDIA. He is having total 17+ years professional experience in Teaching & Research. He received his Ph.D. degree in Computer Science and Engineering from Sri Venkateswara University (S. V. University), Tirupati, Andhra Pradesh, INDIA in 2017. His general area of research is Machine Learning, Artificial Intelligence and Data Science, with a focus on information retrieval and recognition. He mainly teaches Formal Languages & Automata Theory, Compiler Design, Data Mining, Machine Learning, Database Management Systems, Python Programming and R Programming.
UDEMY INTERNATIONAL MOOCS CERTIFICATION COURSES developed by Prof. R. Madana Mohana:
1. Python Programming-For Every Beginners
2. Introduction to R Programming
3. Basics of R Software for Data Science
4. Formal Languages and Automata Theory
5. Compiler Design
International Journal of Engineering Computational Research and Technology (IJECRT)