CMPSCI 611: Theory of Algorithms

David Mix Barrington

Fall, 2005

This is the home page for CMPSCI 611. CMPSCI 611 is the graduate core course in the theory of algorithms and will deal with analysis techniques, algorithmic paradigms, and NP-completeness in a mathematically sophisticated way.

Instructor Contact Info: David Mix Barrington, 210 CMPSCI building, 545-4329, office hours Wed 11-12, Fri 2-3 or by appointment. (Dropping in to my office is usually ok as well.)

TA Contact Info: Piyanuch Silapachote, better known as "Pla",, office hours Tue 11-1 in the CMPSCI lounge. Also Shaolei Feng,, office hours Mon 11-1 in the CMPSCI lounge.

Important Course Information:

The course is primarily intended for graduate students in computer science, and forms one of the core courses for the Master's and Ph.D. programs. Other qualified students, such as undergraduate, non-degree, and engineering graduates students, will be admitted if space allows. The minimal prerequisite is a good undergraduate discrete mathematics course (such as our CMPSCI 250) and the mathematical sophistication expected of a computer science graduate student (e.g., a good background in linear algebra and statistics). Most students will have taken an undergraduate course in algorithms comparable to our CMPSCI 311 -- those who haven't will have to acquire some of this background on the fly.

The course will meet for two lecture meetings a week, Tuesday and Thursday 1:00-2:15. Lectures will be videotaped for off-campus students in the PEEAS program, and on-campus stduents will be able to borrow these tapes from the CMPSCI main office.

The required textbook will be lecture notes from previous versions of this course given by Prof. Micah Adler, who is on sabbatical leave. These will be available by hardcopy only, through Collective Copies in downtown Amherst. Most but not all of the material of the course is covered in published books, which you may or may not want to buy. The most popular text for a course like this is Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein. Another good recent text is Algorithm Design, by Kleinberg and Tardos.

The grade for the course will be based on a midterm (to be held Wed 26 October, 6:30-9:00 p.m., in Herter 231), a final exam, and five or six problem sets. I have a somewhat nuanced acedemic honesty policy for problem sets, which even some graduate students have had difficulty following, so I set it out here:

Solutions to homework problems must be entirely the student's own work in presentation. You may get the idea of how to solve a problem from a variety of sources, such as the instructor, the TA, fellow students, books, or the web. In your writeup of the solution, you must indicate if and where you got such help and present the writeup in your own words. A good way to ensure your own presentation is to write up your solution without other written material in front of you. Handing in work that is substantially identical to another student's work or to your reference is plagiarism and will lead to sanctions. These may include failure for the course and a report to the Graduate School, even on a first offense. (Any discplinary action by me is subject to appeal to the Graduate School according to the established procedures.)

The most common violation of these procedures comes when two or more students hand in solutions that are substantially identical to each other. Please don't do this. It is usually a matter of excessively close collaboration rather than deliberate copying, but if I can't distinguish it from the latter I have to treat it as the latter. With reasonable care on your part to write up your own solutions, this shouldn't happen.

The primary avenue for course announcements will be the list/blog below:

Announcements (23 December 2005):

Last modified 23 December 2005