CS 256

Spring 2006
Williams College

Algorithm Design and Analysis

Instructor: Prof. Stacia Wyman
Email:
Phone: x4711
Office: TCL 305
Office Hours: M 1:00-3:00, F 1:00-2:00 and by appointment
Teaching Assistant: Alex Constantin
TA Hours: TBD
Meeting Times: Lecture: MWF 11:00am-12pm
Location: Lecture: TCL 206


Announcements



Course Description

This course is concerned with investigating methods of designing efficient and reliable algorithms. By carefully analyzing the underlying structure of the problem to be solved it is often possible to dramatically decrease the computationalresources needed to find a solution. Through such analysis one can also verify that an algorithm will perform correctly, as well as accurately estimate its running time and space requirements. We will present several algorithm design strategies that build on data structures and programming techniques introduced in CS 136, including induction, divide-and-conquer, dynamic programming, and greedy algorithms. Particular topics to be considered will include algorithms in graph theory, computational geometry, string processing, and advanced data structures. In addition, an introduction to complexity theory and the complexity classes P and NP will be provided.

Course Text

Algorithm Design: Foundations, Analysis and Internet Examples

by Goodrich and Tamassia

The book is available at Water Street Books, or online (i.e. Half.com) and will be on reserve in Schow. You are responsible for the material in the book co vered by the assigned reading.

There is also a website associated with the book which you may use as a resource:


Evaluation

There will be frequent homework assignments which will count as 55% of your grade. Late assignments are not accepted without permission in advance from me, but one or two of the lowest homework scores will be dropped. We may have a programming project during the semester, which would count as 10% of the homework grade.

There will be three take home exams each of which you will have approximately 48 hours to complete. Each exam will count as 15% of your final grade.


Policies