A large part of the prerequisites is covered in the instructor's Discrete Mathematics Lecture Notes.
The Method of Reverse Inequalities (problem set)
Divide and Conquer: The Karatsuba-Ofman integer multiplication algorithm
Dynamic programming: The knapsack problem