Teaching Modern Heuristics in Combinatorial Optimization