Automata theory is the most influential and, perhaps, the most exciting subject in computing. The subject matter of this course is situated in the concepts and principles underpinning computing science and engineering. Indeed many everyday devices that carry out some forms of computation are first conceptualised and formally expressed as Automata. The Theory of Automata, as presented in computing, is concerned with the body of concepts, techniques and strategies employed in understanding and formalising the thought processes underlying the solution of well-defined problems. It can be viewed as the symbolic reckoning and systematic formulation of the computational exposition and explanation of the thought processes involved in problem-solving ( Ìsirò).

Our aim in this course is to explore the formal structures and framework for codifying explanations to the mechanisms involved in problem-solving processes. Fundamentally, computing involves the definition of a set of symbols over a well-defined domain of conceptualisation and the formulation of mechanisms for manipulating the symbols. In this course therefore, we shall be engaging the systematic investigation of an enterprise whose primary purpose is problem solving. We shall also see that the concepts of computing, problem-solving and language are intertwined.