This course explores advanced concepts in algorithm design, algorithm analysis and data structures. Areas of focus will include algorithmic complexity, randomized and approximation algorithms, geometric algorithms, and advanced data structures. Topics will include combinatorial algorithms for packing, and covering problems, algorithms for proximity and visibility problems , linear programming algorithms, approximation schemes, hardness of approximation, search, and hashing.
The Class: Format: tutorial
Requirements/Evaluation: evaluation is based on weekly problem sets, several small programming projects, weekly paper summaries, and a small, final project
Extra Info: may not be taken on a pass/fail basis
Prerequisites: CSCI 256; CSCI 361 is recommended but not required
Enrollment Preferences: current or expected Computer Science majors
Distributions: Division III Quantative/Formal Reasoning