Eecs 376 foundations of computer science

Doc File 67.50 KByte,



Fall 2002: EECS 376 – Foundations of Computer Science

Section 001: MWF 12:30-1:30 p.m., 1013 Dow.

General Information

(September 3, 2002) This document contains answers to most questions about the course organization and requirements, so please read it carefully and retain a copy.

Instructional Staff

|Professor: |

|pton |

|Office: 2236EECS |

|Office Hours: MWF 1:30-2:30 and by appointment |

|kjc@umich.edu |

|Please put "EECS 376" in subject line of e-mail messages. |

|GSI: Office hours will be held at 2420 EECS. |

|Scott Diehl |

|Office: 2420 EECS |

|Office Hours: TBA |

|sdiehl@umich.edu |

Course Description

An introduction to computation theory: finite automata, regular languages, pushdown automata, context-free languages, Turing machines, recursive languages and functions, and computational complexity

Required Textbook

Introduction to the Theory of Computation, M. Sipser, PWS Publishing.

Web Site

The home page on the web for EECS 203 Lecture Sections 001 and 002 will be



You must be registered in Lecture Section to access this web site. (Students in the other sections will use a different web site.) This web site will be used to make announcements, distribute homework assignment and solutions, sample exams, etc., so check it regularly.

Course Policies

Class Sections

There are two lecture sections of EECS 376 this term, each with a faculty instructor and GSI. You must be registered for one lecture section and one of the discussion sections. The instructors (professor and GSI) for your lecture and discussion sections are responsible for grading and advising you. You should therefore not go to the other EECS 376 instructors for help or advice without a good reason.

Homework Policies

The lectures and discussion sections will be much more useful to students who have thought about the material in advance. The course schedule below indicates the sections of the textbook that will be discussed in class. Be sure that you have read the indicated text sections before each class meeting. Homework is not only a way of showing us that you are keeping up with the class on a regular basis —it is an important part of the learning process.

Homework will be assigned (almost) every Friday and will be posted on the web. Completed homework is due on the following Friday at the beginning of class. Late homework will not be accepted for any reason, because solutions will be posted on the web the following day.

There will be a total of nine homework assignments. Only the eight highest grades received will be used to compute your final course grade. In other words, the lowest grade received by each student (including a zero for at most one missed assignment) will be discarded.

Doing the Homework

Please write your answers clearly and neatly to avoid problems when the grader is correcting your homework. Also answer the questions in the order they are assigned; that will help to prevent problems, such as questions left ungraded. Show all your work, and state any special assumptions you make.

The homework is to be done by each student working alone. Collaborating on homework, using old homework solutions, or the like constitutes cheating. The Engineering Honor Code applies to all homework and exams in this course. Suspected cases of cheating or other Honor Code violations will be reported to the Engineering Honor Council or the LSA Dean’s office and will be dealt with severely. If you are unclear about these rules, contact the instructional staff for clarification. Keep this in mind: If you are having trouble finishing an assignment, it is

far better to do your own work and receive a low score than to go through an academic judiciary case and suffer any penalties which may be involved, which can be severe.

To ease handling of homework, staple all your homework sheets. On the front page, top right corner provide the following three items:

• Print your name

• Print your discussion section number. Graded homework will be returned to you during the discussion section in which you are registered.

• Write and sign the Engineering Honor pledge: “ I have neither given nor received aid in doing this homework assignment. Signed _________________.”

The result should then look like this:

Name: John P. Doe

Discussion: 004

“ I have neither given nor received aid in doing this homework assignment.”

Signed: John P. Doe

Submitting Homework

Homework will be collected in class by the GSI.

Regrading Homework

If there is a mistake in the grading of your homework, you have one week to request a regrade after the homework is returned to you. When requesting a regrade, attach a cover page to your homework explaining clearly which questions need to be regraded and why. Note that “I think I deserve more points for this question” is not a valid reason for a regrade. Homework regrades should be submitted to the GSI.

Project Policies

There will be one project that involves using a computer program known as a lexical analyzer. This will be treated as a programming project and must be done on your own.

What is cheating on a programming project?

• having someone else write your program, in whole or in part.

• copying a program someone else wrote, in whole or in part.

• collaborating with someone else to the extent that the programs are identifiably similar, in whole or in part

• utilizing program solutions from a previous semester (whether written by a student or the course instructor)

What is not cheating?

• talking to someone in general about topics and concepts involved.

• asking someone for help with a specific bug or error message in your program.

• getting help with the specifics of Lex syntax.

• utilizing information given to you by the teaching staff of the course, for example copying a paragraph describing the program from the assignment write-up we provide to you, copying parts of code from handouts used this course

Exam Policies

