Introduction to the classical and contemporary theory of computation covering regular, context-free, and computable (recursive) languages with finite state machines, pushdown automata, and Turing machines. Basic concepts of computability theory and NP-theory
Office Hours: M 2-4 or by appointment
This course consists of the activities shown below, which are weighted as indicated to compute the final grade:
Component Weight Homework Assignments 45% Midterm Exam 25% Final Exam 30%
There are 8 homework assignments, essentially one each week except for the midterm exam week. Each homework assignment will be collected and graded. Homeworks will generally be assigned on a Thursday, due the following Thursday. Actual due dates will listed in the SCHEDULE section on the course Web page. The actual assignments will be available on the HOMEWORK section of the web page. You will have a week to complete each assignment.
Unless it is specifically stated otherwise, you may work on and submit your homework in groups 2. If you choose to work as a group of 2, both of you should contribute significantly to the solution for every question. You should only submit one copy of the homework with both your names on it.You are NOT allowed to discuss the homework with anyone except your partner and instructor. Each student in the pair must be able to explain every question on the homework when asked.
A student that has worked in a group up until the midterm and then receives a grade at least 20 points lower than their partner(s) will no longer be permitted to work in a group. This student will be required to complete the remaining homework assignments as an individual contributor.
Your homework assignments are due at the start of class. I cannot accept late assignments (not even 5 minutes late). If you are unable to
attend class on the day an assignment is due, you need to ensure that your assignment reaches me by 5:45 PM that day. I will drop the lowest homework grade. If you are given a zero for cheating, it will not be dropped from your final grade.
There will be no programming assignments.
The midterm exam is scheduled for Thursday, October 10th. The exam will be the entire class time and will cover the material from Chapters 1 - 5. The exam is closed book and notes but you may have one sheet of letter-sized paper with your own hand-written notes. There will be no make-up exams.
A cumulative final exam will be given during exam week (exact date and location TBD). This exam is closed book and notes but you may have one sheet of letter-sized paper with your own hand-written notes. There will be no make-up exams.
For the record:
Those who behave in a dishonest or unethical manner in computer science courses, or in their dealings with the Computer Science Department, are subject to disciplinary action. In particular, dishonest or unethical behavior in the execution of assigned work in a computer science course will be treated as follows:
Furthermore, the following action will be taken for each person involved in the incident, whether currently enrolled in the course or not:
- For a first offense the student involved will receive a grade of zero on the assignment. [A stronger penalty may be exacted, if, in the judgment of the instructor, the offense involves a flagrant violation of basical ethical standards.]
- For a second offense, in the same or a different course, the student will receive a failing grade for that course.
- A third offense will be referred to judicial affairs.
- If the student is a computer science major, a letter recording the incident will be placed in the student's departmental file; otherwise, the letter will be forwarded to the student's department chair or program coordinator.
- Violations of the Code of Conduct... can also result in suspension, expulsion and even criminal charges.
The weekly schedule is available in the SCHEDULE section of the class web page. It reflects our best estimate of the timing of the topics covered in this course. Any changes to this schedule will be announced in advance by the instructor, or via e-mail.
Many of the course topics are not addressed directly by any of the text books. You can expect numerous class handouts on materials not covered in the texts. Detailed reading assignments are shown in the weekly schedule.
Slides presented in class will be available in PDF format in the DIARY Section of the Class Web Site. This section will be updated after each class.
We cannot stress strongly enough that you are expected to have read assigned portions of the texts before class, as some of the material will not be covered in class unless questions arise. You are responsible for everything in the assigned readings whether covered in class or not, as well as lecture material whether covered in the readings or not. You may also have assigned readings to do before a lab session. Pertinent questions are always welcome.
Student conduct will be evaluated in accordance with the Policy on Academic Dishonesty and Code of Conduct for Computer Use found in RIT's Educational Policies and Procedures Manual. You should also have two related documents, the Code of Conduct for the Use of Department of Computer Science Facilities and the Policy on the Use of Computer Games on Department of Computer Science Facilities, which are refinements of the general Institute policies.
RIT policy allows you to withdraw from a course with a grade of W on or before the Friday of the sixth week in the quarter (October 18th). After this date, your instructor cannot give you a W, but must assign you a grade based on your work.
This course has been designed so that you can complete all the work in one quarter. Thus incomplete grades will be given only in the most exceptional circumstances, and then only by prior arrangement with your lecture instructor. Your lecture instructor has the final say in this matter.
Every effort has been made to provide accurate information in this document. We reserve the right, however, to make changes to any facet of the course should circumstances warrant it. Any such changes will be announced in both lecture and lab.