The aims of this course are to understand basic theory of computation. And by the end of this course students will be able to Design deterministic and non-deterministic finite state machines and understand their capabilities and limits. Design deterministic and non-deterministic context-free grammars and pushdown automata. Design and analyze Turing machines, their capabilities and limitations. Demonstrate the understanding of complexity classes and current unsolved problems in theoretical computer science. Apply the theoretical concepts to the practice of program design with regular expresisons, parsing, and complexity analysis.
Know More