MCS-265, Theory of Computation

Spring 2006

Homework problems   Reading assignments, part 1
MCS-265 homepage
Homework guidelines Course Summary
Prof. Barbara Kaiser

Course Information

Overview:  What are the fundamental capabilities and limitations of computers?  In this course, we will look at ways to interpret and answer this question.  We will study three areas of the theory of computation: automata theory, computability, and complexity. At the same time, we will look at this theory applied to the more practical side of programming language design, compiler construction, and algorithm design.

Course Objectives:

Prerequisites:  The formal prerequisites are MCS-236.  More to the point, you should be familiar with mathematical notations and be comfortable writing various types of formal proofs.  You should also understand the basic definitions of big-O and big-Theta notation.  Much of the material you should know is summarized briefly in chapter 0 of the text.

Course web site:  Throughout the semester I maintain a website that includes all handouts, homework assignments, reading assignments, and so on.  I especially appreciate your suggestions about ways to improve the site and links that are worth including.  The site is located at www.gac.edu/~kaiser/mcs265/ .

Text: Introduction to the Theory of Computation, second edition, by Michael Sipser.

This book is intended to be read. For each class session, you are encouraged to read the pertinent portion of the text at least twice  beforehand and at least once afterwards.  Study the book with a pencil in hand.  Make notes in it. Mark where you have questions.  Look at the exercises at the end of the chapter and use them to check/improve your understanding of your reading.

Classes:  Classes will be used for discussions, problem solving, lectures, and other fun activities.  You should prepare for classes by doing the reading beforehand (reading assignments are posted on the Web),  thinking about the problems in the text, and formulating questions of your own.  You should also participate as much as possible in class.  Class meetings are not intended to be a complete encapsulation of the course material. You will be responsible for learning some of the material on your own.

Attendance, both physical and mental, is required.

Should you need to miss a class for any reason, you are still responsible for the material covered in that class. This means that you will need to make sure that you understand the reading for that day, that you should ask a friend for the notes from that day, and make sure that you understand what was covered. If there is an assignment due that day, you should be sure to have a friend hand it in or put it in my departmental mailbox (in Olin 324). You do not need to tell me why you missed a class unless there is a compelling reason for me to know.

Should you miss more than four classes, no matter what the reason, I will lower you semester grade by at least a third.

Homework:  I will assign homework problems by posting them on the web. Some of these will involve designing automata of various sorts, showing that something is computable, or figuring out where a problem belongs in terms of complexity classes.  Most of the problems will involve writing proofs.

Each homework problem will be graded on a scale of 0 - 5.  A score of 4 means that your answer is correct or nearly correct.  A score of 2 means that your answer shows you had the right idea but that it has some mistakes in it.  A score of 0 means that your answer was way off base.  I use scores of 1 and 3 when I can't decide between a 0 and 2 or between a 2 and 4.  Finally, a score of 5 means that your answer was extraordinarily well written or creative.  If the average grade on all your homework problems is a 4, your homework grade will be an A, a 3 will be a B, and so on.

All homework assignments are due at the beginning of class on the day indicated.  You may hand in up to two late homework assignments without penalty as long as each is handed in no more than one week late and before I hand back graded assignments.  All other late homeworks will be heavily penalized.

Honor: In this course, you are expected to to adhere to the highest standards of academic honesty, to uphold the Gustavus Honor Code and to abide by the Academic Honesty Policy. Copies of the honor code and academic honesty policy can be found in Academic Bulletin and in the Gustie Guide.

On homework,  you should make a real effort to solve each problem by yourself, although  you can  and should discuss problems and their solutions with your classmates after you've made this effort.  You should give credit to any people or texts that helped you find solutions. On tests,  you are expected to work completely by yourself.

You will be expected to sign the honor pledge on every graded paper and test.  

A first violation of the honor code will result in a grade of 0 on the paper or test in question.  Any further violations will result in a grade of F for the course.  In all cases, I notify the office of the Dean of the Faculty.

Course grade:
 
Homework problems 30%
Course summary
5%
Class participation 5%
Tests 60%

Accessibility:
Please contact me during the first week of class if you have specific physical, psychiatric, or learning disabilities and require accommodations. I will do my best to facilitate the  necessary arrangements.  All discussions will remain confidential.
 


Last modified: 1/9/6