> Sanjeev Arora and his coauthors consider it “a basic tool [that should be] taught to all algorithms students together with divide-and-conquer, dynamic programming, and random sampling.”<p>As someone who took Sanjeev's Advanced Algorithms course this past semester, I can confirm that he himself does indeed teach this.