Document URL: http://www.cs.arizona.edu/classes/cs473/fall11/


The University of Arizona

University of Arizona, Department of Computer Science Seal of The University of Arizona

Fall 2011

C SC 473

Automata, Grammars and Languages



Class Meetings: This course is available in traditional lecture format, meeting twice a week on Tue & Thu 2:00-3:15, in the Education (EDUC) Building (just east of the 2nd St Parking Garage), in Room 353.
Web Page The Web site for C SC473 is: www.cs.arizona.edu/classes/cs473/fall11. This document is the one you are reading now, and contains general information about the course, policies, notes, assignments, schedule information, etc. There is also a link to it on your D2L ``Course Home" page.
D2L Both the course Web page and the D2L pages for the course are accessible to all students. It is worth familiarizing yourself with the D2L pages for this course. The D2L course page will be updated frequently, whereas, this page remains fairly static. You are expected to visit your ``D2L Course Home" page regularly. You are responsbile for all announcements made on the D2L course page. Assignments, solutions, news, videos, etc. will only be made available on D2L course page.
  • Start here: D2L Tip Sheet
  • Your D2L ``Course Home" page is accessible via d2l.arizona.edu. You must be registered for C SC 473 to gain access. After entering your UA NetID and password, you will be connected with your D2L ``My Home'' page, which was initialized for you at registration. The ``My Home" page contains a link to your ``Course Home" page for C SC473.
  • The D2L ``Course Home" page will have lecture notes, in paper form and video ``podcast" form, as well as homework assignments and any other handouts.
  • To learn more about how to use D2L, see the ``Desire2Learn Help" pages at help.d2l.arizona.edu. There are useful video tutorials at help.d2l.arizona.edu/students/home
About Video Lectures are not broadcast in real time. Instead lectures will be recorded, processed and available for viewing through D2L a few hours after class. These video recordings will remain accessible for review throughout the semester.

  • Current Class Camera Videos: An HD digital camcorder, positioned at the rear of the classroom, will capture image and audio of the podium, stage, instructor, screen and student interactions. Each day's video will be available, after some hours of processing delay, on the D2L site. On the ``Course Home" page, click ``Content" on the navigation bar. Scroll down to ``Class Camera Videos" in the outline of topics, and choose the lecture video for the desired date. The link naming convention for class camera videos is CSC473_MM_DD_a for the first part and CSC473_MM_DD_b for the second part. (For example, the class camera videos of the first class will appear as CSC473_08_23_a and CSC473_08_23_b). Each file that opens will in turn contain a link http://fosters ...-800kbps.mov that will open a window for streaming video.

    Besides being accessible via the class D2L page, class camera videos are available through UA's iTunes U site.

    • Go to the page http://itunes.arizona.edu//private/private.jsp
    • Click the blue button "Professors and Students" to launch iTunes.
    • You may need to configure your browser to open iTunes if it does not automatically open UA's campus-only site under iTunes.
    • Select "C SC: Computer Science" in the Fall 2011 pane.
    • Select ``CSC473 Automata, Grammars and Languages"
    • In the page for CSC473, there is a tab marked "C SC 473 Camera Recordings".
    • The file name format for class camera videos is
      • CSC473_MM_DD_a and
      • CSC473_MM_DD_b
      (Each lecture video is in two parts labeled _a and _b). Double-click the file wanted to play it.

      If you have difficulty viewing any of these videos, please contact the 24/7 Support Center at http://the247.arizona.edu/ or 520-626-TECH.

  • Previous Fall Camera Videos: Classroom lectures were also videotaped last fall for this course, which was taught by Prof. Peter Downey. Corresponding lectures from last fall (as they become relevant) will also be made available on the D2L class page.
Prerequisite C SC 345: Analysis of Discrete Structures is a crucial prerequisite. If you have not taken 345 or an equivalent course from elsewhere (typically entitled "Discrete Mathematics for Computer Science") the likelihood of success in this course is small. We will need specific material and facts from the prerequisite course, experience with mathematical techniques and methods of thought introduced there, and the ability to use standard language and notation. It is assumed you are familiar with the following topics: trees, graphs, elementary algorithm analysis, induction, recurrence relations, and combinatorics.
Instructor Joe Fowler
jfowler at cs dot arizona dot edu
Gould-Simpson 715
Office Hour: M 2:00-3:15, R 3:30-4:45 or by email appointment.
Teaching Assistants Sankar Veeramoni
Teaching Assistant
sankar at email dot arizona dot edu Gould-Simpson 710-B
Office Hour: MW 10:00-11:15 or by appointment

