COM1777 Honors Adjunct for COM1350 Automata Theory

Professor Fell

[Top of Page | Options |
Theory Option: Due April 11 |Due May 6 |Due May 20 |Due May 30 ]

You have a choice in fulfilling the work for this honors adjunct. You may do either the programming option or the theory option.

Programming Option:

You may work alone, in pairs, perhaps in a larger group.

The goal of this project is to create an interactive, animated demo of the Myhill-Nerode state-minimization algorithm for finite state automata. You must first create an interactive animation of finite-state automata. I can give you the C++ code for my version of this but you probably want to convert it to JAVA.

We will meet up to one hour a week to look over code, to plan the demo, and to discuss the state-minimization algorithm.

You must submit a small user manual for the program.

A DFA interactive animation should be completed by April 25, 2002.
The final project should be ready to demo by May 23, 2002.

Theory Option:

This work is to be completed alone.

You must complete additional problems assigned from the text. The textbook for this course, "Introduction to the Theory of Computation" by Michael Sipser, is intended for undergraduate or graduate courses. It contains a wealth of neat but difficult problems. We will meet up to one hour a week to discus problems and present solutions.

There are 30 problems listed below. You do not have to do them all. Each correct solution, submitted on time, will receive 1 point. Each half-baked solution, submitted on time, will receive 1/2 point. Late submissions will not be accepted. As with regular homework, your work must be neat and legible or it will not be graded. Here is the grading scale:

GradeNumber of
Problems
A18
A-16
B+14
B12
B-10
C+8

[Top of Page | Options |
Theory Option: Due April 11 |Due May 6 |Due May 20 |Due May 30 ]

Due April 11, 2002:

Assume the result of problem 1.24.
ProblemHint
1.19Easy
1.20Imitate the definition of a DFA, Definition 1.1, page 35.
1.21You must do 1.20 correctly before you can do this.
1.25 Use 1.24 and think about carrying when you add.
1.26 Same hint as 1.25 but this one is harder.
You may have to carry 1 or 2 when you multiply by 3.
1.27 Don't use 1.24. Read the numbers from left to right
This one is fairly straight forward..
1.29 Easy
1.30 Don't use 1.24. Read the numbers from left to right.
What is (2*k) mod n in terms of k mod n?
What is (2*k + 1) mod n in terms of k mod n?
1.41Build a DFA or NFA to recognize the language D.

Due May 6, 2002:

ProblemHint
1.23b
1.23c
1.24Use NFAs.
1.36
1.37
[Top of Page | Options |
Theory Option: Due April 11 |Due May 6 |Due May 20 |Due May 30 ]

Due May 20, 2002:

ProblemHint
2.14Read about Chomsky Normal Form, pages 98-101.
2.15Use grammars.
2.17a&bDo a cross-product construction.
Why won't this work to prove that the intersection of two CF languages is CF?
2.18a
2.18c
2.19
2.20
2.26The # helps.
2.27Guess when you are at the middle.

Due May 30, 2002:

ProblemHint
3.9a
3.14
3.15
3.19Think about Turing Machines, not religion.
4.5
4.10
4.11Look at theorems 4.1 through 4.5

[Top of Page | Options |
Theory Option: Due April 11 |Due May 6 |Due May 20 |Due May 30 ]

Last Updated: March 27, 2002 9:26 a.m. by

Harriet Fell
College of Computer Science, Northeastern University
360 Huntington Avenue #161CN,
Boston, MA 02115
Internet: automata@harrietfell.com
Phone: (617) 373-2198 / Fax: (617) 373-5121
The URL for this document is: http://www.ccs.neu.edu/home/fell/COM1350/COM1777Honors.html