|CSC 341||Grinnell College||Spring, 2014|
|Automata, Formal Languages, and Computational Complexity|
|Collaboration and Academic Honesty||Cell Phones||Accommodations||Grading|
This course explores the logical and mathematical foundations of computer science by exploring the following topics in some depth:
Models of Computation: finite and pushdown automata; nondeterminism; recursive functions; regular expressions
Chomsky Language Hierarchy: regular languages, context-free languages, Turing-decidable (recursive) languages, Turing-recognizable (recursive enumerable) languages, context-sensitive languages
Solvable and Unsolvable Problems: Turing machines; Church's thesis and universal Turing machines; the halting problem; unsolvability
P and NP Complexity Classes: the classes P and NP; NP-complete problems; intractable problems; approximate, non-optimal solutions to NP problems
Topics related to space complexity, intractability, approximation and probabilistic algorithms, and public-key encryption will be included as time permits.
Although some applications may be discussed from time to time, this course will emphasize the formal underpinnings and theory of computer science.
Henry M. Walker
Office: Science 3811
Telephone: extension 4208
Office hours are posted weekly on the bulletin board outside Science 3811, with additional hours possible by appointment.
Introduction to the Theory of Computation, Second Edition,
Thomson/Course Technology, 2006, ISBN: 13: 976-0-534-95097-2 and 10:
Due to the cost of the newly-released Third Edition, the course will be based on the essentially similar Second Edition.
Additional Resources: Numerous on-line materials allow users to simulate various models of formal machines. Here are a few examples:
While the schedule for this course is expected to evolve, a Tentative Class Schedule is available. This schedule will be refined and updated periodically through the semester.
This course will involve written assignments, oral presentations, and tests.
Written Assignments: Exercises
will be assigned regularly throughout the course.
Due to logistical considerations, all written assignments must be submitted in paper form at the start of the class that they are due.
Electronic submissions are not reviewed or graded; repeated electronic submissions may yield negative scores as nuisance email.
Oral Presentations: The subject of the theory of computation includes the classification of numerous classical problems. During the semester, students (working in groups) will present at least two of these problems, together with an outline of their classification.
Hour Tests: Following the Tentative Class Schedule, two hour tests are tentatively scheduled for Monday, February 17, and for Friday, March 14. In addition, according to the preliminary schedule, a take-home test will be handed out on Wednesday, April 23, and due on Wednesday, April 30.
Exam: Following the published exam schedule, an exam is scheduled for 9:00 am on Thursday, May 15, during exam week. Early in the semester, class members will discuss the possibility of an oral exam option.
Extra Credit Opportunities: Computer science is a wide-ranging discipline, and courses can cover only selected pieces. To encourage students to expand their horizons, students may earn 2 points extra credit for each Thursday Extra or other departmental talk, by attending the talk and writing a short (4-8 sentence) summary or response. Logistically, a reasonable statement must be submitted via e-mail to the instruct or within 1 week of the talk; after the e-mail has been reviewed and the statement deemed appropriate, the student will receive 2 points extra credit counted toward homework assignments. Additional extra credit opportunities may be announced through the semester.
Late Work will not be accepted, as it interferes with normal grading and with preparation for other parts of this course. As homework may be handwritten, exceptions will not be granted for computer system malfunctions.
Exceptions: Although dates for assignments, tests, and the final exam are firm, I understand that circumstances arise when you are not able to attend class.
Collaboration often will be allowed on problems from the textbook, but collaboration normally will NOT be allowed on supplemental problems and tests. To avoid confusion, the assignment page for this course specifies whether or not collaboration is allowed for each assignment.
In particular, this means that you may work in groups of two or three on selected assignments for which collaboration is allowed. For this course, academic honesty requires the following practices:
In addition, please note:
Cell phones, text-messaging devices, and other social-networking connections may not be used in this class. If you bring such equipment to the classroom, it must be turned off before the class starts and stay off throughout the class period. Use of such equipment is distracting to those nearby and will not be tolerated.
If you have specific physical, psychiatric, or learning disabilities and require accommodations, please let me know early in the semester so that your learning needs may be appropriately met. You will need to provide documentation of your disability to the Director of Academic Advising. Feel free to talk to me if you have questions or want more information.
This instructor's grading philosophy dictates that the final grade should ultimately be based upon each student's demonstration of her or his understanding of the material, not on the performance of the class as a whole nor on a strict percentile basis. The following scheme is proposed as a base for how the various assignments and tests will be counted in the final grade.
This document is available on the World Wide Web as
created 4 January 2008
revised 6 February 2012
revised 24 December 2013-24 January 2014
|For more information, please contact Henry M. Walker at firstname.lastname@example.org.|