Theory of Computation (CS 2210)
Spring 2019
Tentative Class Schedule |
Department's Collaboration Policy
Basic Information
Meetings: Mon & Wed, 10:05 - 11:30 pm, Searles 223
Prerequisites: Data Structures (CS 2101).
Textbook:
E. Rich, Automata, Computability, and Complexity: Theory and Applications, Prentice-Hall, 2008.
Course Materials: The course homepage is http://www.bowdoin.edu/~smajerci/teaching/cs2210/2019spring/index.html and will contain all class-related material, including a tentative class schedule. I will not be using BlackBoard.
Office Hours and TA Hours
My office hours are Monday, 6:00-8:00 pm in Searles 224, and Tuesday, 1:00-2:30 pm in Searles 222. I am also available after class (within reason!) and by appointment.
We have two TAs (hours TBA):
- Anjulee Bhalla
- Ryan St. Pierre
All TA hours are held in Searles 224.
Homework, Exams, and Grading
Problem Sets: Problems will generally be assigned on Monday and Wednesday and due (all of them) the following Wednesday. Late assignments may not be accepted, at my discretion, unless I have received an email from your Dean describing mitigating circumstances.
Quizzes: There will be five quizzes.
Exams: There will be two in-class exams:
- Exam 1: Wednesday, March 6, 10:05 - 11:30 pm
- Exam 2: Wednesday, May 15, 8:30 - 11:30 pm
The exams are closed book and closed notes, except for one 8.5 x 11 page of notes (both sides).
Grading policy: The final grade is determined as
follows:
- Problem Sets (25%)
- 5 Quizes (15%)
- 2 Exams (60%)
- Class Participation (tiebreaker)
About This Course
Course Overview
The objective of the course is to look at what can be computed and how. We will look at the nature of computation and the principles that determine what computational capabilities are required to solve particular classes of problems. We will start with a very simple, restricted computational model and see what happens as we relax some of these restrictions. We will work our way up to Turing machines, which, in spite of their simplicity, are equivalent to the most powerful modern computer. We will also look at the limits of computability and the complexity of computation. At the end of the course you should have a strong theoretical understanding of what is possible with a computer.
How to Succeed
- Allow plenty of time to
read the materials and work on the problem sets each week.
- Go to the study groups and talk to the TA; listen to your peers'
questions and get your questions answered.
- Find a group of peers to work with. Explain your ideas to your
peers, and listen to their ideas. Try to argue why a solution is
correct, or prove it wrong by finding an instance where it does not
work (a counter-example). Take turns.
Homework Collaboration Policy and Academic Integrity
You are expected to be familiar with and to comply with the department's collaboration policy.
Collaboration and discussion are crucial for this class. You are
encouraged to work on problems in a group and you will most likely find that you
will gain a better understanding of the material by discussing the
problems with your partners.
Note that, if you do collaborate, you need to list the names of the collaborators on
the front page of the homework.
However, our goal is to ensure that the collaboration is
appropriate and effective, and that you become an independent problem
solver capable of working on your own.
The department's
collaboration policy defines four levels of
collaboration.
Specifically, for this class:
- All in-class work, unless otherwise specified, is at
Collaboration Level 0: No restrictions.
- The homework assignments, unless otherwise specified, will be at
Collaboration Level 1: Verbal collaboration without solution sharing. You are allowed and
encouraged to discuss ideas with other class members, but the communication should be
exclusively verbal, with one exception. You are allowed to draw diagrams (but not pseudocode)
on a whiteboard (or blackboard) for the purpose of clarifying an idea being discussed. However,
you are not allowed to take notes during the discussion or copy/photograph anything on the board; being able
to recreate the solution later from memory ensures that you actually understood it. To emphasize, communication
cannot include sharing pseudocode or diagrams for the problem.
- Exams and quizes will be at Collaboration Level 3: Professor clarifications only.
While peer instruction can be immensely useful, it can also
be harmful. Once you have found a solution, resist giving hints to your peers or
leading them towards the answer. You are not helping them by doing
so. Direct them towards the TAs who are trained to give help.
Remember that you are responsible for reading, understanding, and
adhering to the department collaboration policy. If you have any questions about any aspects of
the policy, please do not hesitate to ask for clarification.