Theory of Computation

By Prof. Subrahmanyam Kalyanasundaram   |   IIT Hyderabad
Learners enrolled: 322
This course is an introduction to the theory of computation. We start with computability --- different models of computations and see what are the capabilities of each of these models. Each of these models try to model a computer. We see the classes of languages each of these models are capable of computing. After computability, we will see an introduction to complexity, where we classify computable languages on the basis of easiness/difficulty of computation. The student should be comfortable with basic proof techniques.

INTENDED AUDIENCE: This is a core course BTech students in the Computer Science stream.

PREREQUISITES: Discrete Mathematics should have been completed. It is also desirable (not mandatory) that the students have done/are doing in parallel the Design and Analysis of Algorithms course.

INDUSTRY SUPPORT: As this is a core BTech CS course, this is important for any industry that requires a BTech student who is strong in CS fundamentals
Course Status : Upcoming
Course Type : Core
Duration : 12 weeks
Start Date : 23 Jan 2023
End Date : 14 Apr 2023
Exam Date : 29 Apr 2023 IST
Enrollment Ends : 30 Jan 2023
Category :
  • Computer Science and Engineering
Credit Points : 3
Level : Undergraduate

Page Visits

Course layout

Week 1: Introduction to the course, DFAs, Regular Languages, NFAs, Equivalence of DFAs and NFAs.
Week 2: Closure properties, regular expressions, Pumping Lemma for regular languages
Week 3: Myhill-Nerode Theorem, DFA Minimization
Week 4: Context free grammar, Chomsky Normal Form, CYK Algorithm
Week 5: Closure properties of CFL, Pushdown Automata, Equivalence
Week 6: Pumping Lemma for CFLs. Turing Machines, Decidable (recursive) languages, Turing-Recognizable (recursively enumerable) languages.
Week 7: (i) Equivalence of NTM and DTM, Church Turing thesis, Algorithms, Decidable languages from regular and context-free languages
              (ii) Halting Problem and undecidability. Reductions and other undecidable languages.
Week 8: Post Correspondence Problem (PCP) is undecidable, Rice’s theorem.
Week 9: Introduction to Complexity Theory. Asymptotic notation, Classes P and NP, Verifier model for NP.
Week 10: NP Completeness, Polynomial Time reductions, Cook-Levin Theorem
Week 11: NP Complete problems like Vertex Cover, Hamiltonian Path, Subset Sum, ILP
Week 12: Space Complexity, Relation with time bounded complexity classes, introduction to classes like L, NL, PSPACE and overview of results in space complexity

Books and references

1. Introduction to the Theory of Computation by Michael Sipser
2. Introduction to Automata Theory, Languages and Computation by John E. Hopcroft and Jeffrey D. Ullman.

Instructor bio

Prof. Subrahmanyam Kalyanasundaram

IIT Hyderabad
Subrahmanyam Kalyanasundaram is an Associate Professor at the Department of Computer Science and Engineering, IIT Hyderabad. He did his Masters from Dept of ECE in IISc. After which, he did his Masters in Mathematics and Phd in Algorithms, Combinatorics and Optimization from Georgia Tech. He has been at the Department of Computer Science and Engineering, IIT Hyderabad since 2011. He is interested in almost all areas of theoretical computer science, and has most recently been working on combinatorics, graph theory and graph algorithms of late.

Course certificate

The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: 29 April 2023 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
Registration url: Announcements will be made when the registration form is open for registrations.
The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.


Average assignment score = 25% of average of best 8 assignments out of the total 12 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Hyderabad .It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team

MHRD logo Swayam logo


Goto google play store