Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Formal Language and Automata: CFG, PDA and TM
Rating: 4.9 out of 5(3 ratings)
61 students

Formal Language and Automata: CFG, PDA and TM

Theory of Computation
Created byAnita R
Last updated 6/2025
English

What you'll learn

  • Context free grammars and normalisation
  • Push down machine
  • PDA's equivalence with CFG
  • Turing Machine

Course content

3 sections33 lectures6h 26m total length
  • Context Free Grammar7:47
  • Construction of CFG15:28
  • Types of Grammar7:17
  • Derivations11:05
  • Parse Tree3:45
  • Example for Derivations and Parse Tree7:48
  • Ambiguity3:53
  • Ambiguity: Another Example5:51
  • Chomsky Normal Form: Simplifications20:56
  • Chomsky Normal Form17:03
  • CNF: Another Example11:34
  • Greibach Normal Form16:27
  • Context Free Grammar

Requirements

  • Basic Mathematical Knowledge

Description

Formal Language and Automata: CFG, PDA and TM is a fundamental course in theoretical computer science that provides a deep exploration of the mathematical principles governing computation. Designed for third-year Engineering students, the course introduces formal language theory and its role in defining computational boundaries and capabilities.

The course begins with an in-depth study of context-free languages (CFLs) and recursively enumerable languages (RELs). Students will learn to represent these languages using context-free grammars (CFGs), pushdown automata (PDA), and Turing machines (TM). The Chomsky hierarchy is introduced to classify different types of languages and grammars, providing insights into their expressive power. Key topics include the pumping lemma for CFLs, ambiguity in grammars, and normal forms such as Chomsky Normal Form (CNF) and Greibach Normal Form (GNF).

A major focus is placed on the practical applications of these theoretical models in areas such as compiler design, syntax analysis, pattern recognition, and software verification. Advanced topics include undecidability, computational complexity theory, and the Halting Problem, which highlight the fundamental limits of computation.

By the end of the course, students will have a comprehensive understanding of computational models, enabling them to analyze system constraints, optimize algorithms, and explore advanced domains in artificial intelligence, cryptography, and formal methods in Software Engineering.

Who this course is for:

  • Computer Science and Engineering Students