COS 451 - Automata, Computability, and Languages
- Fundamentals of formal languages and the mathematical theory of computation. Finite-state automata, nondeterminism, regular
- expressions, and Kleenes Theorem. Context-free grammars, pushdown automata, correspondence theorem and the pumping lemma. Computability, Turing machine, and the halting problem. Prerequisites: COS250. Credits: 3.
Place and Time:
- Tuesday/Thursday, 2pm-3:15m, 204 Neville Hall.
Larry Latour, Assoc. Prof., Dept. of Computer Science
- Office: 227 Neville Hall
Dept. Tel: 581-3941
Office Tel: 581-3523
Email: Firstclass (Larry Latour) or firstname.lastname@example.org
- Office Hours: Tuesday/Thursday, 1pm-2pm or by appointment
- Required Textbook:
- An Introduction to Formal Languages and Automata, Fourth Edition, Peter Linz, Jones and Bartlett Publishers, 2006.
Course Goals and Objectives:
- continues to provide the mathematical foundations needed for the study of Computer Science
- teaches material that is useful in subsequent courses, both undergraduate and graduate
- along with required courses COS250 Discrete Mathematics and COS350 Introduction to Algorithms, strengthens the student's ability to carry out formal and rigorous mathematical arguments, and
- provides both pragmatic and theoretical tools for a variety of Computer Science required and elective courses.
Students that complete this course:
- will have further strengthened their ability to reason formally about computing structures. They will do this through the weekly application of theorems and proofs.
- will have further strengthened their formal reasoning abilities in a wide variety of practical Computer Science topics, including but not limited to formal grammers in COS301 Programming Languages, specification and implementation structures in COS420 Software Engineering, state based modeling in COS431 Operating Systems, and expert systems structures in COS470 Artificial Intelligence.
- will have both the pragmatic and theoretical tools needed for a variety of future Computer Science required and elective courses.
- will have strengthened their formal base needed to enter graduate study in Computer Science.
If you wish to request an accommodation for a disability, please contact Ann Smith, Director of Services for Students with Disabilities (East Annex, 581- 2319) as early as possible in the term.
The course outline is closely aligned with the required text.
- 1. Introduction to the Theory of Computation, Chapter 1
- Mathematical preliminaries, languages, grammars, automata.
- 2. Finite Automata, Chapter 2
- Deterministic and nondeterministic finite acceptors, equivalence, state reduction.
- 3. Regular Languages and Regular Grammars, Chapter 3
- Regular expressions, regular languages, regular grammars.
- 4. Properties of Regular Languages, Chapter 4
- Closure properties, elementary questions, non-regular languages.
- 5. Context-Free Languages, Chapter 5
- Context-free grammars, parsing, and ambiguity in the context of programming languages.
- 6. Simplifications of Context-free Grammars and Normal Forms, Chapter 6
- Transforming grammars, normal forms.
- 7. Pushdown Automata, Chapter 7
- Deterministic and nondeterministic PDAs and their languages.
- 8. Properties of Context-Free Languages, Chapter 8
- Two pumping lemmas, closure properties, decision algorithms.
- 9. Turing Machines, Chapter 9
- The standard Turing machine and Turing's thesis.
- 10. Other Models of Turing Machines, Chapter 10
- Minor variations on the theme, more complex storage, non-determinism, universal machines.
- 11. A Hierarchy of Formal Languages and Automata, Chapter 11
- Recursive and recursively enumerable languages, unrestricted grammars, context sensitivity, Chomsky hierarchy.
- 13. An Overview of Computational Complexity, Chapter 14
- Efficiency of computation, Turing machine models and complexity, language families and complexity classes, P and NP, some NP problems, Polynomial-Time reducation, NP-completeness and an open question.
There will be 9 homework packages, roughly 1 per week on non exam weeks. Each homework package will include a collection of problems from the end of each chapter designed to review and strengthen the lecture concepts from these chapters. The homework will be selectively reviewed during class, and tests will be based very closely on problems discussed in class and assigned for homework. Students are expected to hand in their work on assigned due dates, with the penalty that late homework (1) will not be graded and returned in a timely manner for test review, and (2) will adversely affect the student's class preparedness and participation grade.
Homework Completeness: All homework (1) must be complete, (2) must be NEATLY-written, (3) must have a cover page containing the student's name, class, homework number, and list of problems, and (4) must be stapled in the upper left-hand corner.
Grades will be using the (+/-) grade scale based on the following work:
Incomplete Grades: The "I" grade (incomplete) indicates that the decision on a final course grade has been postponed because work ordinarily expected to be completed by the end of the semester has not been finished as the result of circumstances beyond the control of the student. The "I" grade is not a postponement for an "F" grade! An incomplete grade is not a guaranteed option selected by the student but must have the approval of the Instructor. The I" grade will be considered only in very rare cases and only when there is a reasonable expectation that the incomplete work can be completed in a reasonable amount of time. Normally the work must be completed and the grade filed by the tenth week of the next full semester.
- 9 homework "packages" - 9 x 4% = 36%
- preliminary exam 1 (1 hr. 15 min.) - 15%
- preliminary exam 2 (1 hr. 15 min.) - 15%
- final exam (2 hrs.) - 20%
- class preparedness and participation - 14% (1% each week)
Students need to complete all exams, AND all 9 homework packages, to be eligible for a passing grade. No makeup exams are given unless the circumstances warrant. Work will only be accepted if reasonable care and effort on the part of the student is evident.
Class preparedness and participation: Students must come prepared to discuss the text readings, text examples, and homework solutions on the due date.
Class attendance is a very important ingredient for learning the material associated with this course. Much of the insight
for understanding material included in the course occurs through questions and discussions within the classroom that may
not be covered in the text or lecture notes. Hence, it is expected students will attend class regularly.
You should notify me as soon as you anticipate or have an unavoidable absence.
Class attendance will also directly affect a student's grade in the course through class participation, homework, and exams. Each week consists of class attendence, class participation, and (possible) homework assignments for review. Therefore each week the student will recieve 1% of the final grade if and only if the requirements for that week are met.
The student is responsible for all material presented in lectures regardless of whether it is covered in the text or in class. It is the student's responsibility to determine the material covered in any class he/she is absent from and to make it up. NOTE: From previous classes it has been shown that there is a high correlation between a students final grade and class attendance!
Academic Honesty and Plagierism:
Academic dishonesty includes cheating, plagiarism and all forms of misrepresentation in academic work, and is unacceptable at The University of Maine. As stated in the University of Maine's online undergraduate Student Handbook, plagiarism (the submission of another's work without appropriate attribution) and cheating are violations of The University of Maine Student Conduct Code. An instructor who has probable cause or reason to believe a student has cheated may act upon such evidence, and should report the case to the supervising faculty member or the Department Chair for appropriate action.
Last updated: 8/17/10