Si il motivo è quello che hai accennato tu, è un progetto da sviluppare per l'università e il professore richiede che non venga usato innerHTML (non so per quale motivo sinceramente). Sarei molto interessato alla soluzione con createElement() e appendChild(), vabene anche document.write(), che ho usato abbondantemente . Sicuramente ho le idee un po confuse, essendo il primo progetto non ho diciamo tutta questa manualità