CS 3311
Formal Models of Computation
Spring 2021
MWF, 12:00pm - 12:50pm
Location: Remote, synchronous, interactive classes over Zoom
Instructor
Dr. Nilufer Onder
Office: 309 Rekhi CS Hall (I will not be using my office during the
Covid-19 pandemic.)
Office Phone: (906) 487 1641
Office Hours: I conduct office hours over Zoom.
To schedule a meeting, please send me an email with your available times.
Make sure to add "CS3311" to the subject line.
You are welcome to use the times I or our GTAs are available: most times a short meeting
is very helpful to clarify misconceptions.
Grading and Instructional Assistance
-
Parth Mishra
-
Soheil Sepahyar
Textbook
|
Languages and Machines:
An Introduction to the Theory of Computer Science, Third Edition
by Thomas A. Sudkamp
Addison-Wesley Publishing Co., 2006
( Textbook web site )
|
I will follow the textbook. However, it is out of print so I will not give
assignments that require having the textbook.
I will cover most of Chapters 1 through 5.
From the Pushdown Automata and Turing Machine chapters (Chapters 7 and 8)
I will cover only the beginning sections.
I use this book because it has a good pedagogical design in its coverage
of computer languages and automata theory. I do my best to expand the
topics gradually and establish the relevance of each step to the prior
steps.
Many students ask me if they should buy the book. On one hand,
mathematical material can be be hard to follow and it is good to have a
textbook to read.
On the other hand, textbooks are expensive. I will leave the decision to
you and will make a reserve copy available in the library.
I will also be handing out supplementary material when needed.
Grading
Assignments (Group 1) |
20% |
Midterm Exam 1a |
10% |
Midterm Exam 1b |
10% |
Midterm Exam 2 |
25% |
Midterm Exam 3 |
25% |
Assignments (Group 2) |
10% |
The exams are not cumulative. There is no final exam.
Exam 1 will be given in two parts to have a gentle start to the
semester.
You will get an assignment every Wednesday and it will be due the
following Wednesday. There are two groups of assignments. The first
group includes questions that prepare you for the exams.
There will be a total of 11 assignments in Group 1. I will delete the
assignment with the lowest grade. Their total weight is 20%
The assignments in Group 2 will be due after the last exam. Their
total weight is 10%.
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.
I strongly recommend that you don't skip assignments.
Their individual point share is low but they give
you the experience in dealing with a variety of problems.
There might be times where you are not able to complete the
assignment fully by the due date. This is understandable, and
dropping the assignment with the lowest
score prevents a single low grade from affecting your total grade.
Always turn in what you have by the due date. If you were not able to
turn in answers to all the questions, make sure to complete
the assignment without looking at the answers as soon as possible.
This will contribute greatly to your learning.
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.2, 1.6 |
Regular Languages |
2.1 - 2.4 |
Finite Automata |
5.1 - 5.7, 6.1 |
Context-Free Grammars |
3.1 - 3.6 |
Normal Forms for Context-Free Grammars |
4.1 - 4.7 |
Pushdown Automata |
7.1 |
Turing Machines |
8.1 - 8.2 |
Formal specification of floating point numbers and accuracy |
Not in the textbook, slides are provided |
Learning Objectives:
Students will
-
Write languages as recursive definitions, regular expressions, DFAs,
NFAs, CFGs, PDAs, and TMs.
-
Convert among equivalently powerful notations
for a language among DFAs, NFAs, and regular expressions.
-
Show the execution trace of a parsing algorithm (CYK algorithm).
-
Determine a language's place in the Chomsky hierarchy.
-
Gain familiarity with the Church-Turing thesis and its significance.
Required Background
I assume that you are familiar with the basic concepts such as sets, functions,
relations, and formal proofs. I will provide extra lectures to review
those topics thoroughly at the beginning of the semester.
Class recordings:
All the remote lectures will be recorded. My
students consistently comment that the recordings are a great convenience when they
would like to review material or occasionally miss a class. I always recorded
my face-to-face classes as well.
The link to each day's recording is
automatically posted on Canvas.
It is very important to note that the recordings are not meant to
replace class attendance. This class was not designed as an
asynchronous online
course. Over the many years I have taught classes, I have 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 attend class regularly. Please see below for
further information.
Class attendance:
You are expected to attend all classes.
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 due to unforeseen
circumstances. Please put "CS3311" in the
subject line. I will give you a quick
update on what has been covered and what is due.
Assignments---information and policy:
All the assigments should be uploaded to Canvas in the morning
on the due date (mostly Wednesday at 11:00am) Notice that it is 11:00am, not
11:00pm, thus not in the evening but 1 hour before noon).
Late submissions
are not accepted because I will discuss the solutions at the
beginning of class.
The assignments should be typed using a word processor of your
choosing. Pictures or
scans of handwritten answers are not acceptable.
If you wish 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 or solutions.
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 between 6:00pm-7:30pm.
We will have class before and after the exam days. I will return
these exam day classes to you at the end of the semester.
The exam dates are the following:
-
Exam 1, part 1 (Exam 1a):
Thursday, January 28, 2021, 6:00pm-7:30pm (Week 3)
-
Exam 1, part 2 (Exam 1b):
Thursday, February 11, 2021, 6:00pm-7:30pm (Week 5, after Winter Carnival Week)
-
Exam 2:
Thursday, March 4, 2021, 6:00pm-7:30pm (Week 8, before Spring Break)
-
Exam 3:
Thursday, April 1, 2021, 6:00pm-7:30pm (Week 11)
-
No final exam
These will be
1.5-hour, proctored, closed books/notes/workstations/other humans,
open minds exams. You will have the options for an in-person or a Zoom
exam.
If you have conflicts with the exams on Thursdays or want to use your
accommondations, please send me a
message with the course and exam number in the subject line, e.g.,
"CS3311 exam 1a conflict".
The exams are not cumulative.
However, the topics build on each
other. Even though there will not be direct questions related to prior
topics, you are expected to remember the main concepts throughout the
semester.
There will be no make-up exams. In the case of very unusual circumstances
(e.g., death in the family, severe illness with a 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
Office of Academic and Community Conduct web pages
(this is required reading!).
More tips and information can be found at
the
Dean of Students' page and the
MTU Senate policies.
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 affirmative action site
)
(
Student disability services
)
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
)