The module begins with a brief review of basic analysis techniques and then focuses on problems that are efficiently solvable. The main topics include algorithm design and analysis techniques, advanced data structures, graph algorithms and algorithms for further selected problems. The module concludes with basic techniques to show and deal with intractability.