TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Theory of Computation

Theory of Computation explores the mathematical models of computation. It covers automata, formal languages, grammars, and computability, helping learners understand the limits and capabilities of computing systems.

Select University

TUFWU

Select Program

BSC-CSITBCT-NEW

TabFlux . Theory of Computation . TU . BCT-NEW

Theory of Computation

0%

Course Title: Theory of Computation

Course No: ENCT203

Nature of the Course: THEORY

Semester: 3

Full Marks: 60 + 40

Pass Marks: 24 + 16

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction to Formal Language, Logic and Proof
7 hrs9 marks
1.1. Brief review of set theory, function and relation
1.2. Propositional logic, expressing statements in propositional logic, rules of inference and proofs in propositional logic, introduction to predicate logic
1.3. Proofs, principle of mathematical induction, diagonalization principle, pigeonhole principle
1.4. Alphabet and language
1.5. Operations on languages: Union, concatenation, Kleene star
2. Finite Automata and Regular Language
10 hrs13 marks
2.1. Introduction to finite automata, finite state machine
2.2. Deterministic finite automata (DFA), representation of DFA, language of DFA, design of DFA
2.3. Non deterministic finite automata (NFA), equivalence of DFA and NFA
2.4. Finite automata with epsilon transition (ε - NFA), equivalence of NFA and ε–NFA, equivalence of DFA and ε–NFA
2.5. Regular expressions and regular languages
2.6. Equivalence of regular expression and finite automata
2.7. Closure properties of regular languages
2.8. Pumping lemma for regular languages
2.9. Decision algorithm for regular language
3. Context Free Grammar and Pushdown Automata
10 hrs13 marks
3.1. Introduction to context free grammar (CFG), component of CFG, context free language (CFL)
3.2. Types of derivations, parse tree and its construction, ambiguity
3.3. Simplification of CFG, normal forms, Chomsky normal form (CNF), Greibach normal form (GNF), Backus-Naur form (BNF)
3.4. Closure properties of context free languages
3.5. Pumping Lemma for context free languages
3.6. Decision algorithm for context free language
3.7. Introduction to push down automata (PDA), representation of PDA, operations of PDA, move of a PDA, instantaneous description for PDA
3.8. Language of PDA, equivalence of CFL and PDA, conversion of CFG to PDA
3.9. Context sensitive grammar
4. Turing Machine
10 hrs14 marks
4.1. Introduction to turing machine (TM), representation of TM, move of a TM, instantaneous description for TM
4.2. Computing with turing machine
4.3. Variants of turing machine
4.4. Unrestricted grammar, Chomsky hierarchy of grammar
4.5. Recursive function theory
5. Decidability and Computational Complexity
5 hrs6 marks
5.1. Church turing thesis
5.2. Universal turing machine, encoding of turing machine
5.3. Undecidable problem about turing machines, halting problems and its implications
5.4. Computational complexity, time and space complexity of a turing machine
5.5. Complexity classes class P, class NP, NP-complete problems
6. Automata Theory and Compiler
3 hrs5 marks
6.1. Basic concept of compiler, role of lexical analyzer, lexical analysis with deterministic finite automata
6.2. Parser and context free grammar, top down parsing, bottom up parsing, IR parsing

Reference Books

  1. 1.Lewis, H. R., Papadimitriou, C. H. (1981). Elements of the Theory of Computation. United Kingdom: Prentice-Hall.
  2. 2.Sipser, M. (2006). Introduction to the Theory of Computation. United Kingdom: Thomson Course Technology.
  3. 3.Rosen, K. (2006). Discrete Mathematics and Its Applications. United Kingdom: McGraw-Hill Education.
  4. 4.Aho, A. V. (2003). Compilers: Principles, Techniques and Tools (for VTU). India: Pearson.

Notes:

Source:

This course introduces students to the foundational concepts of theory of automata, formal languages, computational models and computational complexity.

The objective of this course is to introduce students to:

  • The foundational concepts of theory of automata, formal languages, computational models and computational complexity

This syllabus follows the official BCT curriculum of Tribhuwan University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative. https://ioe.tu.edu.np/pages/computer-engineering-curriculum-structure-2635