Formal Languages and Automata CS314 CS Program 3 rd Year (1 st Semester) Page 5-1
Assiut University Faculty of Computers & Information Computer Science Department Quality Assurance Unit Formal Languages and Automata Course Specifications 2011-2012 Relevant program B.Sc. in Computers and Information (Computer Science) Department offers the program Computer Science Department offers the course Computer Science Academic year 3 rd Year Date of specification approval 24/9/2012 A. Basic Information 1. Course Title: Formal Languages and Automata 2. Course Code:CS314 3. Course hours per week: Lecture Tutorial / Practical Total 3 1 4 B. Professional Information 1. Overall aims of the course The objective of this course is to give students a broad overview of thetheoretical foundations of Computer Science, and to prepare students for the study of topics that depend upon an understanding of formal languages and automata. By the end of the semester, the student should be able to: specify the relationship between the four classes of languages, grammars, and automata, and explain why they are so related; convert expressions from grammar form to automata and from automata to grammar; show competence in the application of the major proof forms (the pumping lemmas) common to the study of theory of computer science; understand the limits of computing and have an introductory knowledge of complexity theory. CS Program 3 rd Year (1 st Semester) Page 5-2
2. Intended Learning Outcomes (ILOs) of the course a. Knowledge and Understanding Skills On successful completion of the course, graduates should be able to: a1. Describe precisemathematical claims using a range of fundamental definitions from discrete math and formal languages. a2. Discuss formal language and their applications a3. Explain detailed knowledge of foundational results for regular languages and finite automata. a4. Identify foundational results for context-free languagesand pushdown automata. a5. Describe some exposure to Turing machines and concept of computability. b. Intellectual Skills On successful completion of this course, graduates should be able to: b1. Systematically apply knowledge of the formal language and methods of related systems in the identification and solution of theproblems b2. Display sound judgment in the evaluation and selection of methods and tools appropriate for a given problem. b3. Analyzes and evaluate a range of options in producing a solution to an identified problem. b4. Evaluate problems solution results from a variety of sources b5. Critically assess the assumptions and values of proposed approaches and therelationship between theory and practice. c. Professional and Practical Skills On successful completion of this course, graduates should be able to: c1. Systematically apply appropriate methods to develop an algorithm to appropriate application c2. Apply new techniques in the planning and implementation of the algorithms. c3. Knowledge of pushdown automata and the correspondence theorem for pushdown automata and context-free languages. c4. Ability to apply the Pumping Lemma for context-freelanguages to show that a language is not context-free. c5. Ability to apply basic definitions related to Turing machines. d. General and Transferable Skills On successful completion of this course, graduates should be able to: d1. Manage tasks effectively. d2. Ability to share ideas and communicate with others d3. Communicate effectively by oral, written and visual means. d4. Work effectively as an individual and as a member of a team. d5. The ability to interact with the automaton theorem. CS Program 3 rd Year (1 st Semester) Page 5-3
3. Contents No Topic taught 1 Alphabets and languages. Finite representation of language. Deterministic and nondeterministic finite automata and their applications. Equivalence considerations. 2 Regular expressions. Context-free languages. Context-free grammars. Regular languages, pushdown automata. Properties of context-free languages. 3 Determinism and parsing topdown parsing and bottom-up parsing. 4 Turing machines: Computing with Turing machines, combining Turing machines, and nondeterministic Turing machines. No. of hours Lecture Tut/Prac ILOs 6 4 a1,a2,a3, b1,b2 c1, d1,d2,d3,d5 12 4 a1,a4, b1,b4, c1,c2,c3,c4, d1,d5 12 4 a5, b5, d1,d5 12 4 a5, b3, c5, d2,d5 4. Teaching and Learning Methods 4a. Lectures 4b. Tutorial Exercises 4c. Class Work 4d. Projects 5. Student Assessment 5a. Tools Final Exam Mid-Term Exam Class Work Projects 5b. Time Schedule Assessment Week No Final Exam 16 Mid-Term Exam 8 Projects 12-14 To measure knowledge, understanding, intellectual and professional skills. To measure following up and understanding the studied topics To measure the participation of the student during the tutorial, professional and general skills. To measure professional and general skills CS Program 3 rd Year (1 st Semester) Page 5-4
5c. Grading System The students points are calculated through the following point distribution. Assessment Grade % Final Exam 70% Mid-Term Exam 15% Project and/or Assignments 10% Class Work 5% Then, the passing and failing grades are evaluated from the student achievement point X based on the following table. Very Poor Poor Pass Good Very Good Distinguished 0% X< 30% 30% X< 50% 50% X< 65% 65% X< 75% 75% X< 85% 85% X 100% 5d. Formative Assessment Regular quizzes distributed along the whole semester. 6. List of References 6a. Course Notes o Short course notes available at doctor s office. 6b. Textbooks o Linz, Peter. An Introduction to Formal Languages and Automata, 4th Ed. Sudbury, MA: Jones and Bartlett Publishers, 2006. The publisher s web site for the textbook, which contains a link to errata for the book, is: http://www.jbpub.com/catalog/0763737984/ 6c. References o John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979. o Michael Sipser, Introduction to the Theory of Computation, PWS Publishing Company, 1997. 1. Facilities Required for Teaching and Learning 1. A lecture hall is equipped with a projector and a computer. 2. Tutorial rooms are equipped with projectors and computers. 3. A library. Course Coordinator: Dr. Marghny H. Mohamed Signature: Date: 24/9/2012 Department Head: Dr. Abdel-Rahman Hedar Signature: Date: 24/9/2012 CS Program 3 rd Year (1 st Semester) Page 5-5
Criteria Oral Exam Class Work Practical Exam Mid-Term Exam Final Exam Data Collections Case Study Projects Workshops Practical Exercises Tutorial Exercises Lectures Student evaluation, course file, exam results Course Matrix Course Name Formal Languages and Automata Course Code CS314 ILOs Teaching and Learning Methods Assessment Tools Course Aims Course Content Teaching Weeks a s b s c s d s specify the relationship between the four classes of languages, grammars, and automata, and explain why they are so related; convert expressions from grammar form to automata and from automata to grammar; show competence in the application of the major proof forms (the pumping lemmas) common to the study of theory of computer science; understand the limits of computing and have an introductory knowledge of complexity theory. Alphabets and languages. Finite representation of language. Deterministic and non-deterministic finite automata and their applications. Equivalence considerations. Regular expressions. Contextfree languages. Context-free grammars. Regular languages, pushdown automata. Properties of context-free languages. Determinism and parsing topdown parsing and bottom-up parsing. Turing machines: Computing with Turing machines, combining Turing machines, and nondeterministic Turing machines. 1-2 1,2,3 1,2 1 1-3,5 3-6 1,4 1,4 1-4 1,5 7-10 5 5 _ 1,5 11-14 5 3 5 2,5 Course Coordinator Dr. Marghny H. Mohamed Department Head Dr. Abdel-Rahman Hedar Signature Signature CS Program 3 rd Year (1 st Semester) Page 5-6
CS Program 3 rd Year (2 nd Semester) Page 6-7