CS 466/666 Formal Languages and Automata


  • Quarter : Spring, 2011
  • Class Hrs : MW, 12:20-2pm, 044 Rike Hall
  • Office Hrs : MW, 2:30-3pm, 395 Joshi (or by appt.)

  • Course Description

    This course introduces the theory of formal languages and automata. The primary focus is on the two methods of defining languages: using generators (e.g., grammars/regular expressions) and using recognizers (e.g., finite state machines). Along with presenting the fundamentals, this course will develop and examine relationships among the various specification methods for the regular languages and the context-free languages, in detail. Overall, we plan to cover the first seven chapters of the text book. 


    Course Text

    Thomas A. Sudkamp: Languages and Machines, 3rd Edition, Addison-Wesley, 2005. ISBN 0-321-322-21-5


    Examinations

    There will be two midterm exams and a final exam given during the quarter. All students are required to take all exams, which are open book and open notes. There will be no make-up exams, except, under extraordinary circumstances and with prior approval. Given the nature of the material, the students are strongly encouraged to solve exercises given in the text on their own, to prepare for the exam. Some problems will be reviewed in the class with answers provided by the students, but there will be no graded homeworks.


    Grading

    The course grade will be determined by weighting the total scores on the first exam by 30%, the second exam by 30%, and the final exam by 40%. The letter grades will be assigned using the following scale: A[90-100], B[80-90), C[70-80), D[60-70), and F[0-60). However, I reserve the right to adjust the scale somewhat to utilize the gaps in the distribution. Academic dishonesty will be "rewarded" with a grade of "F".

    Attendance Policy

    All registered students are expected to attend all lectures. In case a student is absent from a lecture due to unavoidable circumstances, the student is still responsible for the material covered in the class, as it is typically available from the course web-page well in advance. Furthermore, the student is expected to find out about in-class announcements from their colleagues/instructor.


    Class Schedule and Syllabus


    Topic
    Class 1 Introduction; Recursive Definitions 1.1-2, 1.6-7
    Class 2 Proof by Induction; Strings and Languages 2.1
    Class 3 (cont'd)
    Class 4 Regular Sets and Expressions 2.2-3
    Class 5 Context-Free Grammars 3.1-3
    Class 6 Examples
    Class 7 Application  
    Class 8 Proofs by Induction 3.4
    Class 9 Parsing  (only if time permits) 18
    Class 10 (cont'd)/First Test (April 25)  
    Class 11 Transforming CFGs 4.1-4
    Class 12 Normal Forms 4.5-6
    Class 13 Finite State Automaton 5.1-4
    Class 14 FSA Examples/Second Test (May 11)  
    Class 15 Closure Properties 6.4-5
    Class 16 Nonregularity; Pumping Lemma 6.6
    Class 17 Examples of Nonregularity Proofs  
    Class 18 Lambda Transitions and their removal; DFA Minimization 6.5-7
    Class 19 FSA/Regular Sets/Grammars 6.1-3

    Final Exam (1-3pm) (June 8)


    Sample Exams