Nikhil Bhojwani
Teaching Assistant
nikhilbhojwani at email dot arizona dot edu Gould-Simpson 710-D
Office Hour: M 12:45-2:00 or by appointment
Communication
  • Office hours:

    For the instructor and teaching assistants, office hours are given above. These are ``walk-in" office hours, requiring no prior appointment. These hours are subject to change during the semester. We will update this web page when changes have to be made.

    If you cannot attend scheduled office hours, do not let this keep you from seeking help by connecting with course staff. Mail a member of the course staff to make an appointment outside the regular ``walk-in" office hours--in person of via email.

  • Offline questions (questions not asked during class nor during office hours):

    • D2L Discussion Questions:
      Offline questions should primarily be posed via the D2L forum interface. If there is not an existing thread, then create one in which the quick statement of your question is the subject. Either the instructor or one of the TA's will respond to your question in a timely manner. Examples of non-informative subject lines are "473: help on homework 5", "473: a question". Examples of informative subject lines are "473: hw 5, question 1 on unsolvability", "473: help understanding reduction". A good subject line helps us in getting back to you in a timely manner. Questions posted on the forum also have the benefit that all the students in the class can read the answer. As such, it is recommended that students keep apprised of the D2L forum postings, especially responses from the instructor or TA to a specific question. Often another student may post a response to a question that may adequately answer a question before either the instructor or TA has an opportunity to respond.

    • Emailed Questions:
      If you have a grade-specific question or other personal question that is not appropriate to post on the D2L forums, then questions can be emailed. However, before emailing a question, please consider whether it possible to either post a question on the D2L forum or ask the question in person if an immediate answer is not required. Emailed questions always include an informative subject line. The subject line must begin with CSC 473 Fall 2011: and indicate the nature of the question.

      Your message should include a minimum of relevant information, yet describe the matter at issue. Use complete sentences and write as clear a message as possible. Remove all irrelevant information before sending. It is usually not necessary to include all prior mail correspondence with your mail. Include only what is relevant from earlier exchanges.

Text
  • Required: Michael Sipser, Introduction to the Theory of Computation, 2nd Edition
    PWS Publishing, Boston, MA, 2006. ISBN 978-0-534-95097-3
    • Prices at UofA Bookstores and its affiliated site uofabookstores.com/amazon range from $133.25 (used) - $177.50 (new)
    • Prices at amazon.com range as follows
      • Used $34.99 - $144.16
    • Be sure to get the Second Edition (2006)
    • See list of Errata for the 2nd Edition on the web. Get these errata and mark corrections in your text.
  • Recommended:
    • Susan H. Rodger and Thomas W. Finley, JFlap: An Interactive Formal Languages and Automata Package, Jones & Bartlett, Sudbury, MA, 2006. ISBN 978-0-7637-3834-1
      • Prices at UofA Bookstores range from $48.75 (used) - $65.00 (new)
      • Prices at Amazon.com range from $17.40 (used) - $65.95 (new)
    • Peter Linz, An Introduction to Formal Languages and Automata, Fifth Edition, Jones & Bartlett, Sudbury, MA, 2011. ISBN-13: 9781449615529
      • Prices at Amazon.com range from $126.51 (used) - $163.95 (new)
Course Schedule

date event
Tue Aug 23 First class
Mon Aug 29 Last UAccess add/change
Mon Sep 5 Labor Day recess
Mon Sep 12 Census Day: last day to add units without penalty
Tue Sept. 13 Homework 1 due
Sun Sep 18 Last drop via UAccess (no record on transcript)
Tue Sept. 27 Homework 2 due
Tue Oct. 4 Midterm I
Fri Oct 14 Last drop/audit (W grade)
Last day to change to audit
Tue Oct. 20 Homework 3 due
Tue Nov. 10 Homework 4 due (also counts for Homework 5)
Fri Nov 11 Veterans' Day recess
Tue Nov. 15 Midterm II
Thu Nov 24 - Sun Nov 27 Thanksgiving Recess
Tue Dec 6 Homework 6 due , last day of class
Thu Dec 8 Dead Day
Fri Dec 9 Final Exam, 1-3 pm, EDUC 353
Sat Dec 17 Winter Commencement


