[Note: this webpage last modified Friday, 04-Feb-2011 19:57:40 EST]
General Information
Prerequisite
Announcements
Purpose and Focus of Course
Grading, Assignments, and Expectations
Blackboard
Academic Integrity
Special Needs
Lecture: TR 3:30-4:45am, in A005 Root Hall
First class: Tuesday January 11
Last class: Thursday April 28
Office hours: I am generally in my office and available
most MWF's from about 8:30am-4pm. My official office hours are
Wednesdays 9:30-11:30am. My office is A-156 Root Hall
Instructor: Jeff Kinne
Website:
http://cs.indstate.edu/~jkinne/cs695-s2011/ (or
search for Jeff Kinne on google, bing, yahoo, etc.
and find a link to the course website from my personal webpage)
Required text: Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak. The link above also has a link to a draft of the book. Note that the draft online is far from being complete - entire chapters are missing. The draft is useful if you do not happen to have your book with you at some time, but it is NOT a replacement for having a copy of the textbook.
Mathematical Review: This course assumes "mathematical maturity" - that you are familiar with proofs, basic mathematical reasoning, run-time analysis of algorithms, etc. You can review much of this material by looking at the following MIT opencourseware page: 6.042J / 18.062J Mathematics for Computer Science, Fall 2005. That course has exercises that you can attempt to solve and then check the solutions. For most who take CS 620, it would be highly beneficial to spend time before the course starts and/or early in the semester reviewing that type of material, in particular focusing on proofs (including induction), logic, asymptotic running time, and basic counting/probability. The appendices of the required text also contains a review of basic mathematical knowledge that is assumed; you should also review this material.
The way we are enforcing the prerequisite for this course has been amended. If you have not taken CS 520 at ISU, you need the instructor's permission to register for the course. If you have taken CS 558 at ISU, you will probably be okay. If you have not taken either of these courses at ISU, you probably are not ready for CS 620. If you have any questions about this, send an email or set up a time to see me.
Announcements regarding the course will be made both during class and via email to your @indstate.edu email address. You should regularly check this email account or have it forwarded to an account that you check regularly.
This course is an advanced course in theory of computation. In the undergraduate version of this course (CS 420/520), you learned some models that can be used for reasoning about computation (deterministic and nondeterministic finite automata, pushdown automata, context free grammars, and deterministic and nondeterministic Turing machines). In this course, we take the deterministic Turing machine as our basic model of computation. The two main questions in computer science are (i) how efficiently can I solve a given problem, and (ii) what useful things can I do with a computer.
The questions we will consider in this course are some of the most challenging open problems in computer science. For example, the P versus NP problem (one of the Clay Mathematics Institute's $1,000,000 Millennium Prize problems) asks if there are efficient solutions to so-called "NP-complete" problems like clique, vertex cover, and satisfiability. Although these questions remain open, we can make progress on understanding the problems and understanding what the computational landscape would look like depending on the solution to the problems.
In this course, we examine some of the important open problems in computer science through the lens of "computational complexity theory", taking a "high level" approach to see what can be said about the open problems. Note that this is a "proofs" rather than a "programming" course. We are interested in what can be mathematically proven. Can we prove that there does not exist any efficient algorithm that solves NP-complete problems? Other questions we will consider include the following. Is truly secure cryptography possible? Is searching for solutions more difficult than verifying the correctness of a given solution (equivalently, is finding proofs of theorems more difficult than checking a given proof)? Are quantum computers more powerful than standard computers? Can you prove your identity to your bank without revealing any information about yourself?
The students of this course have the following responsibilities: read assigned pages of the book before lecture, attend lecture, complete in-class quizzes/mini-tests, complete weekly homeworks, and complete a project. The final grade consists of:
Project: 20% of the final grade.
Weekly Homeworks: 35% total. There will be written/oral homework assignments most weeks, and each will be weighted equally in adding up to 35% of the total grade. If you turn in the assignment late, I will grade it so you know how you did, but it will count as a 0. LATE HOMEWORKS WILL NOT BE ACCEPTED.
In-class Quizzes/mini-tests: 35% total. We will not have any exams in this course, but we will have quizzes/mini-tests on a regular basis. Each will be weighted equally in adding up to 35% of the total grade.
Class Attendance/Participation: 10% total. Attendance will be taken at the beginning of each class. Half of your attendance/participation score will consist solely of whether you were present when attendance was taken each day - the total number of days present divided by the number of lectures in the semester. The other half of your attendance/participation grade will be assigned at the end of the semester based on how attentive you were in class throughout the semester.
The class attendance grade serves the purpose of giving you credit for coming to class. You benefit from coming to class by seeing me present the new material, getting to ask questions, interacting with your classmates, keeping up on what is going on in the course, etc.
The quizzes/mini-tests give you motivation for making sure you know the material (to get a good grade), and give me feedback on what everyone still needs more work in understanding. In general, the quizzes will focus on material you have recently learned, but I will also ask questions about older material if needed (if people are forgetting important information).
The homework assignments are designed to solidify your knowledge and give you practice in writing and speaking. For each homework assignment, you will turn in a document with your solutions. Many times, I will grade this assignment based on correctness and exposition. Other times, I will ask that you meet with me outside of class to explain your solutions to me, and I will grade you based on correctness and clarity of presentation.
The final project will be discussed further after the first few weeks of the semester. You will choose a topic that we have not discussed in class, learn the material, prepare a written document summarizing the material, and present the material to the class.
Expectations. My expectation is that an average student will spend 6-12 hours OUTSIDE of class each week WORKING PRODUCTIVELY/EFFICIENTLY (not just starring at the computer) to complete their coursework for this class. Some students may spend less time than this, and some students may spend more. This is a challenging course, but the rewards are great as well. This is truly fascinating material.
Classroom conduct. You may not use cell phones, iPods/music players, etc. during class. You should be civil and respectful to both the instructor and your classmates, and you should arrive to class a few minutes before the scheduled lecture so you are ready for lecture to begin on time. All laptops MUST BE CLOSED and all computer screens of the computers in the classroom MUST BE TURNED OFF. Although some students may want to take notes on their computer, this is very distracting to some (including myself), and I believe the harm of taking notes on a laptop outweighs the benefit.
Important Note. If you wait until the last minute to begin your homework assignments, you likely will not succeed in this course. This is a "deep thinking" course. It takes "time on the calendar" in addition to "time on the clock" to solve the homework problems. I suggest you look at the problems as soon as possible after they are handed out and think about them for a while. After you have exhausted your efforts, you can set them aside and come back to them in another day or so. Then repeat this process. If you come to office hours and have not thought about the homework problems at all, I can be of little assistance to you. If you come with meaningful questions and have thought about the problems, I will be better able to help you. I will not be available the day before a homework assignment is due. If you wait until the last minute to start the homework, you will be on your own. Working on the homework problems will be much less stressful if you start early!
I STRONGLY encourage you to get off to a good start to the course. It can be difficult to begin the course with a poor grade and end the course with a good grade.
I make no promise ahead of time what the exact cutoff will be in terms of the number of points to achieve an A+, A, A-, etc. These will depend on how the course goes. I will use the guidelines below in assigning letter grades. After the first few weeks, I will include a "letter grade if the semester ended today" in your grades. You can keep track of how you are doing in the course with the grades on the blackboard site for this course.
The following is roughly what I would expect by the end of the semester to earn a particular grade.
A+/A Superior. You have a good understanding of all of the concepts we have covered. You can prove basic questions about the concepts, and can solve some more difficult problems. You have clear writing and presentation skills, and are able to clearly communicate your understanding.
A-/B+ Excellent. Similar to superior, but there may have been a few concepts that you did not fully grasp. Or your writing and communication skills could still use work.
B/B- Good. You have demonstrated basic understanding of the concepts, and you can often solve problems on your. But just as often, you are not able to solve more complicated problems on your own.
C+/C Adequate. You have demonstrated basic understanding of most concepts, but you routinely are unable to solve problems on your own.
F Failing. You do not even show basic understanding of many of the concepts, or have missed so many assignments/quizzes that a passing grade is not possible.
The course has a blackboard site. Click here to go to blackboard. You should see CS 620 listed under your courses for the current term. The blackboard site is used only for giving you your grades. All course content, schedule, etc. is kept on the instructor's webpage (which you are currently viewing).
Please follow these guidelines to avoid problems with academic misconduct in this course:
Weekly Homeworks:
Do NOT share electronically. You must type your own solutions. You can discuss the problems with each other, but you may only discuss them. You may not write out solutions together.
You MAY NOT search the Internet, textbooks, etc. for solutions to the problems. The following are the ONLY sources of information that you may use in solving the problems: the textbook for this course, wikipedia articles on basic math/probability/etc., and mathematical review material at the following MIT opencourseware page: 6.042J / 18.062J Mathematics for Computer Science, Fall 2005. You may discuss the problems with each other and with myself, but must obey the previous item in doing so.
If you do find the solution in one of these three sources, you still MUST cite the source in your document.
You may use NOTHING ELSE that is online or other textbooks.
You MAY NOT copy word-for-word from any source, even the three you are allowed to consult. If you feel it is necessary, you should put the quotation in quotes and provide a reference/citation.
Quizzes/mini-tests: This should be clear - no cheating during quizzes. The quizzes will be closed-book, closed-notes, no computer, and no calculator.
Project: You should not copy from the internet or anywhere else. The project should be your own work. It will be fairly obvious to me if you do copy from the internet or elsewhere, and the consequences will be at the least a 0 on the project.
If cheating is observed, you will at the least receive a 0 for the assignment, and I will file a Notification of Academic Integrity Violation Report with Student Judicial Programs, as required by the university's policy on Academic Integrity. A student who is caught cheating twice (whether in a single course or in different courses) is likely to be brought before the All-University Court hearing panel, which can impose sanctions up to and including suspension/expulsion. See the Student Code of Conduct and Academic Integrity Resources for more information.
Please ask the instructor if you have doubts about what is considered cheating in this course.
If you have special needs for the classroom environment, homeworks, or quizzes, please inform the instructor during the first week of classes. If you have any such needs, you should go to the Student Academic Services Center to coordinate this. See Student Academic Services Center - Disabled Student Services for more information.