The course introduces students with fundamental concepts of automata theory and formal
languages to form basic models of computation which provide foundation of many branches of
computer science, e.g. compilers, software engineering, concurrent systems, etc.
Introduction to Automata.Finite Automata.Regular Expressions and Languages.Properties of
Regular Languages.Context-Free Grammars and Languages.Pushdown Automata.Properties of
Context-Free Languages.Turing Machines.Un-decidability.Intractable Problems.