CS 361

This course introduces a formal framework for investigating both the computability and complexity of problems. We study several models of computation including finite automata, regular languages, contextfree grammars, and Turing machines. These models provide a mathematical basis for the study of computability theory  the examination of what problems can be solved and what problems cannot be solvedand the study of complexity theory  the examination of how efficiently problems can be solved. Topics include the halting problem and the P versus NP problem.
Instructor
Tom Murtagh Office: 309 TCL Phone: 5972369 Tues.: 1:303:30 Weds., Thurs.: 1:303:00 Fri.: 1:302:30 Thurs.: 10:3012:00 Teaching Assistants
Name Hours Ben Drews Weds.: 8:00  10:00PM Chetan Patel Thurs.: 8:00  10:00PM Joseph Oh Thurs.: 10:00  11:00PM
The following is a tentative schedule of the topics that will be considered in each class this semester. Check the web page regularly for updates as this schedule is likely to be revised as the semester proceeds. The readings for each topic should be completed before the class with which they are listed.
In determining final grades, the following weighting will be used:
45%:  Homework assignments. 
20%:  A takehome midterm. 
30%:  A takehome, 24hour, cumulative final. 
5%:  Class participation. 
You have a total of 4 late days at your disposal for homework assignments. You can use no more than 2 late days for any single assignment (if an assignment is due on Friday, turning it in by first thing Monday morning will be treated as two late days). In addition, I will drop the lowest homework score. It is my assumption that the completion of the readings and homeworks assigned in the course will require about 10 hours beyond class meeting times. If you find that the actual workload exceeds this estimate, please let me know.
Each homework question will be graded on a 5 point scale.
10:  The solution is clear and correct. 
9:  The solution is clear but contains a few mistakes, but they are mostly arithmetic or of little significance to the overall argument. 
8:  The solution hits on the main points, but has at least one logical gap. 
7:  The solution is significantly unclear or contains several logical mistakes or major gaps, but parts of it are salvageable. 
6:  The solution is just plain wrong or so unclear it cannot be followed. 
0:  No attempt is made at solving the problem. 
Homework should be written clearly and concisely. Rewrite your proofs if they do not flow well. You are required to use LaTeX (or other suitable software) to prepare your solutions. If your handwriting is particularly neat (unlike mine), and you find it burdensome to complete the assignments in this way, you may request an exception after the first two assignments are complete.
You are encouraged to discuss homework problems with other members of the class, but I expect you will not write up solutions together. Your understanding of the problems should be sufficient to enable you to write up the details of the solution by yourself (i.e, you should not be writing up your solutions while you are discussing the problems with others or depend on detailed notes from the discussion). Deviation is considered an honor code violation. Insightful discussion with others must be cited in your homework solution. You will not lose points for citations.