DESIGN AND ANALYSIS OF ALGORITHMS - Duke University