THEORY of COMPUTATION (BCS503)