Introduction to Computer Science Theory, 4003-380-01, 20111
This course provides an introduction to the theory of computation,
including formal languages, grammars, automata theory,
computability, and complexity.
Students should demonstrate an understanding of basic concepts in formal
language theory, grammars, automata theory, computability theory,
and complexity theory.
Students should be able to relate practical problems to languages,
automata, computability, and complexity.
Students should demonstrate an increased level of mathematical sophistication.
Students should demonstrate an understanding of and be able to apply
mathematical and formal techniques for solving problems in computer science.
Course Web Page
bldg. GOL (70), room 3645
Email: my_initials at cs.rit.edu (please replace my_initials with ib)
Office hours (weeks 1-10):
Asking questions via email seems to work well for many people.
- Monday 10am-12pm
- Tuesday 6-7pm (please come at 6pm or let me know that you are coming, otherwise I might leave),
- Friday 12-1pm,
- and, if none of the above times fits your schedule, by appointment.
Theory tutoring center:
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 (GOL-3660). For hours,
theory tutoring page (we offer some tutoring hours in week 1 and about 20 hours per week in weeks 2-10).
Tuesday/Thursday, 2:00-3:50pm, GOL-3455.
Introduction to the Theory of Computation,
Second edition, Thompson Course Technology, 2006.
Slides and information about reading and homework assignments,
exams, etc. will be linked from the course web page.
- Algorithms and data structures at the level of
an introductory programming sequence.
- Discrete Mathematics. You should have taken a course
in discrete mathematics covering
You should be competent in constructing proofs involving sets,
relations, and functions,
using various techniques such as mathematical induction.
- fundamentals of logic
- equivalence relations
- simple combinatorics
To refresh your memory on discrete math,
read Chapter 0.
Discrete Math Quiz
There will be a discrete math quiz on Thursday of week 1 (September 8, 2011)
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 the zero-th homework. To give you an idea about the quiz, here is a sample old discrete math quiz. I cannot guarantee that the actual problems will be of the same difficulty as the sample quiz but hopefully the format of the sample quiz will be nevertheless helpful.
There are eight homework assignments (not counting the discrete math quiz), one per week
except for weeks 1 and 6.
Homeworks are due on Wednesdays 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
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:
Clearly state your name(s) and section.
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.
- Upload it to myCourses, as txt or pdf-file (preferred). No other formats will be accepted.
- Give it to me in class or during office hours.
- Bring it to the mentoring center on Wednesday and put it in the envelope labeled with your section.
I guarantee answering homework questions sent/asked 24 hours before the homework is due. If you have questions within 24 hours of the due time, I highly recommend to stop by the tutoring center.
The midterm exam will take place on Thursday of week 6 (October 13th), in class. More information will be available on the midterm website about a week before the exam. The midterm is closed book and notes but you may
bring one sheet of letter-sized paper with your own hand-written notes.
The final exam is scheduled on November 17th, 2010, 10:15-12:15pm, room TBA.
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, plus your midterm help-sheet.
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.
Numerical grades will be converted to letter grades according to the following
- 40% Homeworks and the best of
- 30% Midterm and 30% Final Exam or
- 25% Midterm and 35% Final Exam
> 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.
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.
DCS Policy on Academic Honesty 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.