The goal is simple: get to the last checkpoint. Getting there, however, isn't simple. So, take it step by step: find the next checkpoint, figure out how to get there, try to get there, then find the next checkpoint. Repeat.
Because I'm a sadistic bastard, I've made getting to the next checkpoint far from easy. But as I hate having to restart from the beginning each time, I've added a little gift: functional checkpoints.
Controls
And no good luck! I'm already giving you infinite retries, don't get greedy.