The document describes a course on formal language theory. It provides details on the course number, title, credits, prerequisites, and status. It also outlines the course description, objectives, contents including regular expressions, grammars, automata, and context free languages.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
12 views5 pages
Formal Language - Course Outline
The document describes a course on formal language theory. It provides details on the course number, title, credits, prerequisites, and status. It also outlines the course description, objectives, contents including regular expressions, grammars, automata, and context free languages.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5
Course Number COSC3053
Course Title Formal Language Theory
Degree Program BSc. In Computer Science
Credits/Contacts 3/3
Prerequisite COSC3061
Semester 2nd Semester / Year III
Status of Course Compulsory
Course Description Overview of Natural vs. Formal Language,
Review of set theory and relations, Grammars, Introduction to phrase structure grammar and language, Regular grammars, Definition of regular languages and properties, Finite state automata, Definition of DFSA,NFSA, Equivalence of DFSA and NFSA Regular expressions Definition, simplification , equivalence between DFSA,NFSA and RE Pumping Lemma for regular language Context free grammars Definition, derivation tree, CFL, ambiguity of grammars Parsing arithmetic expression Normal forms( CNF, pumping lemma for CFLs ,GNF)
Pushdown automata(NPDA, DPDA)
Course Objectives and Upon the completion this course, the students will Competences to be acquired be able to:-
understand the difference between natural
and formal language understand regular expressions ,grammar, and language understand finite state automata identify DFSA and NFSA understand context free grammar Know how to parse arithmetic expression Course Contents 1. Basics Overview of languages Review of set theory and relations o Set theory definition operations cardinality and countability o Relations and functions basic definition of relations Equivalence relation Functions Mathematical induction Graphs and trees o Graphs o Trees Strings and languages o Strings o Languages 2. Introduction to Grammars Grammars (introduction) Types of Grammar Regular expressions (REs) Regular grammars o Regular grammars (introduction and definition) o Regular languages and properties o Transition diagrams Phrase Structure Grammar (PSG) and language o Derivation 3. Regular Languages Automata o Characteristics and types of automata o Finite State Automata (FSA) Deterministic FSA String acceptance by DFSA Nondeterministic FSA String acceptance by NFSA Equivalence of DFSA and NFSA FSA with lambda moves String acceptance by FSA with lambda moves Regular expressions (REs) o Identities for regular expressions o Equivalence of DFSA, NFSA, and RE Minimization of DFSA Identification of non-regular languages o Pumping lemma for regular languages 4. Context Free Languages Context Free Grammars o Introduction and Definition o Derivation Tree o Context free Languages o Ambiguity in grammars Parsing arithmetic expressions Removing lambda productions Normal Forms (NFs) o Chomsky NF (CNF) o Greibach NF (GNF) 5. Push Down Automata (PDA) (5hrs) Non-deterministic pushdown automata (NPDA) o Instantaneous description (ID) o Languages accepted by NPDA Deterministic pushdown automata (DPDA) o Languages accepted by DPDA
6. Introduction to Turing Machines
Definition of Turing Machines
Turing Machines and Deterministic Machines Undecidability Teaching and learning Lecture Methods Discussion
Assessment/Evaluation Theoretical Tests (30%)
and Grading System Assignment (20%) Final Exam (50%) Text Books 1. Martin, John C. Introduction to Languages and Automata Theory, 3rd ed., Tata McGraw- Hill, 2007. Reference Materials 1. Sudkamp, Thomas A. An Introduction to the Theory of Computer Science, Languages and Machines, 3rd ed., Pearson Education, 2006. 2. Cohen, Daniel I.A. Introduction to Computer Theory –, 2nd ed., John Wiley & Sons, 2004. 3. John C. Martin, An Introduction to Languages and the Theory of Computation, Tata McGraw Hill,2004 4. K.L.P Mishra, Theory of Computer Science, PHI, 2003 5. Chandrasekaran, Theory of Computer Science (Automata, languages & Computation), 2nd ed., 1998 Peter Linz, An Introduction to Formal Language Automata,D.C.Heath,1990