Prerequisite: COMP 200 Basic notions of the design of algorithms and the underlying data structures, analysis of complexity of algorithms, techniques of algorithms.