Introduction to Computer Science Theory, 4003-380-03, 20071

Course Description

This course provides an introduction to the theory of computation, including formal languages, grammars, automata theory, computability, and complexity.

Course Outcomes

  1. Students should demonstrate an understanding of basic concepts in formal language theory, grammars, automata theory, computability theory, and complexity theory.
  2. Students should be able to relate practical problems to languages, automata, computability, and complexity.
  3. Students should demonstrate an increased level of mathematical sophistication.
  4. Students should demonstrate an understanding of and be able to apply mathematical and formal techniques for solving problems in computer science.

Course Web Page

http://www.cs.rit.edu/~ib/Classes/CS380_Fall07/index.html

Instructor

Ivona Bezakova
bldg. 70, room 3645
Email: my_initials at cs.rit.edu (please replace my_initials with ib)

Office hours:

Asking questions via email seems to work well for many people.

Lectures

Tuesday/Thursday, 10:00-11:50am, 70-1620.

Required Book

John C. Martin, Introduction to Languages and the Theory of Computation, third edition, McGraw-Hill, 2002.

Other Materials

Slides and information about reading and homework assignments, exams, etc. will be linked from the course web page. You are welcome to use also Professor Hemaspaandra's slides.

Prerequisites

To refresh your memory on discrete math, read (and do some of the exercises of) Sections 1.1, 1.2, 1.3, 1.4, 2.1, 2.2, 2.3 of the course book.

The Work

Discrete Math Quiz

There will be a discrete math quiz on Thursday of week 1 (September 6, 2007) at the start of class. The quiz will test two skills: 1. reading a mathematical definition and answering a basic question related to the definition, and 2. constructing a proof by mathematical induction. The quiz will count as a zero-th homework.

Homework Assignments

There are eight homework assignments (not counting the discrete math quiz), one per week except for the weeks 1 and 6. Homeworks are due on Wednesday at 4pm, and are posted at least 6 days before they are due. The actual assignments will be available on the homework, reading, and slides page.

Unless it is specifically stated otherwise, you may work on and submit your homework in groups of 1 or 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 submit only one copy of the homework with both your names on it. All authors have to be able to explain all solutions. Whether you submit on your own or with a partner, discussing homework with your fellow students is encouraged. However, after such discussions, all notes must be discarded, blackboards erased, and every group must write up their solutions in private without further consultations with your classmates or any written material other than your class notes, materials handed out in class, the textbook or this webpage. For every problem discussed with other students, state their names and briefly sketch the extent of your discussions (e.g. "solved together", or "clarified problem statement"). You are not allowed to look up the answers to your homeworks.

Your homework submissions must be submitted by Wednesday, 4pm sharp. You have the following submission options:

I will not accept late assignments for any reason. I will drop the two lowest homework grades (out of the nine homework scores - eight homeworks and one discrete math quiz). However, a zero for cheating will not be dropped.

I will stop answering homework questions at 10am the day it is due. (This means that you can send an e-mail with a homework question by Wednesday 10am and I will answer it as soon as possible, I will do my best to send my answer before 1pm.)

Midterm Exam

The midterm exam is scheduled for Thursday, October 11, 10:00-11:50am, in 70-1620. The midterm will cover the material from Chapters 1-5. The midterm is closed book and notes but you may bring one sheet of letter-sized paper with your own hand-written notes.

Final Exam

The final exam is scheduled for Monday, November 12, 2:45pm-4:45pm, room 70-3435. The final is semi-cumulative. It is closed book and notes but you may bring one sheet of letter-sized paper with your own hand-written notes.

Exams can not be made up except for real emergencies in which case proper documentation (like a doctor's note) will be required. If at all possible, you should contact me prior to the exam. Oversleeping, cars that don't start etc. do not constitute a valid excuse.

Evaluation

Numerical grades will be converted to letter grades according to the following scale:
> 88%: A; 77%-88%: B; 66%-77%: C; 55%-66%: D; < 55%: F.
However, your final grade will never be more than one letter grade higher than the average of your midterm and final. In addition, if the average of your midterm and final is below 55%, you fail the course.

Tutoring

In addition to all of the usual support services RIT and the CS department offer, the CS theory faculty are offering their own tutoring service, featuring very qualified CS students. The tutoring takes place in the CS mentoring center (70-3660). For hours, see the theory tutoring page.

Note: In the first week the tutoring will take place in the CS theory lab (70-3672).

One rule about tutors: You are not allowed to discuss open homework problems with them (you can however discuss them with me). Any (attempted) discussion with graders or tutors regarding current or future homework assignments will be considered cheating.

Disputing Your Grade

If you feel that an error was made in grading your homework, quiz, or exam, you have one week from the moment the graded work was handed back to dispute your grade. All grading issues should be taken up with me; do not discuss grading issues with graders or tutors!
All grades will be posted on myCourses.

Academic Dishonesty

The DCS Policy on Academic Dishonesty will be enforced.
You should only submit work that is completely your own. Failure to do so counts as academic dishonesty and so does being the source of such work. Submitting work that is in large part not completely your own work is a flagrant violation of basic ethical behavior and will minimally be punished with failing the course.