CSE 350: Theory of Computation: Honors


Lecture Time and Place:  Mon/Wed  2:20pm - 3:40pm, SocBehSci N118
Recitation Time and Place: Mon 12:50pm - 1:45pm, SocBehSci N118

Professor:  Radu Grosu (grosu@cs.sunysb.edu),
Office hours:  Mon/Wed 12pm-2pm, CS Building room 1425, and by appointment

Teaching Assistant: Giordano Fusco (fusco@cs...),
Office hours: Fri 3:30-4:30, CS Building room 2110

Contents


Catalog Description

An introduction to the abstract notions encountered in machine computation. Topics include finite automata, regular expressions, and formal languages, with emphasis on regular and context-free grammars. Questions relating to what can and cannot be done by machines are covered by considering various models of computation, including Turing machines, recursive functions, universal machines, and probabilistic machines.


Objectives

The main objectives of this course are as follows:

  • Introduce abstract models of computation such as finite and push-down automata and analyze their relative expressive power.
  • Explore the connection between abstract machine models of computation and formal languages, as specified by grammars.
  • Enhance student's awareness of the power and inherent limitations of algorithmic computation via the study of Turing machines.
  • Enable students to apply languages and automata to solve problems in applied computer science

  • Prerequisites

    You must have completed CSE150.


    Overview

    You are about to embark on the study of a fascinating and important subject: the theory of computation. It comprises the fundamental mathematical properties of computer hardware, software, and certain applications thereof. In studying this subject we seek to determine what can and cannot be computed, how quickly, with how much memory, and on which type of computational model. The subject has obvious connections with engineering practice, and, as in many sciences, it also has purely philosophical aspects [M. Sipser]


    Reading

    The course will use the textbook titled  Introduction to the Theory of Computation, Second Edition, by Michael Sipser, 2005, ISBN 0-534-95097-3.  Slides will be posted as links in the topics to be covered below. The slides are based on the Lecture Notes of Teo Rus.


    Homeworks and Communication

    The best way to learn the material is by solving problems. You are encouraged to work in pairs, because the best way to understand the subtleties of the homework problems is to argue about the answers. However you are supposed to write down your own solution. Please state the name of who you collaborated with.

    You should cite all sources you used for your problem sets (both people and publications). Each of you should look at all the problems independently, and not just divide the list in two parts each time. You must write up the problems independently. Unless you learn how to solve problems, I promise that you will get burned on the exams and thus for your final grade.

    Your solutions should be very neatly written. If your solution is unclear, sloppy, or if your solution is hard to understand, you will have points deducted even if your solution is correct. One of the best way to make your solutions clear is to include pictures and examples.

    Homework assignments will be due at the beginning of class. Late assignments will not be accepted.

    It is extremely important that you start homework assignments early. The homeworks are very hard, and if you get behind in your work, you may find it too difficult to catch up. I strongly encourage you to attend the office hours. This will almost certainly improve your performance in the course.


    Grading Policy

    Homeworks and class participation will be worth approximately 20% of the grade, the midterm will be worth approximately 35% of your grade, and final will be worth approximately 45% of your grade. Class participation includes attendance and asking/answering questions. If we need quizes, I will scale these three scores accordingly.


    Your Rights and Responsibilities

    Special Needs

    If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, you are urged to contact the staff in the Disabled Student Services office (DSS), Room 133 Humanities, 632-6748/TDD. DSS will review your concerns and determine, with you, what accommodations are necessary and appropriate. All information and documentation of disability is confidential.

    The Importance of Being Earnest

    Because a primary goal of the course is to teach professionalism, any academic dishonesty will be viewed as evidence that this goal has not been achieved. Any act of cheating will be treated with utmost seriousness.

    You can discuss the course material with other students, but not the homework assignments themselves. In effect, you can discuss the problems but not the solutions. If you help another student with a homework, use examples that do not resemble those in the homework. Remember that there are many different ways to solve the same problem; even solutions with the same central idea can be formulated in many different ways. Therefore, suspiciously similar homework solutions will be considered as evidence of disallowed collaboration or copying.

    In case you have any questions about whether an act of collaboration may constitute "cheating", please come and talk to the instructor beforehand to clarify the issue.

    Copying an assignment from another student in this class or obtaining a solution from some other source will lead to an automatic F for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying. You should learn how to protect your data. Failure to do so is also unprofessional and it may expose you to the danger that someone will copy your homework and will submit it as his or her own (see above). In this case, you may be given a score of 0 for the assignment in question (and the other party will get an F).

    All cases of academic dishonesty will be reviewed by the Engineeing College's committee (CASA).



    Topics to be Covered

    Part 1: Mathematical Background Part 2: Finite Automata and Regular Languages Part 3: Pushdown Automata and Context-Free Grammars Part 4: Turing Machines Part 5: Computation Complexity

    Handouts



    Last updated on Jan 29, 2008 by Radu Grosu