Retired 12/31/2008: Experience with inheritance in an object-oriented language. Covers: algorithmic paradigms (divide and conquer, greedy, dynamic, back-tracking); recurrence relations; complexity analysis (big oh, big omega, big theta, little oh); algorithms (graphs, sorting, searching, string processing); advanced ADTs (sets, graphs, heaps, hash tables); random number generation and related algorithms. (Prerequisite: CS 912 - Computer Science II; Recommended: CS 915 - Discrete Structures.)