CS4913 (Theory of Computation) Fall 2005

20 downloads 130 Views 86KB Size Report
Sep 7, 2005 ... Textbook: Fundamentals of the Theory of Computation by Greenlaw and. Hoover, 1998 ... For these, CS2303 provides appropriate background.
CS4913 (Theory of Computation) Fall 2005 Owen Kaser September 7, 2005 Contents: Formal language theory. Regular expressions, regular languages and the pumping lemma. Automata: finite, push-down, Turing machines. Undecidability. Grammars, context-free languages, Ogden’s lemma, parsing. Computational complexity: circuit models, complexity classes NC, P, and NP. This course is inherently, well, theoretical. Fancy formal notations and proofs cannot, and will not, be avoided. However, the chosen textbook tries to show how the theory connects to the world of the working programmer. Instructor:

Dr. Owen Kaser ([email protected]), HH 303.

Web Site: The course Web site is 1 http://sjwebserver.unbsj.ca/~owen/courses/4913-2005/ Once you get to the course page, bookmark it; that is where assignments and announcements will be posted. Backup Web Sites: By Murphy’s Law, the main web server will be down when you most need it. Therefore, I try to mirror my site at http://pizza.unbsj.ca/~owen/backup/courses/4913-2005. I will try hard to keep the backups up-to-date, but there may be times when the main site is fresher. Office Hours: TBA; monitor the course Web page I don’t mind if you come to my office outside of office hours, but if I am busy, I may ask you to return during official office hours. It’s unlikely that I will often be available on Tuesdays or on MWF afternoons; it’s fairly likely that I will be available on many Thursdays. If my door is closed, it means that I do not wish to be disturbed (or that I am not in my office). Class: MWF 1:30-2:20. I may keep you sometimes till 2:25; it doesn’t take more than five minutes to get anywhere on the UNBSJ campus! 1 This URL isn’t totally official, and it’s possible that Computing Services might change it during the year. The completely official way to get to the page is to go via my home page, http://people.unbsj.ca/∼owen. From there, go to my “for students” link in the first bullet.

1

Textbook: Fundamentals of the Theory of Computation by Greenlaw and Hoover, 1998. Additional Materials: There are scanned images of my transparencies available. See the course Web page. Prerequisites: CS3913 and CS2303. With the current textbook, it happens that CS3913 is not absolutely essential: some topics covered at the end of CS3913 interact with some topics covered at the end of CS4913. Either CS3913 or CS4913 could be taken first (and then the end of the other course will be much easier). The topics in automata theory and formal languages make up the first half of the course. For these, CS2303 provides appropriate background. There are some ties to topics covered in CS2803, and there are ties to topics usually covered in CS4613. Thus you will have less to learn, if you have taken either of these courses already. Grading Scheme: Assignments: 35% Midterm : 20% Final Exam: 45% Assignments: I shall assign problems every week. I expect that they will mostly be pen-and-paper problems, but a few short programs may also be required; the implementation language may be negotiable. All assignments will count equally toward the final course grade, even though some may be more difficult than others. Answers will be sent to the library periodically. I do not promise to supply answers to all questions, nor do I promise to grade all questions. I may grade only a subset of questions on any given assignment. Assignment Submission: Unless otherwise announced, assignments are to be submitted on paper. To ensure some degree of privacy for you, I require that you never write your student number on anything that may be placed in the returned-work furniture. Should I see a student number, I would remove it. Should you put a student number on your submission and should I fail to notice it, you would be responsible for your loss of privacy. Assignments that you slide under my door or place in my faculty mail-slot risk rejection or accidental loss. Late Assignments: Unless I announce otherwise, your assignments are due at the end of the class period. In no case (regardless of holidays or the number of class periods) will I accept an assignment after it is one week late. Nor will I accept any assignment after 5 pm on the last day of classes. Assignments that are accepted late are subject to penalties, as follows: An assignment submitted after it is due, but before the end of the next time CS4913 meets (class period), 2

incurs a 10% penalty. If submitted after this, but before the end of the following class, the penalty is 35%. Even if less than a week has elapsed, I will not accept submissions after this time. Following the UNB calendar, exceptions can always be made for valid medical and compassionate reasons. Where possible, you must arrange with me in advance. Individual Work: Unless otherwise indicated, each assignment should be your individual work. It is a form of cheating (probably plagiarism) to submit, as your own work, something that is actually joint work2 . Cheating/plagiarism will not be tolerated, especially given that this course is primarily for Honours students. See the UNB Calendar. There are few students in the class, so I am happy to give much help to those who need it For the kinds of questions that I plan to ask, almost any co¨operation seems inappropriate. However, after an assignment is returned, I encourage you to compare answers— especially for questions that I did not grade. Examinations: The midterm will be held on Oct. 31, and it will consist of two parts. I will give out both parts initially, during the closed-book portion of the test. You will have two booklets for your answers; one is for answers to the openbook questions and one is for answers to the closed-book questions. You may work on either part without your books. At any point, you may (irrevocably) hand in your closed-book answers and retrieve your textbook/notes for use during the remainder of the test period. Calculators will not be permitted (or useful). Note that the midterms will be treated like final exams, in that you will not be permitted to keep the exam sheets or your answer booklets. (I will keep them for a year, however.) I will return your answers briefly for you to check in class. Later, I will go over the answers at a special evening class, during which time you can also have your answers. The special evening class will be scheduled so as to avoid conflicts with most students’ schedules. Any student who cannot attend the evening class is free to discuss midterm grading with me during office hours, but anyone who could have attended the evening session (but didn’t) should not expect to discuss midterm grading with me. The final exam will work the same way. Again, calculators are unnecessary and forbidden. Textbook Reading Schedule: During September, we will blast through the preliminary materials in the first two chapters and continue at a fast pace, the goal being to get through Section 5.2 by month’s end. (At the end of previous offerings of CS4913, students told me that I should go fast through this material so that we can go more slowly later. Plan to read a lot in September, since that’s about 130 pages in the textbook. Some of it will be a CS2303 review, though, and the material is easier than what comes later. 2 with

anyone except me. Clearly, I know what’s your work!

3

During October, we will cover Section 5.3 through the end of Chapter 7. That’s about 90 pages. I’ve had feedback saying that I could go faster through Chapter 7, but maybe the person already giving the suggestion already had some background. During November, we’ll start the tougher topics in computational complexity and we’ll cover Chapters 8 through 10. That’s about 70 pages, and Chapter 9 will get about one lecture, since I assume almost all of you will have taken a course like CS2803 already. You’ll find Chapter 10 tough, I predict. The final classes (December) will be devoted to Chapter 11 on NP-completeness. It will challenge you! We cover the topic from a different angle in CS3913.

4