CS 575 Automata and Formal Languages, Spring 2016

http://www.cs.uky.edu/~goldsmit/575/syl2016.html

Syllabus

Time and Place: M/W/F 3-3:50 PM, 263 FP Anderson Hall

Professor: Dr. J. Goldsmith
Office: 311 Davis Marksbury Building
Office Hours: TBA or by appointment. Email questions encouraged and answered.

Course Description:

Introduction to models of computation and of formal grammars: finite automata and regular languages, pushdown automata and context-free languages, Turing machines, decidability, and computational complexity, including polynomial and nondeterministic polynomial time, polynomial space, and exponential time bounded computation.
Prereqs: CS 375 or consent of instructor; needed knowledge: Basic Boolean logic, set theory, and graph theory, especially notions of graph theory, depth first and breadth first search.

Textbook:

Introduction to the Theory of Computation. Michael Sipser, Course Technology; 3 edition (June 27, 2012).

Grading:

There will be biweekly homeworks due Wednesdays at the beginning of class except those weeks when there is an exam; assignments will be posted at least a week in advance, on the web. The lowest homework grade will be dropped. Illegible work will not be graded. There will be one midterm exam and one final.

Homework will be 50% of your grade; the midterm will be 20% and the final 30%.

Homeworks will be due on Wednesdays at the beginning of class on: Jan. 20th, Feb. 3rd, 17th, Mar. 2nd, 23rd, April 6th, and 20th.

READ THIS:

Attendance in class and section is very strongly encouraged.

Copying of homework from other students or from other sources is strictly prohibited. Obtaining a solution from another source without citing the source is plagiarism. You are encouraged to visit Dr. Goldsmith in her office hours or to send her email if you are stuck on homework problems. You do not need an appointment for regularly scheduled hours.

Week by Week Course Outline:

DateTopicChapterAssignment
Jan. 13--15 Math review, proofs; strings, languages 0 First homework
Jan. 20--22 Turing machines3
Jan. 25--29 Algorithms, Church-Turing thesis, RAMs 3 Second homework
Feb. 1--5 Time and space complexity 7
Feb. 8--12 Nondeterminism, NP, reductions7, 5.3 (ish) Third homework
Feb. 15--19 Decidability, Halting Problem4
Feb. 22--26 Semi-decidability, reductions, completeness 4Fourth homework
Mar. 7 Review Old Practice Midterm and New Practice Problems
Mar. 9 MIDTERM
Mar. 11 Preview of finite automata
Mar. 15--18 SPRING BREAK!
Mar. 21--25 DFAs, regular operations, NFAs, equivalence1 Fifth homework
Mar. 28--Apr. 1 Regular expressions, equivalence with FAs 1
Apr. 4--8Pumping Lemma, Myhill-Nerode Thm 1.4 Sixth homework
Apr. 11--15 CFGs, PDAs, equivalence2
Apr. 18--22Ambiguity, Pumping Lemma, nondeterminism2 Seventh homework
Apr. 25--292-stack automata, review of complexity 2 Practice exam
May 2FINAL: WEDS., MAY 4th, 3:30 PM

Dear Student: As part of our curriculum improvement process, the Department of Computer Science would like to know how well this course has helped you meet the learning objectives for the course. Please respond to the supplemental questions beginning at 37 on the response sheet as follows:

0= Not Applicable 1= Unacceptable 2= Poor 3= Acceptable 4=Good 5=Outstanding

The course has helped me to improve my ability, my understanding, or my knowledge in the following categories:

  1. ability to apply knowledge of computing and mathematics appropriate to the discipline;
  2. recognize the relationship between machine models and language generation;
  3. analyze languages in terms of machine complexity;
  4. analyze algorithms in terms of time and space complexity;
  5. design better algorithms;
  6. recognize problems that are intractable or uncomputable;
  7. understand the relevance of Theory to the CS curriculum.


webmaster@cs.uky.edu
This page last modified: Sunday, January 3rd, 2016