![]() |
Languages and Machines:
An Introduction to the Theory of Computer Science, Third Edition
by Thomas A. Sudkamp Addison-Wesley Publishing Co., 2006 |
Please check out the book's
web
site.
I will ask you to read sections from this textbook, and will be assigning
exercises from it.
I will also be handing out supplementary material if needed.
| Assignments | 20% |
| Midterm exam 1 | 20% |
| Midterm exam 2 | 20% |
| Midterm exam 3 | 20% |
| Final exam | 20% |
You will get an assignment every Wednesday except the week before the Thanksgiving Break and the last week of classes. There will be a total of 12 assignments. For each student, I will delete the two assignments with the lowest grades. Each of the remaining 10 assignments is worth 2%. This adds up to 20%.
The assignments are the heart of this course and have contributed to the success of many students. They keep you in sync with the course material, therefore it is important that you reserve time each week to study the material and do the assignments. Note that dropping the two assignments with the lowest grades gives you an opportunity to skip two assignments. However, I strongly recommend against skipping assignments. Their individual point share is low but they give you the experience in dealing with a variety of problems.
The final grade will be calculated using a sliding scale using the percentages above.
The following are the topics that will be covered this semester:
| Topic | Sections from the textbook |
| Mathematical preliminaries | 1.1 - 1.8 |
| Languages | 2.1 - 2.4 |
| Context-free grammars | 3.1 - 3.3, 3.5, 3.6 |
| Normal forms | 4.1 - 4.8 |
| LL(1) grammars and top-down parsing | 19.1 - 19.6 |
| Finite Automata | 5.1 - 5.7, 6.1 |
| Properties of Regular Languages | 6.2 - 6.6 |
| Pushdown Automata | 7.1 |
| Turing Machines | 8.1, 8.2, 8.7, 9.1, 9.2 |
| Decidability, undecidability | 11.1 - 11.5, 12.1 - 12.3 |
Most people prefer to type their assignments using a word processor. However, hand written solutions are fine as long as they are legible. Unfortunately, we do not have the resources to decipher bad handwriting and might have to assume that no answer was given. If you desire to write programs to test any of the ideas, you are welcome to do so, but there is no such requirement.
While discussion with others is permitted and encouraged, the final work should be done individually. You are not allowed to work in groups for any of the assignments. If someone asks for help on a question, you are encouraged to discuss the general concepts but you are not allowed to show them your work.
The answers, comments, and programs (if any) must be the original work of the author.
You are allowed to build on material supplied in the class. If you use any other source, you should specify it on your assignment. You may use it by clearly acknowledging the source and its contribution to your work. For instance, "I found an answer to a similar question at http://www.xxx.yyy and used it to write my answer." Copying, plagiarism, unauthorized collaboration, and the like are not acceptable and will be reported to the Dean of Students' office. Please see the "Academic Integrity" paragraph below.
There will be no make-up exams. In the case of very unusual circumstances (e.g., death in the family, severe illness with doctor's written note), please come to see me and we can work something out.
As with the assignments, it is your responsibility to return legible answers. Unfortunately, I do not have the resources to decipher bad handwriting and might have to assume that no answer was given.
Collaboration, dishonesty, and the like during the exams are not acceptable and will be turned in to the Dean of Students' office. Please see the "Academic Integrity" paragraph below.