- Monday, Wednesday 11:30 - 12:45 PM. Room: CAS 223
- Instructor: Dr. Kenrick Mock.
- Email: kenrick@uaa.alaska.edu
- Office Hours: Monday/Wednesday 1:30-2:00 PM or Tuesday/Thursday 1:00-3:00 PM or by appointment, CAS 158A
- Prereq: CS 330. You must have an internet account. If you do not have one, contact ITS to get one. You will also need to be assigned a computer science account for use on mazzy.math.uaa.alaska.edu and the systems in the computer lab.
- Web page: http://www.math.uaa.alaska.edu/~afkjm/cs450

- Required: Introduction to Automata Theory, Languages, and Computation. Second Edition. Hopcroft, Motwani, Ullman. Addison-Wesley/Pearson Education, 2001, ISBN 0-201-44124-1

**Course Description:** The objectives of the course are
a study of the theory of computing. Topics include finite
automata, context free grammars and parsing, regular languages, pushdown automata, Turing
machines, decidability, computablity, and complexity.

What does all this mean? These should become
familiar terms as the course progresses. Overall, the course is fairly
mathematical and relies upon logic and discrete math. Some students find
the abstract concepts difficult to grasp, particularly the proofs, so be
prepared to put in some extra reading if this is the case! In general
terms, at first we will study abstract computing devices starting from very
simple devices (deterministic finite automata) and moving to complex abstract
computing devices (turing machines). Along the way we'll see other
computing devices and ways to describe what can be computed through grammars and
languages. The second half of the course deals with the basic questions of
computability and tractability. Through the concept of a turing machine we
will describe algorithms and the complexity bounds of what can be
computed. Some problems we will see are undecidable (they can't be solved
by any computer!) while others may be intractable (they can be solved by a
computer, but take a ridiculously long time to do so).**Homework Assignments:
** Due by the beginning of class unless otherwise noted. You
may also submit homework via email. Approximately six homework
assignments will be given, some of which may include programming in the language
of your choice. Late homeworks will be penalized 10% per day late up until
the date solutions are posted. Unless otherwise indicated, programming
assignments and written assignments must represent your own work. It is
permissible to discuss the assignments with other students, but do not discuss
the solution.

**Questions:** If you have any questions, feel free
to come in to my office. In general, I have an open door policy -- if I am
available in my office, you are welcome to come by. An even better way to
reach me is through email. I check my email frequently and you should
receive a response quickly. Email is preferred over telephone and you will
probably receive a faster response since I don't check voicemail very
frequently. You can also contact me online via
ICQ, AIM, or MSN Messenger (see contact info on the
home page). I'm often up late and will be glad to
answer questions if I'm available!

**Grading: ** Letter grade.
There will be three exams, two midterms and a final exam. The midterms will cover
several chapters of the book. The final exam may include any material that was
covered in the course. Unless prior arrangements are made no make-up exams will
be given. Since you will be tested upon your critical thinking and problem
solving skills and not your ability to memorize formula, the exams will be open book (any
written material and a calculator is acceptable to bring to the test). Cheating
on assignments and exams is not acceptable. Written homework and programming
projects are individual assignments and it is expected that each student does
his own work.

Grading breakdown:

Midterm
1 18%

Midterm 2 18%

Final 30%

Homeworks 34% (All homeworks worth an equal amount)

The grade scale is shown in the table below. The
grading curve may be lowered if necessary but it will not be raised. This
means that if you received an 89% then you will at least get a B+, but may
receive a higher grade based on the curve. (Final grades don't include a +
or -).

Percentage |
Grade |
Percentage |
Grade |

98-100 | A+ | 80-78 | C+ |

93-98 | A | 78-73 | C |

90-93 | A- | 73-70 | C- |

87-89 | B+ | 70-68 | D+ |

83-87 | B | 68-60 | D |

83-80 | B- | 60-0 | F |

An incomplete grade will only be given for a valid excuse (e.g. medical, death in the family). An incomplete grade does not let you take the class over again, your final grade will be assigned based on work submitted in class and work that remains to be submitted.

**Cheating:** Students are expected
to uphold the UAA standard of conduct relating to academic dishonesty outlined
in the UAA catalog and student handbook. Cheating is not tolerated and
constitutes grounds for dismissal. For this class, it is permissible and
encouraged to assist classmates in general discussions of how to attack the
homework problems. It is not permissible to copy another's work (or
portions of it) and represent it as your own.