UR Practice Week 8: Dynamic Programming