CSCI 256: Algorithm Design and Analysis

Spring 2020

Home | Section 1 | Section 2 | CS Dept

Course Description

This course is about mathematical modeling of computational problems, developing common algorithmic techniques to solve them, and about analyzing the correctness and running time of the algorithms. By clearly formulating and carefully analyzing the structure of a problem, it is often possible to dramatically decrease the computational resources needed to solve it. In addition, by analyzing algorithms you can provide provable guarantees of their performance. We will study several algorithm design strategies that build on data structures and programming techniques introduced in CS 136 and mathematical tools introduced in MATH 200. The course will roughly cover the following topics in order: graph algorithms, greedy algorithms, divide-and-conquer, dynamic programming, NP completeness and problem reductions, approximation algorithms and randomized algorithms.

Section:CSCI 256-01
Instructor:Shikha Singh
Email: shikha@cs.williams.edu
Phone: x4773
Office:TBL 309B
Lectures: MWF: 11:00-11:50 am, SSL 030a
Course webpage: Section 1
Section:CSCI 256-02
Instructor: Aaron Williams
Email: aaron@cs.williams.edu
Phone: x4663
Office:TCL 309A
Lectures: MWF: 12:00-12:50 am, TPL 205
Course webpage: Section 2

Computer Ethics

Students should be aware of and abide by the College's statement on Computer Ethics. Violations including uninvited access to private information and malicious tampering or theft of computer equipment or software are subject to disciplinary action.


Copyright 2012 | Department of Computer Science :: 47 Lab Campus Drive :: Williamstown, MA 01267
413.597.3218 :: requestinfo@cs.williams.edu