Further University-wide calendar information can be found at:
Course Description & Outline This course is an introduction to the fundamental models of computation used throughout computer science: finite automata, pushdown automata, and Turing machines. The hierarchical relationships among these models, their relative power and limitations, and their variants are studied. Student skills are developed in understanding and using rigorous definition and proof to attack precisely formulated questions about computability and computation. The only successful method known for learning these skills is by working challenging problems, therefore, heavy emphasis is laid upon student problem assignments. The course aims at improving students written communication skills, and serves as a writing emphasis course. The course explores models for and fundamental limitations of the computational process. Proof techniques, major results and computing applications of the results will all be stressed. The material in this course is used in later, more advanced computer science courses. For example, regular expressions and context free grammars are essential in the design of software such as compilers and text processors; and closure properties and nondeterminism are needed to explore inherent intractability (NP-complete problems). Thus every effort is made to (1) motivate concepts with example applications, (2) build a standard vocabulary of concepts and techniques the student will later use frequently, and (3) emphasize the algorithmic and constructive basis of the proofs of results (e.g., regular expression to finite automaton conversion; problem reductions). Topics covered include: finite automata and regular expressions, turing machines, properties of regular sets, Church's thesis, context-free grammars and pushdown automata, decidable and Turing-recognizable sets, properties of context-free languages, universal machines, parsing applications, undecidable problems and reducibility.

  1. Introduction: Overview of the course. Reasons to study theory of computation.
  2. Mathematical Background: Sets, relations, functions. Graphs and trees. Transitive closure and relational calculus. Boolean (switching) logic. Alphabets, words, and languages. Expressing computations and problems in terms of languages. Proof techniques. Mathematical induction.
  3. Finite Automata and Regular Expressions: Finite memory devices. Definition of finite automaton. Non-determinism and the Rabin-Scott Theorem. Regular Expressions, their conversion into finite automata, and vice versa. State minimization. Moore and Mealy transducers. Applications. Closure properties. Non-regular languages and the Regular Pumping Lemma
  4. Context-Free Grammars and Pushdown Automata: Grammars, derivation relations, and derivation trees. Ambiguity. Simplifying CFGs. Chomsky and Greibach normal forms. PDAs and DPDAs. PDAs and CFLs. Applications. Right-linear grammars and finite automata. Closure properties. Non-CF languages and the CF Pumping Lemma.
  5. Turing Machines: Definitions. Turing-decidable(Recursive) and Turing-recognizable (Recursively Enumerable) languages. Computable functions and partial computable functions. Programming the TM. Robustness. Church's hypothesis (Church-Turing thesis). Universal Turing machines. Algorithms. Closure properties.
  6. Hierarchical relationships: Pumping lemmas. Regular sets and right-linear grammars. The Chomsky hierarchy.
  7. Decision Problems: Decidable languages. Membership, cardinality, and equivalence testing of finite automata, context-free languages, and deterministic TMs. Reductions between problems. Halting Problem. Diagonalization. Turing un-recognizable languages. Undecidable problems. Reducibility.
Grading Policies Grades for this course will be based in the following items:

weight item comment
20% Quizzes (12-15 short answer pop quizzes) Each quiz has up to 10 points awarded.
Quizzes spanning two classes are worth 20 points total.
Missed quizzes count for 0 points, but the lowest
two quiz grades (20 points total) will be dropped.
20% Homework (6 problem sets) No late or make up homework accepted, but the
lowest homework grade will be dropped.
40% Midterms I and II Each exam equally weighted, so each exam worth up to
20% of final grade. No make up exam allowed.
A passing grade will not be awarded if more than
one exam is missed.
20% Final Comprehensive Exam Will also replace the lowest of either the total quiz grade,
total homework grade, or the lowest of either exam grade
if the grade being replaced is lower than the grade on the final exam .

Each graded item, such as a quiz, a homework or an exam, is awarded raw score that is then normalized (and possibly curved) to the following scale where 87.5 -- 100 is an A, 75 -- 87.5 is a B, 62.5 -- 75 is a C, 50 -- 62.5 is a D, and less than 50 is an F. Both the raw and normalized scores appear on the each graded item. For each graded item, only the normalized score is recorded. The final cumulative course grade is computed as a weighted average of these normalized scores, using the weights described above. At the end of the course, the resulting weighted average is converted to a final letter grade using this "traditional" scale. Decisions on whether borderline scores (such as 74) will be recorded as the next highest letter grade will be made using (a) whether the student elects to take the final examination (and how well the student performs) and (b) evidence of accomplishment in the subject that is cumulative over the term.

