X

Theory of Computation

By Prof. Subrahmanyam Kalyanasundaram   |   IIT Hyderabad
Learners enrolled: 3959
ABOUT THE COURSE:
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
Summary
Course Status : Completed
Course Type : Core
Duration : 12 weeks
Category :
  • Computer Science and Engineering
Credit Points : 3
Level : Undergraduate
Start Date : 23 Jan 2023
End Date : 14 Apr 2023
Enrollment Ends : 06 Feb 2023
Exam Registration Ends : 17 Mar 2023
Exam Date : 29 Apr 2023 IST

Note: This exam date is subjected to change based on seat availability. You can check final exam date on your hall ticket.


Page Visits



Course layout

Week 1: Introduction to the course, DFAs, Regular Languages, Regular operations, Closure under union
Week 2: NFAs, Equivalence of DFAs and NFAs, Closure properties, regular expressions, Equivalence of Regular expressions and DFAs.
Week 3: Pumping Lemma for regular languages, Myhill-Nerode Theorem, Context-free grammars
Week 4: Chomsky Normal Form, CYK Algorithm, Closure properties of CFLs, Pushdown Automata
Week 5: Equivalence of PDAs and CFGs, Pumping Lemma for CFLs, Introduction to Turing machines
Week 6:  Decidable (recursive) languages, Turing-Recognizable (recursively enumerable) languages, Multi-tape TMs, NTMs, Equivalence, Church Turing thesis
Week 7: Decidable languages from regular and context-free languages, Countable and uncountable sets, Halting Problem and undecidability.
Week 8: Reductions. Decidable and undecidable languages using reductions. Rice’s theorem. Computation Histories.
Week 9: Post Correspondence Problem (PCP) is undecidable, Introduction to Complexity Theory. Asymptotic notation, Classes P and NP.
Week 10: Verifier model for NP, Polynomial Time reductions, NP Completeness, 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.

CRITERIA TO GET A CERTIFICATE

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

DOWNLOAD APP

Goto google play store

FOLLOW US