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.
© Copyright 2025 Paperzz