CS 3311
Formal Models of Computation
Fall 2012
MWF, 1:05pm - 1:55pm, Rekhi 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 MW between 11:00am-11:59am.
I understand that the office hour times I list will not fit everybody's
schedule. Feel free to stop by 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. The lowest grade you will get is as follows:
93-100 A
88-92 AB
82-87 B
76-81 BC
70-75 C
65-69 CD
60-64 D
00-59 F
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.6 |
Normal forms |
4.1 - 4.8 |
LL(1) grammars and top-down parsing |
18.1 - 18.2, 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 |
Formal specification of floating point numbers and accuracy |
Supplemental material is supplied |
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 Echo360 portal 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.
You are expected to 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 1: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 before and after the exam days. I will return
these exam day classes to you at other times.
The midterm exam dates are
October 4th, October 25th, and November 15th, all Thursdays.
These will be
1-hour, in-class, closed books/notes/workstations/neighbors,
open minds exams. The final exam's format will be similar, but it will
be a two hour exam.
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.
University policies:
- Affirmative Action
(
MTU affirmative action site
)
- Disability Services
(
MTU disability information
)
If you have a disability that could affect your performance in this
class or that requires an accommodation under the Americans with
Disabilities Act, please see me as soon as possible so that we can make
appropriate arrangements. The Affirmative Action Office has asked that
you be made aware of the following:
Michigan Tech complies with all federal and state laws and regulations
regarding discrimination, including the Americans with Disabilities Act
of 1990. If you have a disability and need a reasonable accommodation
for equal access to education or services at Michigan Tech, please call
the Dean of Students Office, at 487-2212. For other concerns about
discrimination, you may contact your advisor, department head or the
Affirmative Action Office, at 487-3310.
- Equal Opportunity Statement
(
Board of Control Policy
)
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.