This document contains questions from a Theory of Computation exam for a Computer Science degree program. It covers topics like regular expressions, finite automata, context-free grammars, pushdown automata, Turing machines, and the halting problem. The exam has two parts - Part A contains 10 short answer questions worth 2 marks each, and Part B contains 5 longer answer questions worth 16 marks each. Questions test knowledge of concepts like nondeterministic finite automata, parsing, Greibach normal form, programming techniques for Turing machines, and undecidable problems like the Post correspondence problem and the halting problem.