Hola:
Enhorabuena por el tutorial. Veo que tienes mucho entusiasmo y me alegra.
Sobre getElementsByTagName, ya lo he usado en alguna ocasión, y puedo decir que devuelve la colección (array) de etiquetas del nombre (no confundir con el atributo name) que se pasa como parámetro. Como muchos de estos métodos, puede colgar de cualquier nodo del documento consiguiendo reducir el número de elementos implicados... Bueno, como esto puede parecer chino, trataré de explicarlo con un ejemplo.
Con html se pueden poner muchas capas (div) y la colección completa se conseguiría mediante: document.getElementsByTagName("div"), pero si queremos las capas que cuelguen de una etiqueta con id="x" lo logramos con: document.getElementById("x").getElementsByTagName( "div")
Saludos