Syllabus  |   Lectures  |   Downloads  |   FAQ  |   Ask a question  |  
Course Co-ordinated by IIT Kanpur


Download Syllabus in PDF format

Untitled Document

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.




Finite Automata – deterministic and nondeterministic, regular operations


Regular Expression, Equivalence of DFA, NFA and REs, closure properties


Non regular languages and pumping lemma, DFA Minimization,


CFGs, Chomsky Normal Form


Non CFLs and pumping lemma for CFLs, PDAs,  Equivalence of PDA and CFG


Properties of CFLs, DCFLs, Turing Machines and its variants


Configuration graph, closure properties of decidable languages, decidability properties of regular languages and CFLs


Undecidability, reductions, Rice's Theorem, introduction to complexity theory

It is recommended that the candidate has done a course in Data Structures and Algorithms.

Introduction to the Theory of Computation by Michael Sipser.

Important: Please enable javascript in your browser and download Adobe Flash player to view this site
Site Maintained by Web Studio, IIT Madras. Contact Webmaster: