[vc_row el_class=”inner-body-content” css=”.vc_custom_1668505289871{padding-top: 30px !important;padding-bottom: 20px !important;}”][vc_column][vc_custom_heading text=”COURSE OBJECTIVES” use_theme_fonts=”yes” css=”.vc_custom_1668505430054{margin-top: 0px !important;}”][vc_column_text]

[/vc_column_text][vc_custom_heading text=”COURSE LEARNING OUTCOMES (CLO)” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]CLO: 1. Describe the role of abstract computational models to define which computational problems are solvable and which are not (C2-Comprehension).
CLO: 2. Define formal languages and their description in the form of formal grammars (C3-Application).
CLO: 3. Design grammars and models for different languages (C5- Synthesis).
[/vc_column_text][vc_custom_heading text=”COURSE CONTENTS” use_theme_fonts=”yes”][vc_column_text css=”.vc_custom_1668505241187{margin-bottom: 0px !important;}”]

  1. Introduction to Formal Languages
  2. Regular expressions and finite automata
  3. Non-deterministic automata
  4. Transition graphs and Kleene’s Theorem
  5. Operations on languages
  6. Closure properties of regular languages
  7. Pumping lemma
  8. Mealy and Moore Machines
  9. Push-down automata
  10. Context-free grammars
  11. Parse trees, ambiguity and non-determinism
  12. Chomsky Normal Form
  13. Pumping Lemma for Context Free Languages
  14. Turing machines and Turing computability