There will be two midterm exams and one final exam. All exams will be closed book and closed notes. Do not need to bring a blue book. If you cannot take an exam at the scheduled time, notify your instructor at least one week in advance so that alternative arrangements can be made.

Midterms will be on the following days.

Midterm exam 1: Friday, Oct. 4, in class.

Midterm exam 2: Friday, Nov. 8, in class.

If there is a mistake in the grading of your midterm, you have one week to request a regrade after the exam is returned in class (not necessarily a week after you pick up your exam).

Final: The final exam for all sections will take place as follows:

Final exam: Mon., Dec. 16, 1:30-3:30 p.m.

This is the scheduled time for Section 003 but applies to Sections 001 and 002 as well. The final will be comprehensive, but about half the questions will be on material covered after midterm 2.

Course Grade Distribution

Midterm 1: 17.5%

Midterm 2: 17.5%

Final exam: 25.0%

Project: 15.0%

Homeworks: 25.0%

Total: 100.0%

Course Schedule

|Lecture | | |Text | |

|No. |Date |Lecture Topic |Pages |Homework, Projects, Exams |

|1 |04-Sep-02 |Introduction, finite automata |31-34 | |

|2 |06-Sep-02 |Formal definitions of finite automata |35-39 |HW 1 assigned |

|3 |09-Sep-02 |Computation |40-43 | |

|4 |11-Sep-02 |Regular operations |44-47 | |

|5 |13-Sep-02 |Nondeterminism |47-52 |HW 1 due |

| | | | |HW 2 assigned |

|6 |16-Sep-02 |Equivalence of NFAs and DFAs |53-57 | |

|7 |18-Sep-02 |Closure under regular operations |58-62 | |

|8 |20-Sep-02 |Regular expressions |63-65 |HW 2 due |

| | | | |HW 3 assigned |

|9 |23-Sep-02 |Equivalence of regular expressions, |66-70 | |

| | |finite automata | | |

|10 |25-Sep-02 |Equivalence of regular expressions, |71-75 | |

| | |finite automata | | |

|11 |27-Sep-02 |Pumping lemma for regular languages |77-82 |HW 3 due |

|12 |30-Sep-02 |Lexical analysis and Lex | |Project assigned |

|13 |02-Oct-02 |Review | | |

|14 |04-Oct-02 | | |Exam 1 |

|15 |07-Oct-02 |Context-free languages |92-95 | |

|16 |09-Oct-02 |Ambiguity |95-99 | |

|17 |11-Oct-02 |Pushdown Automata |101-106 |Project Due |

| | | | |HW 4 assigned |

| |14-Oct-02 |Fall Study Day | | |

|18 |16-Oct-02 |Equivalence of PDAs and CFGs |106-110 | |

|19 |18-Oct-02 |Equivalence of PDAs and CFGs |110-115 |HW 4 due |

| | | | |HW 5 assigned |

|Lecture | | |Text | |

|No. |Date |Lecture Topic |Pages |Homework, Projects, Exams |

|20 |21-Oct-02 |Pumping lemma for CFLs |115-119 | |

|21 |23-Oct-02 |Turing machines |125-130 | |

|22 |25-Oct-02 |Turing machine examples |130-135 |HW 5 due |

| | | | |HW 6 assigned |

|23 |28-Oct-02 |Turing machine variants |136-142 | |

|24 |30-Oct-02 |Computational models |142-147 | |

|25 |01-Nov-02 |Decidable problems |152-154 |HW 6 due |

|26 |04-Nov-02 |Decidable problems |154-159 | |

|27 |06-Nov-02 |Review | | |

|28 |08-Nov-02 | |  |Exam 2 |

|29 |11-Nov-02 |The Halting Problem |159-164 | |

|30 |13-Nov-02 |Undecidability |164-168 | |

|31 |15-Nov-02 |Reductions |189-194 |HW 7 assigned |

|32 |18-Nov-02 |Undecidable problems |171-174 | |

|33 |20-Nov-02 |Undecidable problems |175-182 | |

|34 |22-Nov-02 |Complexity |225-228 |HW 7 due |

| | | | |HW 8 assigned |

|35 |25-Nov-02 |Complexity measures |229-234 | |

|36 |27-Nov-02 |Polynomial time computability |234-241 | |

| |29-Nov-02 |Thanksgiving Break | | |

|37 |02-Dec-02 |Nondeterministic computation |241-245 | |

|38 |04-Dec-02 |NP |245-248 | |

|39 |06-Dec-02 |NP-completeness |248-253 |HW 8 due |

| | | | |HW 9 assigned |

|40 |09-Dec-02 |NP-complete problems |260-263 | |

|41 |11-Dec-02 |NP-complete problems |264-268 | |

| |16-Dec-02 | | |Final Exam, 1:30 p.m. |

Download Doc File