Introduction to languages, grammars and computation, Chomsky hierarchy, Regular languages and regular expressions, finite state automata and nondeterminism, automata determinization and minimization, pumping lemma and closure properties for regular languages, context free languages and grammars, push- down automata, pumping lemma for context-free languages, closure properties of context-free languages.

### Formal Languages and Automata Theory (CS 302)

__here__to view.

__here__to view.

Programs\Type | Required | Core Elective | Area Elective |

BA- Political Science | |||

BA-Cultural Studies | |||

BA-Cultural Studies | |||

BA-Economics | |||

BA-Economics | |||

BA-International Studies | |||

BA-International Studies | |||

BA-Management | |||

BA-Management | |||

BA-Political Sci.&Inter.Relat. | |||

BA-Political Sci.&Inter.Relat. | |||

BA-Social & Political Sciences | |||

BA-Visual Arts&Visual Com.Des. | |||

BA-Visual Arts&Visual Com.Des. | |||

BS-Biological Sci.&Bioeng. | |||

BS-Computer Science & Eng. | * | ||

BS-Computer Science & Eng. | * | ||

BS-Electronics Engineering | * | ||

BS-Electronics Engineering | * | ||

BS-Industrial Engineering | |||

BS-Manufacturing Systems Eng. | |||

BS-Materials Sci. & Nano Eng. | * | ||

BS-Materials Science & Eng. | * | ||

BS-Mechatronics | * | ||

BS-Mechatronics | * | ||

BS-Microelectronics | |||

BS-Molecular Bio.Gen.&Bioeng | |||

BS-Telecommunications | * |

### CONTENT

### OBJECTIVE

To introduce finite state machines , contex free grammars and Turing Machines (only on an introductory level) and their properties as the basis for the formal expressivity of computer languages and present algorithms and their computational complexity for solving linguistic decision problems .

### LEARNING OUTCOME

Construct deterministic and nondeterministic finite state automata (DFA and NFA) for solving simple decision problems and perform conversions from nondeterministic to deterministic finite automata as well as between regular expressions and finite state automata.

Evaluate the computational complexity of algorithms involved in the decision problems of finite state automata, use the pumping lemma to demonstrate the non-regularity of languages

Compute the minimal state machine corresponding to a DFA,

Understand and construct context-free grammars (CFG) for formal definitions involving recursion such as regular expressions ; in particular understand the fundamental role played by CFG in designing formal computer languages with simple examples

Construct (infinite state) push down automata as acceptors of context free languages ; in particular compute from CFGs the corresponding push down automaton and vice versa

Use the CFG version of the pumping lemma to prove languages that are not context free

Evaluate the computational complexity of algorithms involved in the decision problems of context free grammars and push down automaton, classify and simplify grammars into their useful canonical forms

Use deterministic push down automata to parse formal language strings (computer programs) by using (i) top down or (ii) bottom up techniques

Formulate simple language manipulation techniques using Turing Machines

In general ,learn and master the use mathematical induction techniques in proving statements on formal language and automata theory

### Update Date:

### ASSESSMENT METHODS and CRITERIA

Percentage (%) | |

Final | 35 |

Midterm | 20 |

Exam | 35 |

Assignment | 10 |

### RECOMENDED or REQUIRED READINGS

Textbook |
MAIN TEXT: Introduction to Automata Theory, Languages and Computation , Hopcroft, Motwani & Ullman, Pearson (Addison Wesley) 2006 , 3rd edition |

Readings |
AUXILIARY TEXT : Elements of the Theory of Computation, Lewis & Papadimitrious, Prentice Hall 1998 (out of print and discontinued) |