This module aims to introduce formal concepts of automata, grammars and languages; to introduce ideas of computability and decidability, and to illustrate the importance of automata, formal language theory and general models of computation in Computer Science and Artificial Intelligence.