CS532: Formal Languages

[ Info | Theme | Textbook | Lectures | Homework | Exams | Grading | More ]

Course Information

Lecturer: Xiang-Yang Li, xli@cs.iit.edu
Office Hours: 4:00PM-5:00PM (M,W), or by appointment.
Office: 237D, SB
Phone: 567-5207

TA: TBA
Office Hours: 3:00PM-4:00PM (M,W) or by appointment.
Office: TBA

Start Date: 8-27-01; End date12-7-00.
ClassTime: 5:00PM-6:15PM (M,W)
Classroom: 220 SB.

The class homepage is http://www.cs.iit.edu/~xli/cs532.html.
All handouts and important information will be posted there. Please check it for new information.

Course Theme

This course provides an introduction to the theory of formal languages and machines. We start by defining strings, alphabets, and languages. We then define grammars of different kinds and introduce the Chomsky Hierarchy of languages and corresponding machines. The first half of the course, up through the midterm is centered on regular sets and finite automata. The second half will be spent mostly on context free languages of various types, but we will define Turing machines and introduce the question of decidability at the end. Particular topics to be covered include:

Textbook

The official course text is Introduction to Formal Languages & Automata 2nd 97 ; Peter Linz; Hardcover, 377 pages; Jones and Bartletts, 1997, or Introduction to Formal Languages & Automata 3rd 2000 ; Peter Linz; Hardcover, 410 pages; Jones and Bartletts, 2000. ISBN 0-7637-1422-4

One useful text is Elements of the Theory of Computation - 2nd. ed.; Harry R. Lewis, Christos H. Papadimitriou; Hardcover, 352 pages; Prentice-Hall, August 1997.

Another useful text, that is also a classic, is Introduction to Automata Theory, Languages, and Computation; John E. Hopcroft, Jeffrey D. Ullman; Hardcover, 418 pages; Addison-Wesley, April 1979.

You will also find another text useful later in the course: Computers and Intractability: A Guide to the Theory of NP-Completeness; Michael R. Garey, David S. Johnson; Paperback, 338 pages; W. H. Freeman & Co., June 1979.

Lecture Notes

The course will be more likely organized as following.

I will try to put online lecture notes if possible. For more, see lectures.

Homework

See some Guidelines for Written Homework (by Prof. L. Pitt from UIUC).

Examinations

There will be one midterm exam, and one final exam. The midterm exams will probably be scheduled for the evening. Details will be announced via the class homepage soon. You will be responsible for all material covered in lectures, homework, and assigned readings.

Grading Policy

Tentative weighting scheme is as follows. However, the instructor reserves the right to make adjustments to these weights based on his a posteriori evaluation of the relative difficulty and fairness of the exams and homework.

Each problem will be graded 80% for correctness and 20% for style and clarity. Good style means giving a sound logical argument and a clear presentation, sufficient to convince someone who knows the material, but not the answer, that your answer is correct. Consider your audience to be a skeptical classmate. Good style also implies that an answer should be reasonably thorough, as well as reasonably concise.

Note: In order to pass the class, you must do sufficiently well on each of the categories in the table above. In particular, credit will not be given to those who skip much homework and rely on stellar exam scores.

Regrades: If you feel that a problem was graded incorrectly, please contact the teaching assistant first. Contact the instructor if there is still a disagreement. For best results, please attach a short note stating what you want regraded and why.

We want everyone happy and satisfied in learning.

How To Get The Most Out Of This Course?

It is better for you to have taken the prerequisite courses for this course. However, more important than any course is sufficient mathematical maturity to understand the difference between handwaving and proving. ("Handwaving is what I do on the board; proving is what you do on your homeworks"-- L. Pitt). Some of the problems will be difficult, and some of the homeworks may require a significant amount of time.
Attend lectures. Read the book. Refer to the course notes. If you have trouble solving a homework problem, try doing some easier related problems first. Go over the printed solutions when they become available, and make sure you understand them. Go to the TA or professor to discuss any misunderstandings you may have. If you understand all homeworks and solutions, you will probably do well on the exams.

 


xiangyang li

Last modified: Thu Jul 20 16:54:22 CDT 2000