Introduction to Computer Science Theory

4003-380-02 (Fall 2010)

Syllabus


Course Description

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

Objectives

After this course, students should

1. Understand basic concepts in formal language theory, grammars, automata theory, computability theory, and complexity theory.

2. Be able to relate real-world problems to languages, automata, computability, and complexity.

3. Be able to demonstrate an increased level of mathematical sophistication.

4. Understand and be able to apply mathematical and formal techniques for solving problems in computer science.

Texts

Required Text:

Sipster book
Introduction to the theory of computation, 2nd Edition by Michael Sipser, Thomson Course Technology (2006) - Hardback - 431 pages - ISBN 0534950973


Optional Text:
JFLAP Book
 

JFLAP: An Interactive Formal Languages and Automata Package by Susan Rodger, 
Jones and Bartlett Publishers,  2006,

ISBN: 0763738344

We will be using the JFLAP package for homework assignments.   JFLAP is freely available here.   This book is an extended user's guide to JFLAP.  Helpful but not required for this course.

Prerequisites

Course Web Site

Instructor Information

Joe Geigel
Office:  GOLISANO (70)-3527
Phone: 475-2051
jmg@cs.rit.edu
http://www.cs.rit.edu/~jmg
Office Hours: MW 2-4pm

Grading

This course consists of the activities shown below, which are weighted as indicated to compute the final grade:
Component Weight
Homework Assignments 50%
Midtern Exam 25%
Final Exam 25%

Homework Assignments:

There are 8 homework assignments, essentially one each week.  Each homework assignment will be collected and graded.  Due dates for homework 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 at least 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.  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 first exam and then receives a grade at least 20 points lower than their partner on that exam 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 Fridays at 4pm, to be submitted to the Tutoring Center or in electronic form via mycourses.  Late assignments (not even 5 minutes late), will not be accepted!!!   If you are unable to be on campus on the day an assignment is due, you need to ensure that your assignment reaches the tutoring center or mycourses by 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, however, you will be asked to use the software package, JFLAP, to build and test various state machines.  JFLAP is freely available for download here.

Theory Tutoring 

In addition to all of the usual support services RIT and the CS department offer, the CS theory faculty are this quarter offering their own tutoring service, featuring very qualified CS students. The tutoring takes place in the CS tutoring center (70-3660).     More info on theory tutoring can be found at http://www.cs.rit.edu/~eh/tutoring.html.

Exams:

There will be a midterm and final exam scheduled for  Wednesday, October 13th and Friday, November 19th, respectively.  You will be given 2 hours.  The content covered on each exam will be announced during class.  The exams are 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.  

In addition, there will be a 40 minute quiz on Discrete Math during the first week of class.  This quiz will count as an additional homework assignment.

Schedule

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.   Required reading for each class is also listed on the schedule.

Slides presented in class will be available in PDF format in the CONTENT area of mycourses.  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. Pertinent questions are always welcome.


Policy on Academic Dishonesty

    For the record:

We will be strictly following the CS Department Policy on Academic Integrity.  Please make yourself familair with this policy by following the previous link.

General Conduct

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.

Policy on W and I Grades

RIT policy allows you to withdraw from a course with a grade of W on or before the Friday of the 8th week in the quarter. 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.

Disclaimer

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.

last updated 8/20/10