This course develops mathematical thinking starting from understanding the concept of automata about automata concepts which include grammar, language and Turing machines through solving mathematical problems based on individual and group assignments as well as presentations presented in theory.