We report findings across both sessions for all 24 children who participated in this study.
6.1 RQ1: System Understanding
A mixed-ANOVA shows an unsurprising significant effect of system understanding by session. Specifically, we see an increase in system understanding in the second session after children have had an opportunity to familiarize themselves with the app, received instruction, and had a chance to ask questions,
F(1, 22) = 76.63,
p < 0.001 (see Table
1). We do not, however, find a main effect of which app the child used on this system understanding,
F(1, 22) = 0.00,
p < 0.001.
Critically, we do find a significant interaction effect,
F(1, 22) = 11.89,
p < 0.001 (see Figure
7). Children using ScratchJr had a much larger increase in understanding after receiving experimenter instruction in session two, whereas this was not the case with Visual StoryCoder, where the change in system understanding between sessions was much smaller. We interpret this as support for the ability of built-in instruction to teach the child about the system in Visual StoryCoder, whereas ScratchJr really benefits from external educator support.
Qualitatively, during the artifact-based interview at the end of each session participants spoke about how built-in instruction was important to them in figuring out how to use the Visual StoryCoder app. For instance, when asked what they did when they got stuck, P1, an 8-year-old using Visual StoryCoder said:
“[It was important for me to know] to click on the fish when I didn’t know what to do.” –P1
In the app, tapping on the fish would make it repeat its instructions.
On the other hand, children using ScratchJr talked about being confused, clicking about randomly, or ignoring parts they did not understand, also aligning with experimenter observations of their behavior. Another 8-year-old, P12, this time in the ScratchJr condition, said:
“When I was confused with something, I kind of just ignored it and did something different.” –P12
Based on our qualitative data we believe built-in instruction was critical to system understanding in Visual StoryCoder whereas we only see a large score increase on system understanding in ScratchJr after external instruction.
6.2 RQ2: Code Quality
Looking next at code quality across the sessions, we see that average code quality among children using Visual StoryCoder (M = 5.93, SD = 2.55) is higher than among than those using ScratchJr (M = 4.38, SD = 2.43), but not to a statistically significant degree when aggregated across sessions, F(1, 22) = 3.51, p = 0.07. We do not see a significance difference in scores across sessions or an interaction effect between session and app.
Looking at the data more granularly (see Table
2), we see that Visual StoryCoder matches or outscores ScratchJr in all areas except for flow control, for which ScratchJr users need only use the repeat block in one place in their project to get full credit whereas Visual StoryCoder users get full credit by using repeated chapters within their story (i.e., for full-chapter repetition within story playback). On the other hand, Visual StoryCoder scores highest on parallelism and data when compared to ScratchJr, perhaps due to built-in instruction around parallel music loops and changing variables (i.e., data) within the story.
Critically, we see a great deal of variance in code quality scores in session one both quantitatively (VSession1 = 9.09) and qualitatively, as compared to session two (VSession2 = 4.17). In particular, in session one some children using ScratchJr did not touch the code blocks at all or dragged them into their projects without ever running the code. On the other hand, multiple children using Visual StoryCoder spent more than half of their time planning their story before ever reaching the creation pages. Consequently, they ran out of time before getting through the full user flow of the app and did not have an opportunity to engage with loops, events, or variables. In both cases, these behaviors reflect a user still acquainting themself with the system; in the case of ScratchJr children were figuring out the purpose of code blocks and in the case of Visual StoryCoder they budgeted their 30 minutes of time poorly because they did not know what lay ahead.
As a secondary analysis, we look only to session two, where participants have had an opportunity to familiarize themselves with the app and what it can do. Here, the usage of CT in these projects—and by extension the code quality score—is more reflective of children’s CT learning, as it is less impacted by still-developing system understanding. We find that in this second session students using Visual StoryCoder do create statistically higher quality stories, in terms of code quality, than those using ScratchJr,
t(21.98) = 2.71,
p = 0.01 (see Figure
8).
We attribute some of this difference in code quality to Visual StoryCoder’s scaffolding around planning, a key computing practice. Qualitatively, we find that children using Visual StoryCoder talked about how they needed to plan their story in order to tell it.
When asked how they got started making their project, P15, a 6-year-old using Visual StoryCoder said:
“I got started by thinking who was in the book and then...I was, like, thinking what they would do...[It was important for me] to have a plan.” –P15
On the other hand, children using ScratchJr often spoke about making up their story as they went along. For instance, P24, a 7-year-old in this condition said:
“I went to, like, the plus button and I saw the really pretty flower and I wanted it to be part of my story. Then I thought of that. But I technically made it up as I went.” –P24
We view these differences in self-reported planning behavior as further evidence for the way that Visual StoryCoder’s scaffolding directly supports children’s planning processes.
6.3 RQ3: Personally Meaningful Projects
We look to the stories children made and their interview responses to understand how these systems support the creation of personally meaningful projects. In particular, we look at times children created projects about the things they like, the people they know, or issues they care about.
Several children using both apps told stories about their favorite things (Visual StoryCoder: N = 4; ScratchJr: N = 3). This finding includes several Visual StoryCoder users who told stories about their favorite animals (e.g., dragons or dinosaurs) or activities (e.g., basketball). Likewise, in ScratchJr, P7, an 8-year-old, selected a location for her animation based on her favorite season and recolored it according to her favorite colors:
“Well, I do love snow and winter, even though we don’t live where there’s winter, um, and so I thought do that. And I—my favorite colors are pink, purple, um, blue, and green, so I decided to put them on for the trees.” –P7
Similar to telling stories about favorite things, we see children across both apps choosing to tell stories that starred themselves or their family/friends (Visual StoryCoder: N = 3; ScratchJr: N = 3). Often these stories were particularly salient or cherished memories. P1, an 8-year-old using Visual StoryCoder told about how he broke his leg, one of the most notable events in his life:
“It was the story when I broke my leg when I was three. And, um, and I don’t really remember it because I was really little...And that was, um, one of the biggest problems [in my life].” –P1
Along the same lines, a 7-year-old using ScratchJr, P24, recreated a trip to the beach with her dad:
“Well, it was about me and my Daddy going to the beach. And—and, so the first part I was in a room and I couldn’t wait to go to the beach. Then we went on a car to get to the beach. Then we were at the beach and then we were gonna go swimming.” –P24
However, we also see that only children using Visual StoryCoder chose to retell their favorite existing stories or create new stories that include their favorite characters (Visual StoryCoder: N = 4; ScratchJr: N = 0). We believe this behavior results from the open-ended character selection design in Visual StoryCoder. Children using this app can pick any character they would like and then draw that character, whereas those using ScratchJr all stuck to the characters available in the sprite selection palette. One 7-year-old using Visual StoryCoder, P16, describes how he recreated his favorite story:
“I got the idea for the project by thinking of the story called Treasure Island and when I first started thinking of—when I first read the book.” –P16
Finally, participant 8, who used Visual StoryCoder, chose to create a project that brought attention to a societal issue he cared about. This 8-year-old’s story about a lonely tree was meant to inspire people to care more about the environment and the way all living things depend on one another:
“A lot of people, they don’t care about wildlife or nature, like, at all. Like whenever I’m driving to my grandma and grandpa’s house, I have to drive a ways, so I look out the window and I almost always see a ton of trash. And it’s like no one cares about nature. So the story—so it inspired me to make a way that, when no one’s around to protect wildlife it gets sad and plants start to die. But when people are around to protect wildlife, all the plants won’t die.” –P8
We see that both ScratchJr and Visual StoryCoder support the creation of personally meaningful projects. However, the open-ended character/location selection steps during Visual StoryCoder’s planning process and the blank canvas for visual selection (as opposed to image selection from a predetermined list) may have better supported additional types of personally meaningful stories (e.g., new stories about existing favorite characters). More children using Visual StoryCoder did discuss the creation of a personally meaningful story overall (Visual StoryCoder: N = 10; ScratchJr: N = 6).
Finally, looking directly at engagement, which personally meaningful projects are intended to support, we find that both systems land in the mid-to-high engagement range of this engagement scale. There is not a significant difference in system engagement across apps (
F(1, 22) = 2.02,
p = 0.17; Visual StoryCoder:
M = 3.38,
SD = 0.59; ScratchJr:
M = 3.64,
SD = 0.45), or session (
F(1, 22) = 1.03,
p = 0.32; Session 1:
M = 3.45,
SD = 0.57; Session 2:
M = 3.57,
SD = 0.51) within the data we collected. However, it is worth noting that by scoring higher than 3.6, ScratchJr does fall into the high engagement range of the Giggle Gauge metric, whereas Visual StoryCoder is in the mid-engagement range [
15].