CMPSCI 611: Theory of Algorithms

David Mix Barrington

Spring, 2006

This is the home page for CMPSCI 611x, the video-only version of CMPSCI 611 offered through the PEEAS program. Students will view lectures from the Fall 2005 version of CMPSCI 611 and will complete new homework assignments and exams to be designed for this version. 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 2:30-3:30, Thu 1-3, or by appointment. I also answer email fairly reliably.

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 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 scheduled individually sometime in March) a final exam (in May), 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 in a live class comes when two or more students hand in solutions that are substantially identical to each other. In video classes I have had problems with improper copying from internet sources, particularly without attribution. Please don't do this. Identical answers are 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 (6 April 2006):

Last modified 6 April 2006