OREGON INSTITUTE OF TECHNOLOGY COMPUTER SYSTEMS ENGINEERING TECHNOLOGY DEPARTMENT COURSE : Introduction to Grammars ( CST-229) 3 Credit Hours (3 Class Hours, 0 Lab Hours) Professor: Office Phone: Office Hours: Office: Email: Quarter: Sherry Yang, Ph.D. 503-821-1292 R 4-6pm and other times by appointment. Room 213 sherry.yang@oit.edu (Best way to reach me) Winter 2013 TEXTBOOK: 1. Cohen, Daniel, Introduction to Computer Theory 2nd. edition, John Wiley & Sons, 1997. SPECIFIC COURSE INFORMATION: Catalog Description The concepts involving automata, regular expressions, context free grammars, and push down automata will be covered. (Basically, the first half of Part I--AutomataTheory and the first half of Part II—Pushdown Automata Theory in the text.) Prerequisite CST 211, and CST 223 or CST 231 Required, Elective or Selective: Required SPECIFIC GOALS OF THE COURSE: Specific Outcomes of Instruction This course introduces students to three main topics fundamental to computing – machines, languages and grammars. This is the theory class preparing students for Compilers which is the application of these three fundamental concepts. COURSE TOPICS: 1. Discrete Math Concepts 1 o Set and set operations o Permutations and Combinations 2. Languages o Chomsky’s language hierarchy o Language definitions using set notation o Kleene’s Closure and Positive Closure 3. Recursive definitions o Base step o Recursive step 4. Regular Expression o Operators - +, (), * o Kleene’s Closure o Property of regular languages 5. Finite Automata (FAs) o Relationship between Finite Automata and Regular Expressions o Component of an automaton – states, transitions, start state and final state(s). o Construct a finite automaton from a language description o Convert a Regular Expression to a Finite Automaton o Convert a Finite Automaton to a Regular Expression. 6. DFAs vs. NFAs o Deterministic FAs vs. Nondeterministic FAs o Convert a NFA to a DFA o Computational power of DFAs vs. NFAs. 7. Context-Free Grammar o Difference between Context-Free Languages and Regular Languages o Components of a grammar – S (Start symbol), V (Non-terminals), T (Terminals), P (Production Rules) o Ambiguity in the Grammar o Parse tree, derivation tree o Left & Right derivation o Construct context-free grammars 8. Grammar Transformations o Regular Grammars vs. Context-Free Grammars o Construct a Regular Grammar o Removing Lambda productions from Grammars o Removing Unit productions from Grammars 9. Push-down Automata (PDAs) o Compare PDAs with FAs o Construct a PDA from a language description 10. CNF and PDAs o Convert a grammar to Chomsky Normal Form o Construct a PDA directly from Chomsky Normal Form. Criterion 3 Outcomes Addressed By Course 2 7. knowledge of and ability to apply discrete math, probability and statistics (Program Objective B); BRIEF LIST OF TOPICS COVERED: 1. 2. 3. 4. 5. Syntax for defining languages How to define a language and the rules associated with that language Understand and apply finite and pushdown automata Understand and define context free grammars Understand and apply regular expressions GRADING PROCEDURE: 2 Tests 40% Homework & Programs 50% Class Participation 10% (including in-class exercises) Optional Final Exam 20%** Replaces one of the tests GRADING SCALE: 90%+ = A 80%+ = B 70%+ = C 60%+ = D 59%- = F LAB SCHEDULE and REQUIREMENTS: Not applicable CLASSROOM POLICIES: 1. Every student is expected to attend class on TIME and is responsible for ALL work missed during any absences. 2. Copying another’s work or plagiarism will not be tolerated. Please refer to OIT policy on Student Academic Integrity for more information: http://www.oit.edu/libraries/student_handbook/student_academic_integrity_policy.pdf 3. No make-up exams so please make arrangements with the instructor ahead of time if there is a schedule conflict. 4. There will be a 20% penalty per week for late homework and labs. Homework assignments more than a week late will not be accepted. OTHER IMPORTANT INFORMATION If you may need a course adaptation or academic accommodation because of a disability, or if you might need special arrangements in case the room or building must be 3 evacuated, please see me as soon as possible. I rely on the Disability Services for assistance in verifying the need for accommodations and developing accommodation strategies. Please call Abbie Allen at 503/821-1263 or send an email to abbie.allen@oit.edu. Her office is Room 432. Obstruction or disruption of teaching, research, administration, disciplinary procedures, or other institutional activities, including the Institution's public service functions or other authorized activities on institutionally owned or controlled property is strictly prohibited by Oregon Tech’s code of student conduct and may result in disciplinary action. Disability Services will frequently grant students permission to make audio recordings of classes as an accommodation. Students are informed that they may not share or otherwise distribute these recordings. Disability Services recommends that all syllabuses feature the following statement. It should be placed separately from the Disability Services Statement to eliminate the inference that students making recordings have a disability. Please be advised that this class may be recorded. If you would like permission to record this class you must speak with the professor. 4