CPSC_V 501 - Theory of Automata, Formal Languages and Computability