Department of Computer Science & Engineering CS 456/656: Automata and Formal Languages (Spring 2016) Meets: Tuesday, Thursday 4:00PM – 5:15PM, in AB 102 Instructor: Dr. Yaakov Varol Email: varol@cse.unr.edu Office: SEM 216 Office Hours: Tuesday, Thursday, 1:30PM to 3:00 PM, or by appointment Recitation Leaders: Thomas Rushton, Duncan Wilson Email: trushton@nevada.unr.edu, duncanw@nevada.unr.edu Recitation classroom: OB 204 (Orvis Building) Recitation Hours: Wednesday, 7:00PM – 8:15PM Required Textbook: Peter Linz, An Introduction to Formal Languages and Automata, 5th Edition Jones and Bartlett. Course Catalog Entry Fundamental concepts of computation. Relationship between grammars, languages and machines, emphasizing regular and context free languages, finite state acceptors and Turing machine. Complexity and computability. Prerequisite: CS 302; CS 365; and Math 283. Course Objectives This course is intended to be an upper level undergraduate or introductory graduate course in computer science theory. The object is to build upon the foundations laid down in CS 365. Theorems and proofs are important and will be covered. In this course you will learn the fundamental theory of finite automata and its connection to languages and grammars. Another goal is to understand Turing machines and their power and limitations that apply to computing. The ABET Accreditation Criterion 3 Outcomes that are relevant to this course are program outcomes numbered 1, 3, 5, and 12 specified below: ABET Criterion 3 Related Outcomes An ability to apply knowledge of computing, mathematics, science, and engineering. An ability to design, implement, and evaluate a computer based system, process, component, or program to meet the desired needs within realistic constraints specific to the field. An ability to analyze a problem, and identify, formulate and use the appropriate computing and engineering requirements for obtaining its solution. An ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices Tentative Course Outline The course will have three parts: automata and languages, computability, and complexity. Approximately two thirds of the course will be devoted to the study of finite acceptors, regular languages, pushdown automata, and context-free languages (chapters 1-8). The rest of the course will cover Turing Machines, computability, and complexity (chapters 914). Assignments and Exams Grading will be based on two exams, quizzes, and homework assignments. There will be several quizzes in class, which will be announced one class period in advance. Homework assignments will be collected for grading. There will be one midterm and one comprehensive final. The questions asked in the quizzes and exams will be drawn from the lectures, quizzes, and homework assignments. The workload and evaluations for CS 656 students will be different and more demanding. Quizzes and exams will have an additional problem for graduate students that will test a broader range of course material and formal proofs with detailed explanation. Graduate students may be asked to formally present homework problems and solutions to the class. Make ups (homework, quiz or exam) will be approved only in cases of medical emergency. Grading Scheme (tentative) Homework: Quizzes: Midterm test: Final exam: 15% 20% 30% 35% A (90 and above), B (80-89), C (70-79), D (60-69), F (<60), + and – will be used with some letter grades. Important Dates Tentative Exam Dates Midterm exam will be held on Tuesday, March 15, 2016. The Final Exam will be held on Thursday, May 5, 2016, 5:00PM- 7:00PM. Drop Deadline The last day to drop the class and receive a “W” is Tuesday, March 29, 2016. Course Policies Regular attendance is expected and highly recommended. If you miss a class, you are responsible for all material covered or assigned in class. Discussion of the assignments is allowed between students. However, each student would be expected to do his/her own work. Assignments that are too similar will receive a grade of zero. No late homework will be accepted. No incomplete grades (INC) will be given in this course and a missed quiz/exam may be made up only if it was missed due to an extreme medical emergency. Academic Standards You should carefully read the section on UNR Academic Standards found on-line. Your continued enrollment in this course implies that you have read it, and that you subscribe to the principles stated therein. In addition to the stated University standards, any assignment found to have more in common with another source (e.g., work of other students, online or published material, etc.) than is determined to be reasonable or acceptable by the course Instructor will be considered to be academic dishonesty. Per the University policy, the definition of academic dishonesty also applies to person(s) who provided the material(s) in question. When a student has demonstrated academic dishonesty, the policy of the Computer Science and Engineering Department is to apply the following minimum academic penalty of: 1) failure of the assignment with assigned grade of zero, and 2) a formal letter specifying the academic integrity breach and the associated sanction forwarded to the Office of Student Conduct to be placed in the student's permanent file. Depending on the egregiousness of the activity and for repeat offenders, sanctions beyond these minimums may be imposed at the discretion of the Instructor. NSHE policy on surreptitious taping of class lectures Surreptitious or covert videotaping of class or unauthorized audio recording of class is prohibited by law and by Board of Regents policy. This class may be videotaped or audio recorded only with the written permission of the instructor. In order to accommodate students with disabilities, some students may have been given permission to record class lectures and discussions. Therefore, students should understand that their comments during class might be recorded. Academic Success Services: Your student fees cover usage of the Math Center (7844433 or www.unr.edu/mathcenter/), Tutoring Center (784-6801 or www.unr.edu/tutoring/), and University Writing Center (784-6030 or http://www.unr.edu/writing_center/. These centers support your classroom learning; it is your responsibility to take advantage of their services. Keep in mind that seeking help outside of class is the sign of a responsible and successful student. Disability Statement Any student with a disability needing academic accommodations is requested to speak with the instructor or contact the Disability Resource Center (Thompson Building, Suite 101), as soon as possible to arrange for appropriate accommodations.