The analysis, design, and implementation of algorithms. Topics include specific algorithms for searching, sorting, set operations, and graph theory; and a survey of wicked problems, NP- completeness, and intractable problems. Included are both empirical and theoretical measures of the space and time efficiency and the correctness of algorithms.