|
91.502 Foundations of Computer Science
Fall 2006 |
Finding This Document
Course Goals
Time and Place
Course Personnel and Office Hours
Prerequisites
Course Texts
Course Outline
Homework
Exams
Grading Policy
The class Web page is http://www.cs.uml.edu/~wang/cs502. Note that this page is a ``living document'' and extra information is expected to be added during the semester. For up-to-date contents please refer to this Web page.
This course has two objectives: (1) Give students a solid understanding of various basic computation models and fundamental concepts of computation. (2) Give each student a deeper sense of how to reason formally about computing, how to prove theorems about computation, and how to solve problems using rigorous mathematical methods.
The class meets Mondays 5:30pm-8:10pm, Place: Olsen 401. Each class is divided into two sessions: 5:30-6:45 and 6:55-8:10, with a 10-min recess.
|
Person |
Role |
Office |
Office Phone |
Office Hours |
Email |
Jie Wang |
Instructor |
OS 201 |
978-934-3649 |
MW: 9:30am-11:00am or by appointment |
|
|
TA |
OS 305 |
978-934-1969 |
T: 10am-12am or by appointment |
|
Prerequisites: 1) 91.500 or 92.322, 2) 91.404 or 91.583, and 3) at least one computer programming course or significant programming experience. This course is highly mathematical. This course is not for you if you miss any one of these three prerequisites.
Du and Ko, Problem Solving in Automata, Languages, and
Complexity, Wiley, 2001. ISBN 0-471-43960-6 Errata
How to Show Non-Recursive-Enumerability handout (new)
Quantum computing handout (optional topic)
Date |
Topic |
Reading |
|
Week 1 (9/11) |
Administrative Matter. Mathematical Preliminaries; Strings and Languages; Regular Languages and Regular Expressions Note: If you find Sections 1.1 and 6.1
difficult, then this course is not for
you. |
1.1-1.2, 6.1 |
|
Week 2 (9/18) |
Deterministic Finite Automata (DFA), Checker method of constructing DFA, Product automata method and complement automata method of constructing DFA, NFA, Equivalence of NFA and DFA |
2.1-2.4 |
|
Week 3 (9/25) |
DFA and Regular Expressions, Closure Properties of Regular Languages, Myhill-Nerode Theorem, Minimum DFA, Pumping Lemma |
2.5-2.7 |
|
Week 4 (10/02) |
Quiz*, Pumping Lemmas |
2.8 |
|
Week 5 ( (10/10) |
Context-Free Grammas, Parsing and Ambiguity, Pushdown Automata and Context-Free Grammas |
3.1-3.5 |
|
Week 6 (10/16) |
Pumping Lemmas for CFL, One-Tape Turing Machines |
3.6, 4.1 |
|
Week 7 (10/23) |
Midterm exam |
Everything since week 1 |
|
Week 8 (10/30) |
Multi-tape Turing Machines, Church-Turing Thesis,
Unrestricted Grammars |
4.1-4.5 |
|
Week 9 (11/06) |
|
5.1-5.3 |
|
Week 10 (11/13) |
Reducibility, Rice Theorem Note:
11/14 is the last day to withdraw from courses with grade of
“W” for undergraduate students |
5.4, handout |
|
Week 11 (11/20) |
|
|
|
Week 12 (11/27) |
Time and Space Complexity, Hierarchy Theorems, NTM’s |
6.2-6.4 |
|
Week 13 (12/04) |
Context-Sensitive Languages, NP, Polynomial-Time Reducibility Note: 12/07 is the last day to withdraw from courses with grade of “W” for graduate students |
6.5, 7.1-7.2 Handout |
|
Week 14 (12/11) |
Bounded halting, Bounded tiling, Cook’s Theorem, 3SAT |
Handout |
|
12/18 5:30pm-8:00pm |
Final Exam (Please note the time is from 5:30 to 8:00, for a total of
150 minutes) |
Everything since the midterm exam |
*The quiz is designed to screen your mathematical preparation.
Homework assignments are due on Mondays at the beginning of class. Homework handed in after 8:15pm will be considered late, and no late homework assignments will be accepted. However, since occasional emergencies may occur, each student is allowed one extension of 48 hours to turn in his/her homework. This amount of time cannot be divided among assignments: It applies to one assignment only.
Midterm and final exams will be given. Both exams are closed book. No early exams will be given. Exams may be taken after a scheduled date ONLY for documented emergencies. Students are required to obtain appropriate written documentations. A quiz with emphasis on prerequisite courses will be given in the 4th week to help you determine whether you should stay on the course. Again, if you miss any of the listed prerequisites or you find it difficult to understand Section 1.1 and Section 6.1 on your own, then this course is not for you.
The approximate weights of the three components are
|
Homework |
20% |
|
|
|
|
Midterm |
40% |
|
Final |
40% |
Class attendance is important. You
are responsible for all scheduling and announcements made in class if you miss class. The likelihood of
failing the course is subsequently higher if you fail to attend class.
Students should be aware of, and adhere to, the University’s rules on academic dishonesty. These rules appear in the Graduate/Undergraduate Catalogs. The basic presumption is that the work you do is your own. Occasionally, especially when working on difficult homework problems (but never on quizzes or exams!), it may be necessary to ask someone for help. You are permitted to do so, provided you meet the following two conditions.
1. You acknowledge the help on the work you hand in.
2. You understand the work that you hand in, so that you could explain the reasoning behind the parts of the work done for you by another.
Please note that I will not deduct credit for small amounts of acknowledged assistance in your homework assignments. Even working as a team on one of several problems in a homework problem set may not hurt your grade, as long as all members of the group acknowledge their collaboration. Such shared interest may benefit all concerned. I do reserve the right to give less than full credit in circumstances where it appears that there was a large-scale division of labor, and you are not getting as much learning out of the assignment as you should. However, as long as you acknowledge your sources, you will not get into Honor-Code trouble. Again, this policy only applies to homework assignments.
Any other assistance by another person constitutes a violation of the honor code and will be treated as such. You will automatically receive a zero grade for your work on the first Honor-Code violation and receive a zero for the entire course on the second violation.
If you have any questions about what this policy means, please discuss the matter with the instructor now.