General Information

A class that focuses on design, analysis, and implementation of algorithms in realtion with various computing applications like systems and networks, artificial intelligence, computer vision, data mining, and computational biology.

Prerequisites

CS 2800 and CS 3110, or A- or higher in CS 2210 and CS 2800.

Topics Covered

  • algorithm design techniques
    • greedy algorithms
    • divide-and-conquer
    • dynamic programming
    • network flow
  • undecidability and NP-completeness and
  • algorithmic techniques for intractable problems
    • including identification of structured special cases
    • approximation algorithms
    • local search heuristics
    • online algorithms

Workload

General Advice

Testimonials

Past Offerings