M2 Course Proposal: Algorithms and Heuristics for Optimization and Approximation