What can be the causes of the difference in student performance? The box-plot represents the number of programming tasks performed correctly in 30 minutes.These tasks are designed to learn basic CS concepts: sequences, loops, conditional ...
Each box represents an age group:


p1 = 6 - 7 years old
p2 = 7 - 8 years old
...
p6 = 11 - 12 years old
...
s1 = 12 - 13 years old
s2 = 13 - 14 years old
...
b1 = 16 - 17 years old
b2 = 17 - 18 years old


When I see the results, I am surprised by the difference between p4, p5 and p6. The set of tasks was almost identical by age. The only difference is that by increasing the age they have some less start tasks. I think it may be due to the ability of reading comprehension and motor development ... Can be? Are there more factors that can influence?
There is a point, somewhere around where puberty starts but I don't think identical, in which the brain changes its structure. It is much more capable of abstraction after that point than before. Young kids don't do a lot of generalization, for example, adults do. So, perhaps the study just captures part of that. 

I don't have it available, but I think there is a lot of brain science around that structural change. A simple search may turn up some of it. We aren't born fully formed either in mind or body. 

An implication of that is that how and what you teach toddlers and youngsters isn't the same as what and how you can teach teenagers. Also, every person hits that change at a slightly different age and it isn't instantaneous any more than any other brain change is. For the youngest, make it visual and tactile, even aural.