During peak registration times, the open/closed status of a course will change frequently.
For the most up-to-date status of a course, the best resource is Williams Student Records:
Main Menu > Self Service > Class Search/Browse Catalog > Class Search
Algorithm Design and Analysis
(also offered Fall 2019)
This course investigates methods for designing efficient and reliable algorithms. By carefully analyzing the structure of a problem within a mathematical framework, it is often possible to dramatically decrease the computational resources needed to find a solution. In addition, analysis provides a method for verifying the correctness of an algorithm and accurately estimating its running time and space requirements. We will study several algorithm design strategies that build on data structures and programming techniques introduced in Computer Science 136. These include induction, divide-and-conquer, dynamic programming, and greedy algorithms. Additional topics of study include algorithms on graphs and strategies for handling potentially intractable problems.
Grading: no pass/fail option,
no fifth course option
problem sets and programming assignments, and midterm and final examinations
CSCI 136 and fulfillment of the Discrete Mathematics Proficiency requirement
current or expected Computer Science majors
BIGP Recommended Courses