CS 3311
Formal Models of Computation
Fall 2010
MWF, 2:05pm - 2:55pm, Rekhi Hall 214
Course description:
Introduction to the theory of formal languages and computation.
Topics include regular languages and finite automata, context free
languages and push-down automata, context free languages and push-down
automata, Turing-acceptable languages and Turing machines, and the
halting problem. Proof techniques and their applications such as
parsing, are also treated.
Instructor
Dr. Nilufer Onder
Office: 309 Rekhi CS Hall
Phone: (906) 487 1641
Office Hours: I have office hours on MWF between 1:00pm-2:00pm.
I understand that the office hour times I list will not fit everybody's
schedule. If you can't come during my office hours, feel free to
stop by at another time or send e-mail for questions. If you'd
like, you can set up an appointment by sending me an e-mail message. Make
sure that you include the times you can meet.
Textbook
|
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.
Grading
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.
Course topics
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 |
18.1 - 18.2 and 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 |
Class attendance:
Please send me an e-mail message if you know that you are going to
miss a class or if you have missed a class. Please put "[CS3311]" in the
subject line. I will give you a quick
update on what has been covered and what is due.
Class recordings:
I've signed up once again to have all the lectures recorded. My
students commented that the recordings are a great convenience when they
would like to review something or occasionally miss class. The wall
camera is not able to focus on the white board, therefore I write on
paper on the document camera. The link to each day's recording is
automatically posted on the Blackboard calendar for this class.
It is very important to note that the recordings are not meant to
replace class attendance. This class was not designed as an online
course. Over the many years I've taught classes, I've observed that
skipping classes is detrimental to student success. You need to attend
classes because being there gives you a multidimensional experience, an
opportunity to ask questions and to see the big picture. It also gives me
an opportunity to interact with you, assess your background, establish
relevance to other topics of interest to you, and adjust the pace of the
course. Another great advantage is that you get to know others in the
class, establish frienships, and get answers to quick questions.
Please do come to class regularly.
Assignments---information and policy:
All the assigments should be handed-in at or before the
beginning
of class on the due date (Wednesday at 2:05pm). If you are going to miss
a Wednesday class you may put your assignment in my mailbox with your
name and "CS3311" printed on it. Make sure
to send
me an e-mail message so that I look for it. Late submissions
are not accepted because I will distribute the solutions as soon as I
collect the homeworks.
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.
Exams---information and policy:
The midterm exams will be held on Thursdays at 6:00pm. We
will have class on Fridays following the exam days. These will
help us cover missed classes.
the first class, we will have class on the exam days. The midterm exam dates
are September 30th, October 21st, and November 11th. These will be
1-hour, closed books/notes/workstations/neighbors,
open minds exams. The final exam's format will be similar, but it will
be a two hour exam. The final exam is not cumulative.
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.
Academic Integrity:
If copying, plagiarism, or unauthorized collaboration is suspected,
the case will be turned to the Dean of Students' office with supporting
evidence. After this, the decision is made by the Dean. The procedure is
explained in the
MTU
Academic Integrity Policy (this is required reading!).
More tips and information can be found at
the Dean of
Students' page. The "Featured Links" on that page include
a link to a 12 minute
video presentation called "Academic Integrity at Michigan Tech - What
Students Need to Know."
Note that we
have a departmental policy of reporting the suspected cases to the Department
Chair's office.
Required Background
I assume that you are familiar with the basic concepts such as sets, functions,
relations, and formal proofs. We will review those topics thoroughly in
Chapter 1 and then move on to the main course topics.