This course is designed to introduce students to the concepts of the subject known as "formal languages and automata". The topics cover many concepts that are basis of many of the computer essential to the computer hardware and software topics. Principles of languages and grammars are discussed in details. The topics are used to design computer programming languages and create compilers for computer programming languages.
Do as many exercises as you can!