Introduction to Computer Science Theory,
4003-380-02
Spring 2012-2013 (2123)

Course Web Page

http://www.cs.rit.edu/~fxk/courses/380.02.html

Instructor

Fereydoun Kazemian
Bldg. 70, Room 3537
Email: fxk at cs.rit.edu
http://www.cs.rit.edu/~fxk

Office hours:

Check my schedule

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

Lectures

M, W: 12:00 - 1:50PM, 70-3560.

Required Text

An Introduction to Formal Languages and Automata, Fifth Edition,
Peter Linz,
Jones & Bartlett (2012).

Prerequisites

1016-366 Discrete Mathematics II.

Attendance

Attendance is optional. However, if you miss a class it is your responsibility to get notes from another student. Lectures will not be repeated during office hours for someone who missed class. In accordance with Institute policy you may withdraw from the course until 04/26/2013. That is a Friday. I follow the official CS department policy regarding Incomplete grades.

Course Description

Introduction to 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 will also be introduced.

Intended Learning Outcomes

After successful completion of this course, students will be able:

Tests

There will be three tests, two in-class tests and a final exam. The tests will be cumulative, closed notes, closed books, and given on the following dates:
Tests Dates
Test 1 27-March-2013
Test 2 24-April-2013
Test 3 17-May-2013
Tests CANNOT be made up except for real emergencies, in which case, proper documentation will be required.

Assignments

There will be a number of homework assignments. The assigned homeworks will be collected and graded. The answers to every assignment must be typed , not hand written, and handed in at the start of class on the due date. Unless it is specifically stated otherwise, you may work on and submit your homeworks 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. You should submit only one copy of the assignment with both of your names on it. I will discuss some of the more difficult problems in class. If you are unable to attend the class when an assignment is due, you must ensure that I receive your assignment before the start of class on that day. Late assignments will not be accepted.

Discrete Math Quiz

There will be an in-class discrete math quiz on Wednesday 03/06/2013 starting at 12:00 noon. The discrete math quiz will count as a homework assignment.

Evaluation

Your grade for the course will be computed based on the following:

Disputing Your Grade

If you feel that an error was made in grading your homework or exam, you have one week from the time the graded work is handed back to dispute your grade.

Course Content

The goal is to cover most of the material in the required text. To this end, a preliminary schedule is given in the table below. It is expected that you read the material assigned for a given week before the first class on Monday.
Week Topics Readings
1 Math. Preliminaries Chapter 1
1 Finite Automata Chapter 2
2 Regular Languages & Grammars Chapter 3
3 Properties of Regular languages Chapter 4
4 Context-free Languages Chapter 5
5 Simplification of Context-Free Grammars Chapter 6
6 Pushdown Automata Chapter 7
6 Properties of Context-Free Languages Chapter 8
7 Turing Machines Chapter 9
8 A Hierarchy of Formal Languages Chapter 11
9 Limits of Algorithmic Computation Chapter 12
10 Introduction to Computational Complexity Chapter 14

Department of Computer Science
Policy on Academic Honesty

The DCS Policy on Academic Honesty will be enforced.

As an institution of higher learning, RIT expects students to behave honestly and ethically at all times, especially when submitting work for evaluation in conjunction with any course or degree requirement. The Department of Computer Science encourages all students to become familiar with the RIT Honor Code (a general statement that sets high standards of behavior for all members of the RIT community), which may be found online at:

RIT Honor Code

and with RIT's Academic Honesty Policy, which may be found online at:

RIT Academic Honesty Policy

As RIT's Academic Honesty Policy points out, "Academic Dishonesty falls into three basic areas: cheating, duplicate submission, and plagiarism [emphasis added]." While many occurrences represent clear violations, there are also many situations that can occur which are less clear cut. For every section of a course taught in the Department of Computer Science, the instructor will make known to students his or her expectations related to such matters as cheating, duplicate submission, or plagiarism.

Student behavior deemed by an instructor (in the Department of Computer Science) to violate RIT's Academic Honesty Policy will be subject to disciplinary action. Such behavior will be treated as follows:

  1. For a first offense the student involved will receive, at a minimum, a grade of zero for the assigned work.

  2. For a second offense, in the same or a different course, the student will receive, at a minimum, a failing grade for that course.

  3. For a third offense, a student will be suspended and their case will be referred to judicial affairs.

Stronger penalties may be exacted in cases (1) or (2) above if, in the judgment of the instructor, the offense involves a flagrant violation of policy. Furthermore, both undergraduate and graduate students may incur additional, non-academic penalties. Graduate students in cases (1) or (2) above will lose financial aid, although the graduate program coordinator, at his or her discretion, may choose to override this penalty. The undergraduate program coordinator, at his or her discretion, may choose to impose academic actions in cases (1) or (2) above for undergraduate Computer Science majors.

According to section D5.0 (Grades) of the RIT Institute Policies and Procedures Manual, "A student may not withdraw from a course ... to avoid charges of academic dishonesty." The Department of Computer Science will enforce this policy. Finally, for each student involved in an incident of dishonest academic behavior, the course instructor will file an academic dishonesty report detailing the incident. If the student is a Computer Science major, a copy of the report will be placed in the student's departmental file; otherwise, a copy of the report will be forwarded to the student's department chair or program coordinator.