CS 250 Theory of Computation
Spring 2009

Dr. Jill Zimmerman
office: Hoffberger 120
phone: 410 337-6227
email: jzimmerm@goucher.edu
http://phoenix.goucher.edu/~jillz

Office Hours:
        10:30 -11:30 MTuWF
        others by appointment

Text: An Introduction to Formal Languages and Automata, 4th Edition by Linz

Class web page: http://phoenix.goucher.edu/~jillz/cs250

Course Description and Goals: We will discuss the theoretical foundations of computer science, stressing formal models. We will introduce formal computational complexity and alternate models of computation. Topics include finite state machines, regular expressions, grammars, pushdown automata, Turing machines, computability and the halting problem, and hierarchies of computational classes.

This is a mathematically and theoretically oriented course and will require extensive problem solving and class participation. We will cover the entire text.

The goal of the course will be to try to understand the underlying foundations of computational theory. Familiarity with the major models, the relationships between them, and an ability to reason with them is essential for further study in computer science.

Course Objectives:

Course Mechanics:  Instead of a traditional lecture approach, you will be studying much of the material using the free software tool JFLAP.  Lab assignments will be performed in the class and then the concepts will be discussed.  It is essential that you read the material in the text prior to the lab.  You will want to bring your text to class for the lab assignments.

Regular meetings with me outside of class are required.  These meetings will be tied to the homework assignments and labs and will account for 10% of your grade.  Before you meet with me you must demonstrate a good-faith effort on all of the homework problems for that assignment.  If you don't know how to start on a problem, write down a list of questions for which you believe the answers will help you on that problem.  I will not meet with you the day an assignment is due (so start the work early!) and I will not meet with you if you haven't attempted all the problems.  The meetings will be devoted to going over your problems and assisting you with any problems that are giving you trouble. 

All work which is to be turned in for a grade should be an individual effort and turned in on time. No late homework will be accepted.
Academic dishonesty will not be tolerated. (See the Honor code for definition and disposition of academic dishonesty.)

Grading
  
     2 Exams (15% each) 30%
        Comprehensive Final 20%
        Labs/Homework 40%
        Homework meetings 10%