Presents techniques for designing, analyzing, and implementing computer algorithms. Students gain a solid understanding of algorithmic problem-solving and be exposed to a variety of classical algorithms used in numerous applications.