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, context-free 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 solved-and 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: 597-2369 Hours: Mon., Weds.: 1:00-3:00 Tues.: 11:00-1:00 Fri.: 1:30-2:30 For information on how to join the Zoom meeting for office hours, visit the course Glow page.
Teaching Assistants
Christofer Anton, Will Burford, Audrey Lee and Emily Zheng
Hours:
Will Mon.: 8:00-10:30 Chris Tues.: 1:30-4:00 Emily Tues: 7:30-10:00 Audrey Weds.: 7:30-10:00 For information on how to join the Zoom meeting for office hours, visit the course Glow page.
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 take-home midterm. |
30%: | A take-home, 24-hour, cumulative final. |
5%: | Class participation. |
Homework assignments will be due in class, usually on Fridays. You may take an automatic extension on at most two homework assignments during the semester. If you choose to take such an extension, the assignment should be submitted during the next class period. 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 10 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.
You are encouraged to discuss homework problems with other members of the class, but the work you submit each week should still be your own. In particular, 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.