CS 466/666

Introduction to Formal Languages

Syllabus: Winter 2007

 

Class Time: 4:10−5:50 Tuesday, Thursday

Room:  236 Oelman

Instructor: Professor Sudkamp

Office: 431 Russ Engineering Center

email: tsudkamp@cs.wright.edu

phone: 775-5118

 

 

CS 466/666 is an introduction to formal language and automata theory.  In this course we will examine methods for defining syntax of languages and recognizing patterns: the languages can be defined using a rule-based systems called grammars and patterns can be recognized by the computations of finite state machines.  Along with presenting the fundamentals of these two topics, the course will develop and investigate the relationships between language definition and pattern recognition.  The text will be the third edition of Languages and Machines: An Introduction to the Theory of Computer Science.

 

The prerequisites for this course are Math 257 (discrete mathematics) and CS 400 or Math 257 and a 400 level mathematics or statistics course.  In particular, it is assumed that you are familiar with the material in Chapter 1 of the text that is listed below.

 

 

Topics: The topics to be covered include

 

·         Review: naive set theory, recursive definitions, and proofs by induction. Sections 1.1, 1.2, 1.6-1.7. 

·         String operations, regular sets and languages. Regular expressions in text searching. Chapter 2.

·         Context-free grammars, derivations, derivation trees, and regular and context-free languages, ambiguous grammars. Chapter 3.

·         Introduction to top-down and bottom-up parsing. Chapter 16.

·         Deterministic finite automata (DFA). Nondeterministic finite automata. DFA minimization. Chapter 5.

·         Relationships between regular grammars and finite automata.  Pumping lemma.  Closure properties for regular languages. Chapter 6.

·         Pushdown automata.  Equivalence with context-free grammars.  Pumping lemma.  Chapter 7. (As much as time permits).

 

 

Office Hours: My office is 431 Russ Engineering Center and my office hours for this quarter are 2:004−:00 Tuesday and Thursday, and by appointment.

 

I will be in my office considerably more than those hours, and you are welcome to stop in any time I am there.  I will also be pleased to make appointments with you at other times if you need to see me but cannot make my office hours.

 

Email and the phone may be used to obtain the answers to simple questions, such as "what did we cover in class?" or "what was today's homework assignment?"  Email and the phone, however, are not appropriate for obtaining help on the topics of the course.  Technical assistance needs to be given in a face-to-face manner so I can see where you are having difficulties and then help you to overcome them.  

 

 

Exams: There will be five exams given during the quarter.  The exams will be for 50 minutes and be given during the second half of alternating Thursday classes and at the scheduled time for the final exam.

 

There will be no make-up exams except for documented emergencies.  Examples of acceptable documentation are a letter from a doctor (on his/her letterhead) indicating that you were unable to take the exam due to illness or a letter from an employer indicating that you will be out of town on company business at the scheduled exam time. 

 

All exams are open book, but the textbook only. It is not the objective of this course to be an exercise in memorization.   Notes, copies of old exams, etc. are not allowed.

 

The exams for graduate students will contain more problems than the undergraduate exam.  These additional problems will be more theoretic in nature, reflecting the added sophistication expected of graduates students.  They may also cover material in the readings that is not represented in any of the assigned homework.

 

The exam dates are

 

Thursday, January 11

Thursday, January 25

Thursday, February 8

Thursday, February 22

Tuesday, March 13 5:45−7:45

 

Grading: Two methods will be used to calculate grades; your grade will be the highest obtained through either of the two methods.

 

Method 1: The lowest score on the first four exams will be dropped.  The grade for the course will be determined by the scores of the four exams (best three out of the first four and the final).  Each of the four exams used to determine the grade will make up 25% of the total score. Grades will be assigned using the following scale:

 

   A - 90% or above

   B - 80% - 89%

   C - 70% - 79%

   D - 60% - 69%

   F - below 60%

 

 

Method 2: All five exams are used to determine the grade.  Grades will be assigned using the following scale:

 

   A – 87.5% or above

   B - 75% - 87.5%

   C – 62.5% - 75%

   D - 50% - 62.5%

   F - below 50%

 

A missed exam counts as a 0.   Method 1 allows you to miss or do poorly on one of the first four exams and not have it affect your grade. 

 

The grade A indicates excellence: To receive an A, you must demonstrate a thorough knowledge of the material throughout the course. There will be no grades of incomplete given except when documented emergencies have made it unable for the student to finish the course. 

 

 

Study Guides: There are old exams online on the library website.  There is also a solutions manual that contains worked out solutions for about one third of the exercise in the text, which is also available online. 

 

To access the online material

 

a) Go to http://www.libraries.wright.edu/

b) click on Course Reserves

c) enter Computer Science in the select a department  box and click go

d) select the course (either CS 466 or CS 666, they are cross listed)

e) enter the password that you have been given in class

f) click on the item that you want

 

 

Homework: Homework, both reading and problems, will be assigned at each class.  The homework is to be finished by the next class period.  The problems are assigned to prepare you for the exams.  If you are able to master the homework, you will do well on the exams.  Time will be spent in class reviewing the homework.  The answers will be provided by the students. 

 

I urge you to work together on the homework problems.  This makes the entire process more enjoyable and fruitful.  Most of the homework problems have more than one solution.  Sharing your ideas and listening to those of others will increase your understanding and facilitate the solution of the problem.  The absolute (as opposed to relative) grading scale is designed to encourage students to work together.  The results of the other students in the class will not affect your grade: thus help others and get help from others yourself.  

 

Attendance: Attendance at classes is strongly recommended.  If you miss a class, it is your responsibility to obtain class notes and assignments from other students to be prepared for subsequent topics.  As stated above, there will be no make-up exams except for documented emergencies.  No grades of incomplete will be given except in the case of documented emergency that precludes a student from completing the course.  The determination of the sufficiency of the emergency and the documentation will be made by me.