Introduction
Conceptual framework
Teacher learning of programming for computer science for all
Scaffolding
Debugging
Study framework
Research question
Method
Setting and participants
Course section (scaffold) | Team | Pseudonyms (gender) | Age | Race | Recording | Interview | Computer programming knowledge | Prior robot programming experience |
---|---|---|---|---|---|---|---|---|
Section A (presence) | 1 | Gwen (F) | 20 | White | Yes | Yes | None | No |
Cole (M) | 22 | White | Yes | No | Low | No | ||
2 | June (F) | 20 | White | Yes | No | None | No | |
Kiara (F) | 20 | White | Yes | No | None | No | ||
Grace (F) | 20 | Asian | Yes | No | None | No | ||
3 | Diane (F) | 21 | White | Yes | Yes | None | No | |
Sue (F) | 20 | White | Yes | Yes | None | No | ||
Section B (absence) | 4 | Jean (F) | 20 | White | Yes | No | Low to none | Yes |
Meg (F) | 23 | White | Yes | No | Low to intermediate | Yes | ||
5 | Irina (F) | 20 | White | Yes | No | None | No | |
Todd (M) | 20 | White | Yes | No | None | No | ||
6 | Pearl (F) | 19 | White | Yes | Yes | None | No | |
Gail (F) | 21 | White | Yes | Yes | Low | No |
Robot programming unit
Module | Summary of activities |
---|---|
1 | Introduction to STEAM education using robots |
Review of a sample lesson engaging preschoolers in learning shapes through dramatic play with Ozobots | |
Introduction to Ozobot Bit and OzoBlockly level 3 | |
Programming shapes using Ozoblockly level 3 | |
Practice teaching with the sample lesson | |
2 | Lesson implementation reflection |
Programming shapes using Ozoblockly level 4 | |
Debugging tasks (with scaffolds in course section A) | |
Lesson design in teams | |
Practice teaching with the team lesson | |
3 | Lesson implementation reflection |
Debugging tasks (with scaffolds in course section A) |
Debugging tasks | Buggy code | Debugged code example |
---|---|---|
Task 1: The code should make the robot trace the number, 4, but the code is problematic. | ||
Task 2: The code should make the robot trace the shape of a lollipop as the instructor demonstrates, but the code is problematic. | ||
Task 3: Mr. Johnson wants to use robots to teach students about colors and shapes. He draws two lines: a black line with a red end and a black line with a blue end. He wants the robot to follow the line and trace a square if it senses blue or trace two rectangles if it senses red. But the code does not work right. |
Data collection
Data analysis
Sample nodes | Sample excerpts |
---|---|
Rationale for a comment (suggestion, decision), or an action during debugging | “No, look if it's going that way, that means this wheel is faster. So I slow it down and I've been slowing it down and it’s been going the same. I'll slow it down to like 10 and see what happens.” (Pearl & Gale, Class 2 video) |
Successful trial-and-error | “Bam, you're out of control. … Yay, it's working! Like in the world's smallest circle… I mean a square.” (Irina & Meg, Class 2 video) |
Unsuccessful trial-and-error | “Yeah. Mine literally does nothing… No matter whatever. Nothing...” (Diane & Sue, Class 3 video) |
Did better than expected | “Yeah, I definitely think I did better than any would have expected... I wouldn't have expected that I would be able to program something and like identify a problem and fix it type thing.” (Gwen, Interview) |
Findings and discussion
Theme 1. With scaffolds, participants persisted longer with their efforts
Diane: 03:07 So that didn't work. So now what do I do?Sue: 03:10 We're really doing the one today, last time we did how many [tasks] three or two?Diane: 03:45 It's funny. It's not even fricking letting me add this (block) now.Sue:03:49 You can't put it in. You have to do (inaudible) did the equal sign and that's where you put it in.Diane: 04:00 Oh my gosh. Where do I put those?Sue: 04:08 Put them up here and then put those that way and then do another one navigation line and then do get intersection line and color.Diane: 04:46 How did you fix it? Like does anybody have problems with that? Do you have a recommendation? Because it's really bad right now.(…)Diane: 06:31 I think it's blinding.Diane: 06:48 We're just talking just right. Alrighty. Here we go. Okay, great. It's moving in circles here.Diane: 07:08 You’ve got to take it out there. (Diane told Sue to go test her robot on the line the instructor set up for testing)(…)Diane:07:42 Yeah. Mine literally does nothing. So that happened to mine too, I just... No matter whatever.Diane:07:52 Nothing changes for me. Nothing. My bot doesn't work.(…)Instructor: 09:27 (To the whole class) So we've got some people figuring it out.Instructor: 09:32 (To Diane) How's it going? Ok?Diane: 09:38: Good. Everything’sInstructor: 09:39 Good? Everything’s alright? Everything’s great? Alright.Instructor: 09:41 (To Sue) Did we figure it out back there?Sue:09:43 No.Instructor: 09:44 A little bit?Sue: 09:45 It just moves in circles.Instructor: 09:47 You’re getting there.Diane: 09:47 So I did that, but shouldn’t it move in a line when I wrote it? So it started on the line, alright, let me give it one more try (Diane showed persistence).Diane: 11:27 Yeah, that happened.Instructor: 11:35 So right now you guys are just telling it to pick up red, right?Diane: 13:52 What color is the other one?Sue: 14:00 I guess I could just use the graph colors….
Diane:17:34 I liked the hypothesis thing. Like why, what do you think needs to happen and then why did you, why do you think that? And then, what changes you would make? Yeah. Changes made.Diane: 19:33 It kind of, it reminded me of something in science or math, like a guess and check almost like, okay, in science you have to come up with [a] hypothesis and then you have to test your hypothesis and then if it's wrong you gotta come back and redo it. So more so science than math and then math because it's like guessing and checking on this.
Gail: 11:10 I'm getting some colored paper (Left her seat).Pearl: 11:19 How did you do colors?(…)Pearl: 12:08 (In a sarcastic tone) You really thought, you really thought you knew how to do this. That was your fatal flaw right there.Gail: 12:18 I just have no clue! (Singing).Pearl: 12:21 Nope like where is that? How are you doing that?Pearl: 12:36 Where's the if?Gail: 12:37 It’sPearl: 12:38 It's under logic. I think I was just there.Gail: 12:52 I thought I would bring some fun! (She drew with a pink marker on paper rather than debugging).(…)Pearl: 13:07 Hey, I'm just deleting this square thing. This entire thing in the garbage.Gail: 13:14 So how do you still have surface colors?Pearl: 13:17 I just put that one there.Gail: 13:24 (While drawing lines on a piece of paper with red and blue markers) It needs to be red and blue and red and blue. Oh no, I think I just [inaudible] it needs to be blue red, blue red.Pearl:13:44 Why won't this clip into place? (She said this because blocks did not connect)Gail: 13:49 Like we actually know how to do this (Gail giggles and shakes her hands) No, no we don’t.Gail 13:53 Those dots may be a little small (referring to dots in the color maze that the robot was supposed to trace)Pearl: 13:53 Gail is not covering those dots (speaking about Gail’s drawing).Pearl: 13:59 I'm just gonna enjoy myself (avoidance toward debugging).
He [the instructor] was telling us about how this is kind of common with the Ozobots. So he was like there's not too much you can do. You can try to mess with the wheel speed, but they're never going to go like perfectly straight.
Theme 2. Use of scaffolds enabled the instructor to allow struggle during debugging without immediate help
Instructor: 02:47 So you're going through generating hypotheses and then you're gonna return to those hypotheses. See why they work, why they didn’t, and just make some brief notes.Instructor: 03:12 So as you make changes, just write about them, and work through these hypotheses.Kiara: 03:20 It says it is still a 127-degree angle.June: 03:20 I don't know how to do it. Yeah, maybe you do two of them [pause] maybe 290.Kiara: 03:33 Why?June: 03:37 okay so you want to keep it 50.Kiara: 03:41 What do you have to do with the one second?June: 03:43 FifteenKiara: 03:52 Maybe, if you want to be safe just do one second and load it, I think it should be fine now.
Sue: 04:03 How do you decide which colors it is going to see? (She asked the instructor) I don't know how to put these colors in the code.Sue: 04:11 I just don't understand that.Instructor: 04:15 Okay. So first we needed to trace to be able to follow a line, how it follows a line. So if we go to ... (The instructor waited for Sue to explore the block categories on the programming platform) what would tell us to follow a line?Sue: 04:31 Line navigationInstructor: 04:32 Cool. Where would you put … Which one would you choose first?Sue: 04:36 The first one?Instructor: 04:37 Where would we put that?Sue: 04:39 I think you'd put it at the very beginning.Instructor: 04:42 Why?Sue: 04:45 Because it needs to be that first.Instructor: 04:49 Perfect. So that makes sense.
Meg: 11:13 I was trying to, I raised my hand earlier but he [the instructor] didn’t see it.Meg: 11:20 (The instructor came to Meg’s team table) So our question is, we understand how to do it, but these [blocks] won't attach. (Meg asked about intersection color related blocks)Instructor: 11:27 So I think there is a block you can put in there, though, maybe down in logic. Yeah like this one here? Try putting that in there. Okay. And then do. Yeah, put that there and then do it. I think there's a get surface color back up in the (The instructor pointed at the block on the programming platform). So you get surface color. You put that in the first part.Meg: 11:54 Thank you!Instructor: 11:56 Good deal. And you'll use it again.Jean: 11:58 Which one was it again?Meg: 12:00 I’ll show you in one second.Jean: 12:03 Well, everything is messed up, I don’t know how to fix it.
Instructor: 00:07 Okay. It's definitely it's turning. So that's where... Go to the movement. Okay, drag this out here and let's use that. Get rid of the move and put this in. And then after this, put a timing. Bring the seconds down. Instead try setting it for about two seconds or three seconds. Maybe three. Okay. Now here's what's happening. This should go straight. You can adjust it to make it go straight and the distance it goes is determined by this block. The timing block. Makes sense? So if you don't want it to go as far, back it off to 2.5 or 2. If you want to go further, increase it and then play with the rotate and see how that goes. And if you know it's already turning some, you might want to go ahead and say left like 35 or something so that it tries to straighten it.
Interviewer: 08:37 Well, did you review the OzoBlockly code from the top to bottom or from bottom up? Or did you go specifically to the part of the code that you thought it was problematic?Gail: 08:48 With the wheel, I would say we went specifically to the problem. Part of that was because the instructor had told us and we had like, we were working in class, so we saw some other groups messing with it. So we knew like, oh we should mess with the wheel speed.
Theme 3: Without scaffolds, participants often engaged in debugging alone
Meg: 11:59 I’ll show you in one second. (She continued her debugging attempts alone)Jean: 12:03 Well, everything is messed up, I don’t know how to fix it.Meg: 12:03 (Meg did not respond to her partner, Jean, but then heard a nearby group who was frustrated that their code was not working; Meg then spoke to them) So go to logic and the second one down has the equal sign. Put that one with the finding if... I’ll show you. It’s probably going to be easier for me to show you.Meg: 12:30 (Meg showed her computer screen to the student from the neighboring group to whom she was talking and continued the debugging task alone)Meg: 13:17 We could try a variety of different things that the kids just kind of have it more like an exploration. Because we only do this during centers. I feel like it should be more fun than doing a square. (Meg began discussions with Jean about preschool lesson design ideas for their field experience)Jean:13:37 I think that we should pick people that have letters in their names that are easy to write. And then they can do this. Like, we could guide them on how to make letters (Meg showed a surprised yet receptive expression).
Irina: 09:04 I can't tell if it's leaning any way.Irina: 09:10 And I mean, can I draw a line or will it start to follow the line? (Irina talked to a student in a nearby team; Todd was not part of this conversation; he did something on his phone)Irina: 09:16 It's leaning a little bit.Irina: 09:52 Okay. If it's leaning right, that means the right. I think I should speed up the right [wheel]. This is very confusing.Todd:10:08 (Logged into another computer)Irina: 11:33 Okay. If it's, it's leaning, it's going way right. That means I need to make the right [wheel] faster? Oh.
Kiara: 00:51 Wait, wait. What happened?June: 00:54 Does that make it slower?Kiara: 01:00 No, we need to make it faster? And it needs to be like 30.June: 01:09 Why 30?Kiara: 01:09 Because if we make it 30, it will be like one second.Kiara: 01:32 Should we change the angle?June: 01:33 No, I think that'll be enough. It will be the right ratio.
Theme 4. Regardless of scaffolds, all participants engaged in trial and error and used multimodal cues in embodied debugging
Hypothesis 1: Add a loop.Reason for hypothesis 1: It needs two movements.Hypothesis 2: Change the angle to 90°.Reason for hypothesis 2: 73° was not enough.Hypothesis 3: Add a movement (rotate).Reason for hypothesis 3: I need the robot to turn 180° angle. I think adding a loop works perfectly.
Hypothesis 2: Angles need to be changed.Changes made to test hypothesis 2: 73° ---> 90° 127° ---> 90° & 90°Could not be 180°Why did you choose to make these changes specifically: Because our bot was not rotating enough.What happened after these changes are made: Still was not making full turns. Tried different angles until successful (110°) (120° & 100°)
Irina: 08:55 I had tinkered with, I feel like every aspect of it, it's just like not working.Todd: 09:01 Yes.Irina: 09:02 I still cannot get mine to go in a square correctly and I don't know what I'm doing wrong. I'll show you. Watch. Okay, so I moved it down to just 31 and 30. (She now talked to the instructor to get help)
Jean: 05:48 I'm just gonna wing it.Meg: 06:58 Oh, the circle is just setting the wheel speeds differently. Like so do one 30 and one 60.Jean: 07:10 How do you know?Meg: 07:10 Because one will go 60. One's gonna go faster, it's gonna like... (Jean performed hand gestures to show that different wheel speeds made the robot travel in a circle)
June: 07:40 (She watched the robot’s movement with Kiara) It was so close.Kiara: 07:40 Let’s draw it, it is hard to tell why. How about we start it in the same place every time.
Pearl: 02:23 I need to attach a pencil to it so I can see what shape it makes.Gail: 02:26 This is a good idea. We should do that. But then it would affect it.
Irina: 02:22 Now it's, it's so off it is not, it goes from a square to a diamond back to a square. Like I was it doing like, it's like the angles are like 180.Irina: 02:53 Oh okay. Whoa, Whoa, Whoa. That is not a square. I don't even know what that is (laughing).Irina: 03:13 It is way too far. So he's going like wooo... (She used curvy hand gestures to indicate robot movements that were not 90-degree turns).
General discussion
Finding | Possible attribution to scaffolding design decisions |
---|---|
Persistence through debugging using scaffolds (Theme 1) | • Structured and problematized (Reiser, 2004) the debugging process through four-phased debugging activities • Promoted perceived controllability (Kim & Pekrun, 2014; Bandura, 1997; Wigfield & Eccles, 2000) enabled through alternative hypotheses • Justified prompted tasks to promote expectancy for success (Belland et al., 2013) |
Productive struggle facilitated through synergy between scaffolds and the instructor (Theme 2) | Scaffolding offered • Multiple opportunities to search for errors (Kim et al., 2018) • Strategies of reading before writing (Griffin, 2016) • Why and why not questions (Ko & Myers, 2008) |
Collaborative reasoning for debugging (Theme 3) | Scaffolding provided/promoted • Why and why not questions (Ko & Myers, 2008) • Reflective debugging (Kim et al., 2018) |
Trial-and-error and embodied debugging (Theme 4) | Scaffolding provided • No parameter for specificity in hypotheses in scaffolds • No prompts related to hands-on problem-solving with multimodal objects |