CS 445 - THEORY/COMPUTATION II Spring 2016 3 credits

CS 445 - THEORY/COMPUTATION II
Spring 2016
3 credits
Dr. John Marsaglia 838-8991 ITC 309
Office Hours: or by arrangement
Western Oregon University Catalog Description:
This course explores the mathematical foundation of computer science. The various levels of
automata theory are covered along with their deterministic and non-deterministic counterparts.
Catalog Prerequisites: CS 311, CS 345 and Math 354
Real Prerequisites: You need some ability with the mathematical concepts of theorem and
proof. Most of the assignments in this course require proving some statement and some
creativity in finding the proof will be necessary.
Text
Sipser, Michael. Introduction to the Theory of Computation. 2nd ed. Boston, MA: Thomson
Course Technology, 2006. ISBN: 0534950973.
You'll need the 2nd edition because of the new homework problems it contains. Errata for 2nd edition of
textbook.
Course Outline
Lectures: 2 sessions / week, 1 hour sessions
Recitations: 1—2 sessions / week, 1 hour total
 This course introduces the theory for computation, addressing fundamental
questions such as what problems can or cannot be computed. Lectures use formal
languages as the simplest form for computation problems, upon which
computability is discussed with respect to a hierarchy of computation machine
models: finite automata, push-down automata, and Turing machines.
 Computability of these models are proved in terms of their capabilities to
recognize a corresponding hierarchy of formal languages, including regular
languages and context-free languages. Equivalence among formal languages and
thus undecidability are discussed via the notion of reduction. Computational
complexity is also presented based on Turing machines with limited resources (i.e.,
bounded time and space resources).
 This course also covers typical applications of automata and formal languages in
text processing and other branches of research.
Recitations
Recitations are primarily for going over lecture material in more detail, for answering questions
and for reviewing homework and exams. Recitation attendance is optional, and you may attend
any recitation you wish. However, if you are having trouble with the course, you will be
expected to attend recitations weekly; doing so may keep you from failing. No recitations
during the first week.
Objectives and Skills developed:






This course is about the fundamental capabilities and limitations of computers. These topics form the
core of computer science.
It is about mathematical properties of computer hardware and software.
This theory is very much relevant to practice, for example, in the design of new programming
languages, compilers, string searching, pattern matching, computer security, artificial intelligence, etc.,
etc.
This course helps you to learn problem solving skills. Theory teaches you how to think, prove, argue,
solve problems, express, and abstract.
This theory simplifies the complex computers to an abstract and simple mathematical model, and helps
you to understand them better.
This course is about rigorously analyzing capabilities and limitations of systems.
Grading
ACTIVITIES
PERCENTAGES
Homework
40%
Midterm Exam
30%
Final Exam
30%
Homework
40% of grade. Cooperation policy: Permitted (though not encouraged). If you do cooperate on
some problems, then solutions must be written up individually (not copied). Using outside or
online materials is not permitted. Homework is due on Thursdays by 1:00 pm sharp (unless
otherwise specified). Late homework will be accepted the following day up to 1:00 pm, but will
be charged a 1 point per problem (out of the 10 point maximum) late penalty. Homework
submitted after that will not be graded but will be kept for reference.
Exams
One midterm (30% of grade) during a class session and one final exam (30% of grade) during
finals week. The exams are both open book and open notes. You may only use the class
textbook and notes you took in lectures and in recitation (i.e. no other books or print-outs of
other courses' problems).
Grading: The following grading scale and distribution will be used.
100% - 92% A
91% - 90% A–
89% - 88% B+
87% - 82% B
81% - 80% B–
79% - 78% C+
77% - 72% C
71% - 70% C–
69% - 68% D+
67% - 62% D
61% - 60% D–
59% - 0% F
ACADEMIC DISHONESTY
Academic dishonesty refers to cheating: a serious ethical issue. You are encouraged to
work cooperatively with other students in the class. However, each student is expected to do his
or her own assignments. Written work that appears to be copies of each other will not be given
credit. Helping, or being helped by, another student or the appearance of helping, or being helped
by, another student during a quiz or an exam will be considered academic dishonesty. This will
be grounds for a zero on the quiz or the exam.
NOTES
 It is the policy of the Computer Science department that you must receive a passing grade
on the final exam (60% or higher) in order to pass the class.
 A student who is participating in an official college activity—for example, a member of
an athletic team or a member of a performing arts organization—may have an exception
made to a deadline with a signed, written request from the sponsoring organization before
the deadline. For example, a student on an athletic team who will miss a Friday quiz
because of a game may make up the quiz provided he or she submits a written request,
signed by a coach, before the original quiz is given. It is the student’s responsibility to
obtain the written request.
 Student work will be kept for one quarter.
 An incomplete grade will be given only in unusual circumstances. You must be passing
the class at the time of the request for an incomplete, and there must be a serious event
that prevents you from completing the class.