![]() Computer Science Dartmouth College |
Computer Science 39 |
Winter 2013 |
Course Description
This course serves as an introduction to formal models of languages and computation. Topics covered include finite automata, regular languages, context-free languages, pushdown automata, Turing machines, computability, and NP-completeness.
This course has substantial mathematical content. It is expected that a student who enrols for this course already knows how to write mathematical proofs and is generally mathematically mature. If a student passes this basic criterion and is interested in thinking philosophically about what a computer can or cannot do, then this course should be great fun.
Announcements
- [Feb 19] New office hours have been posted. You might have to refresh this page to see the latest.
- [Feb 11] The honor code requirements for homeworks have been updated. The new wording clarifies what you may or may not consult during the learning stage and final draft writing stage, as you work on the homework. Please read and understand the new statement.
- [Feb 5] The midterm exam is live. Main advice: start early!
- [Jan 8] The class has officially moved to Sudikoff 115.
- [Jan 3] Please send email to the professor (Amit Chakrabarti) with your name (only first and last name, no initials) and a password for accessing your grades in our database.
Administrative Basics
Important! Please also read and familiarize yourself with the administrative details not covered in the outline below. Pay special attention to the section that describes how the honor code applies to this course; violations of the honor code will be treated seriously.
Lectures |
Sudikoff 115 | 11 hour | Mon-Wed-Fri 11:15-12:20, X-hr Tue 12:00-12:50 |
Instructor |
Amit Chakrabarti Sudikoff 107 | 6-1710 | Office hours: Mon 09:00-10:30, Tue 10:00-11:00, or by appointment |
Teaching Assistant |
Keith Carlson Sudikoff 108 | 6-3297 | Office hours: Wed 10:00-11:00, Thu 14:00-15:00, or by appointment |
Textbook |
Required: "Introduction to the Theory of Computation," Third Edition. Michael Sipser. Suggested additional reading (not required): "Introduction to Automata Theory, Languages and Computation." J. E. Hopcroft and J. D. Ullman. |
Prerequisites |
Either CS 30 or CS 31, or a strong mathematics backround and permission of the instructor |
Work |
One homework per week. [35 points] Two in-class quizzes. [15 points] One take-home midterm. [20 points] One take-home final exam. [30 points] Please take note of the late homework policy. It will be enforced, strictly. |
Schedule and Homeworks
This is a work in progress. The dates for the quizzes and the due dates for the homework sets, the midterm and the final exam are now fixed as shown below. This schedule will be updated frequently. Please check back often, and please remember to RELOAD to get the latest schedule.
Any part of the schedule that is greyed out is tentative and subject to change.
Please be sure to read and understand the Homework Grading Guidelines and the Late Submission Policy.