![]() Computer Science Dartmouth College |
Computer Science 39 |
Winter 2015 |
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 7] The midterm exam has been posted. Click on the link in the schedule table.
- [Jan 5] We will be using Piazza for all class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com. Here is our class page on Piazza.
- [Jan 5] 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 | 2 hour | Mon-Wed-Fri 13:45-14:50, X-hr Thu 13:00-13:50 |
Instructor |
Amit Chakrabarti Sudikoff 107 | 646-1710 | Office hours: Mon 15:00-16:00, Tue 13:00-14:00, or by appointment |
Teaching Assistants |
Jack Holland Sudikoff 152 | 914-400-9223 | Office hours: Wed 15:00-16: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 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.