Introduction to Computer Science Theory

4003-380-01 (Spring 2011)

Syllabus

[ Home ] -- [ Schedule ] -- [ Syllabus ] -- [ myCourses ]

Course Description

An introduction to automata theory and formal languages. Topics include regular, context-free, and computable (recursive) languages with finite state machines, pushdown automata, and Turing machines, along with basic concepts of computability theory and NP-theory.

Prerequisites

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.

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.


Instructor Information

Richard Zanibbi
Office Hours: Tues 10am-12pm, Thurs 2-4pm
Office:  GOLISANO (70)-3551
rxzvcs@rit.edu
http://www.cs.rit.edu/~rlaz
Phone: 475-5023

The instructor can be reached to discuss material from the course, assignments and homework during office hours, or by email. Normally, the instructor will respond to emails within 24 hours of being received. Please note: the instructor will respond to emails about assigned homework up until 24 hours before it is due (i.e. received by Monday at 4pm), but not to emails regarding the homework received after that point.

Course Textbook and JFLAP Software (Required)

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

We will be using the JFLAP package for homework assignments.   JFLAP is freely available here.

Course Web Site


Grading Scheme

This course consists of the activities shown below, which are weighted as indicated to compute the final grade:
Component Weight
Homework Assignments (8) and Discrete Math Quiz 
(Best 8 of 9)
50%
Midterm Exams (2), Weeks 5 and 8 30%
Final Exam, Week 11 20%

All grades will be made available through myCourses.

Homework Assignments:

There are 8 homework assignments, essentially one each week.  Each homework assignment will be collected and graded.  Homework assignments and their due dates will be available in the SCHEDULE section on the course Web page.  You will have one week to complete each assignment other than the first (which will be shorter).  

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 at the start of class on Tuesdays (4pm), to be submitted in-class (on paper), or as a .pdf or .txt file via mycourses.  Late assignments will not be accepted (not even 5 minutes late)!!!   If you are unable to be on campus on the day an assignment is due, you need to ensure that your assignment is submitted in class or through mycourses by the deadline.  The lowest homework grade will be dropped, unless you are given a zero for cheating.

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.

Note on Grade Changes  

All changes to grades must be requested within one week of the graded item being returned to the student. Grade changes should be requested of the instructor, and not the grader for the course.

Theory Tutoring 

In addition to all of the usual support services RIT and the CS department offer, the CS theory faculty offer their own tutoring service, which is delivered by highly 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 two midterm examinations (Thursday in Weeks 5 and 8) and a final examination (in Week 11). The midterm examinations will last one hour each, and the final exam will be a two-hour exam.  The content covered on each exam will be announced during class. All 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.

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 3/4/11