Course Description: Covers the analysis and application of algorithmic solutions to a range of fundamental computing problems. Topics include hashing, sorting, graph representation and algorithms, string matching, data compression, and computability.