Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Indian Institute of Technology Kanpur

Theory of Computation

Indian Institute of Technology Kanpur and NPTEL via Swayam

This course may be unavailable.


This is an introductory course on Theory of Computation intended for undergraduate students in computer science. In this course we will introduce various models of computation and study their power and limitations. We will also explore the properties of the corresponding language classes defined by these models and the relations between them. We will assume the student is comfortable in analytical reasoning and has preferably done a course on Data Structures and Algorithms.INTENDED AUDIENCE: Computer Science undergraduate students.PRE-REQUISITES:It is recommended that the candidate has done a course in Data Structures and Algorithms.INDUSTRY SUPPORT: Content will be updated soon


Week 1: Finite Automata – deterministic and nondeterministic, regular operationsWeek 2: Regular Expression, Equivalence of DFA, NFA and REs, closure propertiesWeek 3: Non regular languages and pumping lemma, DFA Minimization,Week 4: CFGs, Chomsky Normal FormWeek 5: Non CFLs and pumping lemma for CFLs, PDAs, Equivalence of PDA and CFGWeek 6: Properties of CFLs, DCFLs, Turing Machines and its variantsWeek 7: Configuration graph, closure properties of decidable languages, decidability properties of regular languages and CFLsWeek 8: Undecidability, reductions, Rice's Theorem, introduction to complexity theory

Taught by

Raghunath Tewari



5.0 rating, based on 2 Class Central reviews

Start your review of Theory of Computation

  • Profile image for DHIRAAJ K V
    I recently completed the Theory of Computation course, and I wanted to share my thoughts on the experience. Overall, it was a highly enriching and intellectually stimulating journey that significantly expanded my understanding of theoretical computer science.

    The course content was well-structured and covered a broad range of topics, from the fundamentals of automata theory to advanced concepts like Turing machines and formal languages. The lectures were clear, concise, and supported by relevant examples that helped solidify complex theories. The inclusion of practical applications and real-world scenarios also added a practical dimension to the theoretical concepts, making the material more engaging.
  • it helped to solved automata and easy to implement after watching videos. easy to learn
    and implemwent .we will find the easiest teqnics to solv questions

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.