Other Policies Attendance is not enforced, except with 0 points being awarded for that day's quiz grade (if a quiz is given that day). Each student is responsible for all material covered in lecture or assigned as reading or homework.

Without exception no make-up exam, homework, or quizzes will be given.

Homework is due--in paper form--at the start time of class on the due date. Late homework is not accepted.

If quiz, homework, or exam grade seems incorrect, unfair or inconsistent, you may appeal for a re-grade. Prepare a brief memo that explains which problems are of concern to you, and why you think they should be reviewed. Submit your memo, and the original quiz, homework, or exam and its grading sheet (if present) to the course TA or instructor during office hours, or during an appointment, and explain (and defend) your re-grading request. To obtain such a grade review, contact a member of the course staff for an appointment within 48 hours after the graded item was returned to you. After this 48 hour window, the grade will stand as originally awarded.

If you do not obtain satisfaction on a grading appeal from your instructor, you have a right to appeal a grade to the Department Head, and thence to the Dean. For the procedure to be followed, see the University's website at Grade Appeal.

All other academic policies of the University are adhered to in this course. A comprehensive list may be found by selecting ``Academic Policies" in the University of Arizona General Catalog 2011-12.

It is assumed that: you have the prerequisites for this course, and their prerequisites, etc., recursively.

The content of this syllabus is subject to change at the discretion of the instructor.

Academic Integrity Several assignments in this course (some quizzes and all homeworks) can either be worked on individually or in groups of two or three. If working in a group, the student must state clearly who the other one or two team members are. For quizzes, each person will submit their own copy of the quiz regardless of whether the quiz permits group collaboration. For homeworks, only one group submission is required listing the group members.

Beyond these allowances for group colloboration, students are expected to respect academic integrity and not to consult or borrow solutions from any other student than who they state on their quiz or homework. Many quizzes and all exams are always done individually. Students found to be in voliation of these policies will be warned and possibly displined given the extent of the violation. Regardless, the student or students involved will be reported to the university as part of its policy governed in the University's Code of Academic Integrity, which applies to all those in this course.

Morevoer, plagiarism is the incorporation of someone else's words or ideas without proper attribution, whether taken from another student, an author, the instructor's published solutions or the Internet. Plagiarism constitutes theft of intellectual property, and those who engage in it will receive the failing grade of ``E''. It is a violation of the University Code to use another person's solutions as your own, whether those solutions are taken from a student in this course, taken from solutions obtained from an earlier offering of this course, taken from the files of a student who took this course earlier, or taken from the Internet.

The Department of Computer Science Course Policy on Collaboration is found at http://www.cs.arizona.edu/policies/collaboration.html This Policy applies to the present course; please read it so that no future confusion arises.

A video entitled ``Academic Integrity Podcast" is available for viewing on the Dean of Students web page http://deanofstudents.arizona.edu.

C SC Computer Account Obtaining a C SC Computer Account:

Computer accounts for C SC Department machines are available to any course registrant, either in-person or on-line. The account can be used on any machine in the Department's open labs, or through the Internet via ssh or other virtual terminal connection (e.g., PuTTY, iTerm). An account on the Department machines will be generated automatically upon your registration for the course (allow 48 hours for initialization). Read about account services at http://www.cs.arizona.edu/computing/services. You can find out more information about your account at http://faq.cs.arizona.edu/idx.php/0/269/article/What-should-I-know-about-my-account-.html.

Login Name and Password:

Your C SC login name (userid, username) will match your current UA NetId. This NetID is the name of your UA email account, as in Your_NetID@email.arizona.edu. This login name is used for remote ssh access to lectura.cs.arizona.edu, and for login to lab workstations in Gould-Simpson 228 or 930.

Your initial password for C SC Department machines will be sent to your email.arizona.edu address at the beginning of the semester. For this reason, you must have an active email.arizona.edu account in order to receive a C SC account. Obtain a University NetID and email account at http://uits.arizona.edu/services/3_easy_steps

