Model 2.4 Faculty member + student Course syllabus for Formal languages and Automata Theory. Faculty member information: Name of faculty member responsible for the course Office Hours Office Number Email 2. Course overview and general information: College / Department The Bachelor of Computer and Information Sciences in (Computer Sciences) Course Name and code Formal languages and Automata Theory - CS 322D Number of credit hours 3 contact hours: lecture (3), exercise () 43 ه
A program or programs that offer this course The Bachelor of Computer and Information Sciences in (Computer Sciences) Year/course level Starting from Level - 3 nd year Prerequisites for this course (if any) Discrete Structures - CS00D Current requirements for this course (if any) None Site (to be given if not inside the main building of the institution) The main campus 3. Objectives of the course: - Covers a comprehensive introduction to automata theory and theory of computation. - Constructs, uses, designs and analyzes Context-free grammars (CFG), Contextfree languages (CFL), and single and multiple Turing machine (TM). - Constructs and uses regular expressions and finite automata. - Illustrates the proofs of various theorems in automata theory and describes the decidability and un-decidability in theory of computation. - Depicts the means to classify problems according to their time and space complexity complexity of decision problems. - Gives students a broad overview of the entire Formal languages and Automata Theory field by covering most aspects of it. 43 ه 2
4. Course description: Week 3 Date Topic Introduction to the course content and course overview Mathematical notations and basic Terminology. Conceptions of Language and Grammar. Languages Finite automata (DFA's ). Finite State Machine Languages Nondeterministic (NFA's - equivalence of DFA's and NFAs) expressions (regular expression - pumping lemma for regular expressions) Context Free Grammars (Context Free Grammar - Parse Trees; Ambiguity in Activity The student should read the assigned chapters before classes. The student is responsible for all material covered in the class. Instructors should teach students how to study, analyze, and think attentively and critically. Instructors should teach students to think independently and engage in group discussions. Encouragement of students to be creative in their presentation. Intended learning outcomes Recognize the main concepts of the automata, computability and complexity theory. Explain Mathematical notations and basic Terminology. Apply the efficient techniques, skills, and tools that are required to solve different cases of problems correctly and efficiently (explain, construct, design, analyze CFG, CFL, NFA, DFA, PDA, Chomsky method, TM, and pumping lemma for languages ). Analyze a problem, and Assessment methods Class participation, Bi-weekly quizzes, POP quizzes, research project and/or presentation given in class. Final written exam and Labs evaluation. 43 ه 3
2 Grammars and Languages, Pushdown Automata - relationship of PDA with CFG - Chomsky Normal Forms). Minimization of CFG s Turing machine (the Church- Turing thesis - nondeterministic TM). Variation of Turing Machine. Halting problem Decidability Undecidability Reducibility Classes P and NP (Definition of the classes P and NP - NPcompleteness (Cook s theorem) ) Computational complexity theory: Time complexity Computational complexity theory: Space complexity Teaching students to analyze data logically. Teaching students how to analyze using mathematical tools. Use different styles of references and various scientific journals. etc.. Individual counseling on research projects and scientific writing define the requirements appropriate to its solution Explain several fundamental principles of advanced topics in theory of computation. Describe and explain the importance of NP completeness and differentiate between the P class and NP class. Describe and explain how to classify problems according to their Time - Space Complexity. 43 ه 4
. Books and references: - Michael Sipser, "Introduction to the theory of computation", latest Edition. - Thomas A. Sudkamp, "Languages and Machines", latest edition. 6. Assessment methods and the division of grades: Assessment method (Write an essay - test - a collective project - a final test...) First exam Second exam Theory: Class participation Theory: Group project assignment Tutorial: Class participation Tutorial: Bi-weekly, POP etc. quizzes. Final exam (Theory) Two academic hours. Total Assessment Week 7 2 Each class By the end of 2 (Latest possible delivery date) Each class 4,6,8,0,2 After Grade 0 0 0 0 40 00 Percentage of overall grade 0 0 0 0 40 00 Comments Oral presentation %, Report %, and Discussion % (#,2,3,4, and )) %, and Assignment (#,2,3,4, and ) % 7. Instructions (if any): 43 ه