That wise teacher said, take a graphical interface program and work backwards. Draw some objects on the screen, like filling in a rectangular space with text, or a round object with a graphic, and then look at the code to see how it was generated by the computer. I took it one step further and pretended that each raw rectangle, square or circle were each numbered.
That way if the objects were layered and the #6 object were on top of a #3 object and it had transparent areas to it, parts of the #3 object (graphic) would peek through. However, if you put a #12 object under the #6 object, nothing would happen except traditional layering, because the value of the underlying (graphic) object underneath #6 has to be labeled (tagged) something less than the value of the number 6.