In ICT we see the concepts of absolute and relative in a range of situations, including URLs, spreadsheets and programming. Although hard for students to grasp, the distinction is important. With absolute referencing, we always know what we are going to get (e.g. go to coordinates 0, 0). With relative, we will get a different result, depending on our starting position (e.g. take 10 steps forward).
With absolute references we have a sense of certainty, and know we will get the same result every time. Conversely, relative references allows us to use changing circumstances to our advantage. Neither is better than the other, but it is powerful when students see the difference, and can make clear decisions on which approach to use.
In the past I have taught my students about this concept, using examples in Scratch. It has worked, but never that well. Today, for the first time, in teaching Programming 101, I put the image below on screen, and asked students to think about why I had divided the commands into two groups. There were some good guesses, and some students claimed to know but not be able to explain (fair enough, it is tricky ; ). One student observed that the commands linked horizontally, which was very astute. When the image was unpacked, with a role play example based on turn vs point in direction, students seemed to have a much clearer understanding.