Design and Analysis of Algorithm Lessons