Computer Science

CS3913Algorithmics4 ch (3C)

Continues the study of algorithms begun in CS 2383. Covers advanced techniques for analyzing recursive algorithms, examines major algorithm-design approaches including greedy, divide and conquer, dynamic programming, and graph-based approaches. Considers randomized algorithms and introduces complexity theory, including NP-completeness. One or more advanced topics will be chosen from the following areas: algorithmic problems arising in artificial intelligence, state spaces and search strategies, parallel and distributed algorithms.

Prerequisites: CS 2383 and CS 2333.