A study on the design and analysis of algorithms, which introduces students to the techniques in basic algorithms analysis, algorithmic strategies, sorting and searching, sets, graphs algorithms, trees, and geometric algorithms.