The learning difficulty of programming languages can often be tracked down to a single thing, mainly the difficulty of the documentation and help files. Many programming languages require an of-the-scale reading skill of the programmer, and assumes some really heavy background knowledge that few have.
Some languages are only explained, not demonstrated with examples. The explanations demand to much of the programmers reading skill, so many whom would otherwise have become skilled with a given language, will turn to other languages, or stick with the ones that they already know.
The Tutorial to understand the Tutorial
This sounds pretty stupid. Never the less, I've often seen smaller sections in Tutorials on "how to understand" the tutorial.
I remember getting stuck in math class, because the questions where to difficult to understand, even when carefully read multiple times. Keep in mind that these tasks was written to children. Well perhaps they should have tried another author.
Sometimes it would even appear as if, the author had made the questions hard to understand on purpose, either to torment the students, or to appear smart themselves.
Anyway, i do not think you should need a Tutorial to understand the Tutorial!
What should be done
Examples should work out-of-the-box, and if they don't, a decent explanation of how to get them to work should be provided. Explanations can be good, but they will often be even better, when accompanied by working examples.
Teachers should take care to avoid giving the students tasks, that they have no tools to solve. Team tasks are bad if a single member of the team, ends up doing all the work. Tasks must be distributed evenly, and to the extend possible according to skill.