When you log in to lectura.cs.arizona.edu for the first time you will be forced to change your initial password to a more secure password. See Rules for Acceptable Passwords for information on choosing strong passwords.

Access to Gould Simpson and Labs:

On the first day of classes all students who have registered for C SC classes, whether in-person or on-line, will be able to use their CatCards for access to the Gould-Simpson Building, and to the C SC computer labs in Gould-Simpson Rooms 228 and 930. Access will continue around the clock until the end of the semester.

Computer Science ID (CSID):

You will need to know your Computer Science ID (CSID), which is different from your Student ID (SID). To find your CSID at any time, go to www.cs.arizona.edu/computing/services/csid.html. Enter your 9-digit Student ID (SID) without any hyphens, and push the submit button. Record your CSID for future reference. Grades will be posted using your CSID.

For any account problems, send email to lab@cs.arizona.edu.

Accommodation Students with disabilities, who may require academic adjustments or reasonable accommodations in order to participate fully in course activities or to meet course requirements, must first register with the Disability Resource Center, 1540 E 2nd St, 621-3268, email drc@w3.arizona.edu, URL http://drc.arizona.edu. DRC staff will qualify students for services, and provide a letter to the instructor listing accommodations to be made. This letter should be submitted by the student directly to the instructor as soon as possible during the first week of classes. The student should meet as soon as possible with the instructor by appointment or during office hour to discuss accommodations and how course requirements and activities may impact their ability to fully participate in the course.
Lecture Notes Some of the lecture notes for this class are in PowerPoint form, which are divided into sections; each section is called a ``Discourse". A Discourse typically covers one or more class lectures. PDF versions of these Discourses will be placed on the D2L course page in advance of the lecture to which they are relevant. These discourse are meant primarily as a supplementary source of material, since many of the slides in a discourse may not be covered explicitly during lecture. Instead, most of the lecture material for this class will be given either on whiteboard or make use of the document camera, where the student is expected to take notes. The material covered in this manner often will not be contained in the PDF slides. Students that miss class can either get a copy of another student notes or watch the class for that lecture.
Homework Standards All written work submitted for credit must be prepared using a program that produces typeset output with the appropriate type faces, symbols and notation used in the theory of computation (e.g., TeX, LaTeX, Word + MathType, etc). Figures can be rendered using a drawing tool like xfig, Word, paint, PowerPoint, etc. Students are encouraged to use JFLAP to construct figures whenever possible. Do not submit scanned images of handwritten work. The final product should be a PDF file that can be emailed or retrieved for review. That PDF should be printed on paper and submitted on the due date. Students should also retain an electronic copy of their homework.

Rules for submitted work:

Start each solution on a new page, repeat the problem statement, and number each page. Each page should list the name of the student and the possibly one or two other students with which they are working. Write on one side of the paper only. Write concise and clear solutions, since failure to communicate clearly will cost points whether or not the conclusion is correct. Remember that this is a Writing Emphasis Course, and work will be graded in part on the quality of your writing and ability to communicate. The grade will not depend only upon technical content.

All homework solutions are due at the beginning of the class lecture on the due date.

All good writing is based upon revision. It is essential to revise your work before submission, and to consider whether your argument will be understandable to the reader. For example, it is never a waste of effort to explain the strategy you intend to use in a proof or construction, before beginning to present the work in technical detail. Think of the reader. Explain as if teaching a colleague in your class. Revise. Revise again.

Reading Assignments Reading assignments should be completed before the relevant lecture on the subjects covered. Please see the D2L course page for individual assignments.

In particular, a quiz may be given at the beginning of class that a particular reading assignment is due.

Exams Exams are administered as follows:
  • Each of the three midterm exams will be handed out at beginning of the hour on the designated exam day. They will be collected at the end of the hour or class period. Late arrivals will not be granted extra time.
  • The final exam will be handed out at the designated time on the day designated in the Course Schedule above, and collected at the end of the designated time period. Late arrivals will not be granted extra time.
The three midterms are tentatively scheduled for the three dates given in the Course Schedule above. These dates are subject to change, with adequate lead time. The date and time of the Final Comprehensive Examination is fixed at the date and hour given above in the Course Schedule.

Information about forthcoming examinations (e.g., topics, example questions, rules for taking the exam) will appear here prior to the examination event.



http://www.cs.arizona.edu/classes/cs473/fall11/
Last updated August 24, 2011