RepeatDistributesDRAFT
Each block in a loop is repeated individually
The whole sequence of blocks in a loop is repeated
CorrectionHere is what's right.
The body of a loop (the blocks inside a repetition block) is executed zero or more times, and each time the entire body is executed.
Simple Example
With the following script, the sprite moves 10 steps, then turns 15 degrees, then moves 10 steps, then moves 15 degrees, then moves 10 steps, and finally moves 15 degrees.
The above script is equivalent to the following one, which “unrolls” the loop:
SymptomsHow do you know your students might have this misconception?
Empirical Evidence
This misconception appears in Item P8 in the Scratch ProMAT assessment:
Question
What happens here when we click the green flag?
Answers
- The cat first takes 10 steps 3 times, then turns 90 degrees 3 times, and then says “Hello!”
- The cat first takes 10 steps and then turns 90 degrees. It does this a total of 3 times and then says “Hello!”
- The cat says “Hello!”
- The cat first takes 10 steps, then turns 90 degrees, and then says “Hello!” It does this a total of 3 times.
The first answer could indicate the presence of this misconception.
ValueHow can you build on this misconception?
Students with this misconception may think of distributing an operation in algebra:
n * (1 + 2 + 3) = n * 1 + n * 2 + n * 3
They are not too far away from the idea of mapping a function over a list:
map(repeat, [a, b, c]) = [repeat(a), repeat(b), repeat(c)]
Language
Concepts
Expressible In
Literature References
The following papers directly or indirectly provide qualitative or quantitative evidence related to this misconception.
Quantitative systematic research
100 grade 6, 7, and 8 students
Items studied:
Quantitative systematic research
57 grade 5 or 6 students
Programming Misconceptions studied: