Automata Theory, Languages, and Computation Fall 2017 Welcome to CptS 317 Automata Theory, Languages, and Computation Fall 2017 Instructor: John Miller, FLO 134E Office hours: Tu & Th 3-5pm jhmiller@tricity.wsu.edu Check class web page for syllabus, lecture notes and assignments http://www.tricity.wsu.edu/~jhmiller
Objectives: Introduce students to finite automata, formal languages, and the theory of computation Textbook: “Introduction to Automata Theory, Languages and Computation, 3th Edition by Hopcroft, Motwani, and Ullman, Available at Bookie Student learning outcomes: Understand and use induction as a method of proof Understand and design finite automata Understand regular expressions and their relation to finite automata Understand the properties of regular languages Perform minimization of deterministic finite automata Understand the properties of context-free grammars and languages Understand and design push-down automata
Assessment of learning outcomes: No midterm exam Assessment of learning outcomes: No midterm exam. Homework, quizzes, and final exam have equal weight in determination of final grade. Testing will consist of math problems like those in homework assignments and/or class notes. Expectation of student effort: Students are expected to attend class regularly, contribute to class discussions, and participate in the solution of math problems that are like those in homework assignments and on quizzes. Students are expected to complete all homework assignments correctly prior to testing on the material related to those assignments. Attendance policy: No direct penalty to grade for missing class accept on testing days; however, from past experience of the instructor, students who rarely attend class, rarely get a C or better final grade. Makeup quizzes will be treated on a case-by-case basis. Final exam must be taken on the assigned date and time unless prior approval for an alternate date and/or time has been given by the instructor.
Description of required assignments: All required assignments will be math problems like examples in class notes and/or worked in class. Grading policy: No partial credit on homework assignments (100% for correct work completed before testing on related material, 80% for correct work completed after testing on related material). Homework can be redone as many times as needed to get complete correctness. No homework accepted after the last class period before final exam week. Partial credit be given for partially correct problems on quizzes and final exam.
Nuts and bolts IMPORTANT: Per WSU policy I will ONLY be able to respond to emails sent from your WSU email address. I will NOT be able to respond to emails sent from your personal email address. Blackboard will NOT be used for course management. Syllabus, lecture notes and assignments will be posted on the class web page. Questions about grades will be answered during office hours. Mid-term grades will be an indication of your progress in this class. Students receiving a grade of C or lower at midterm are advised meet with the instructor to implement a plan that will improve performance. Midterm grades are advisory and will not appear on your transcript.
More nuts and bolts Reasonable accommodations are available for students who have a documented disability. Accommodation forms are available through the Access Center. If you have a documented disability, even if it’s temporary, OR HAVE QUESTIONS ABOUT THE PROCESS OF DOCUMENTATION, please make an appointment as soon as possible with the Access and Support Services Coordinator, Gaby Corona, Floyd Building 269, 372-7352 or gabriella.corona@wsu.edu. You will need to provide your instructor with the appropriate accommodation form. Late notification could cause a potential delay in accommodations. All accommodations must be approved through the Access and Support Services Coordinator.
Academic Integrity: Academic integrity is the cornerstone of higher education. As such, all members of the university community share responsibility for maintaining and promoting the principles of integrity in all activities, including academic integrity and honest scholarship. Academic integrity will be strongly enforced in this course. Students who violate WSU’s Academic Integrity Policy (identified in Washington Administrative Code (WAC) 504-26-010(3) and -404) will not have the option to withdraw from the course pending an appeal, will be reported to the Office of Student Conduct, may fail the assignment or the course depending on the particular circumstance. Cheating includes, but is not limited to, plagiarism and unauthorized collaboration as defined in the Standards of Conduct for Students, WAC 504-26010(3). Please read and understand all of the definitions of cheating: http://app.leg.wa.gov/WAC/default.aspx?cite=504-26-010. If you have any questions about what is and is not allowed in this course, ask me before proceeding. If you wish to appeal a faculty member's decision relating to academic integrity, please use the form available at conduct.wsu.edu.
The Student Success Center: (CIC, second floor of library) includes academic advising, the CH2M STEM tutoring Center, and the Writing Center. Tutoring and writing consultant services are available free of charge to all WSU TriCities students. Walk-ins are welcome. Safety and Emergency Notification: Classroom and campus safety are of paramount importance at Washington State University, and are the shared responsibility of the entire campus population. WSU urges students to follow the “Alert, Assess, Act,” protocol for all types of emergencies. Remain ALERT (through direct observation or emergency notification), ASSESS your specific situation, and ACT in the most appropriate way to assure your own safety (and the safety of others if you are able). 3-minute overview of Basic Emergency Procedures for the campus in video at https://youtu.be/WClaZzSvao4.
Emergency alerts Please sign up for emergency alerts (including campus closures in the case of severe weather) on your account at myWSU. Click Update Now! under “Tri-Cities Emergency Info” to register for notification by text message, email, telephone, or any combination of the three. Providing multiple contact methods will help ensure you receive notifications in a timely manner, and your information will NOT be used for any other purpose.
Emergency Evacuations: Make sure that you are aware of evacuation procedures and assembly areas in case of a building evacuation. When the alarm sounds, everyone must leave the building and assemble in designated areas. Try to stay together. Your instructor will be the last one to exit the room, close the door, and direct you to the assembly area. If any student is unable to evacuate, please notify immediately the evacuation coordinator (who should be wearing a green vest) so that the issue can be addressed. For this class, assemble at the blue emergency pole located directly south of the BSEL sidewalk, parking row 6. Each classroom has an evacuation map next to the door. Be sure you are familiar with it.
Financial Aid Deadlines: Applications open October 1st Financial Aid Deadlines: Applications open October 1st. Financial aid deadline for current students is November 30th.
Background and Introduction In 1930s A.Turing studied abstract machines (Turing machine) with properties like modern computers. His objective was to discover what computers could and could not do. This subject now called “deciability” If problem can be solved by computer, it is “decidable” 13 13
More Background In 40s and 50s, simple machines called “finite automata” were studied as models of brain function. Although not a good brain models, they turned out to be useful for other reasons. In 1950s, N. Chomsky introduced the concept of “grammars” that are closely related to finite automata. Context-free grammars are recursively defined. They can be parsed and analyzed by parse trees. Compilers were modeled after context-free grammars 14 14
More Background In 1969 S. Cook extended Turing work. He devised ways to separate computer problems into those that could be solved efficiently (tractable) from those that took so much time that computers are useless (intractable or NP-hard). 15 15
Why Study Automata? Finite automata are models for protocols, electronic circuits, etc. Regular expressions are essential for all types of computing Context-free grammars are used to describe the syntax of almost every programming language.
Automata used in code testing AUTOMATED TEST GENERATION FOR TEMPORAL SPECIFICATIONS by Garima Bansal, Washington State University, May 2017 Abstract “Buchi automaton has been widely used in the specification and formal verification of linear temporal properties for reactive systems… We present Property Coverage Tester (PCT), an integrated and automated test case generation tool for specification-based testing ... PCT seamlessly integrates test generation algorithms, analysis tools, models, and their generated test cases, into one application…”