NSF Awards: 1759254
In our project, we explore the role that free-play versus explained, goal-direction play has on students' commenting and debugging of programming code after playing a tangible programming game for the Ipad. We also investigate how these practices relate to mathematics.
Laura Bofferding
Associate Professor
Thank you for taking the time to watch our video! Our video focuses on some initial analyses from the first year of our exploratory ITEST project. We are interested in your general feedback as well as your thoughts to the following questions:
Robin Jones
As someone who didn't do any programming until college (in the late 80s), I'm a huge fan of kids learning that things don't always have to work out well the first time. I gave up programming because I saw bugs as failure. So kudos to you for making it a focus. I also love the idea of comparing the free-play group with the goal-oriented group. In the video, it looked like you talked a lot about the goal-oriented group. Did you notice anything about the other group? How did their work differ? And were the goals for the goal-oriented group set by the researchers or by the children themselves?
Jessica Hunt
Ana-Maria Haiduc
Mahtob Aqazade
Sezai Kocabas
Laura Bofferding
Associate Professor
Thanks for the questions! Actually, the free-play group in general completed more levels of the game. We also have some initial evidence that the free-play students progressed more in debugging, which isn't what we were expecting! We are still doing more detailed analysis around the differences between the groups. The goals the goal-oriented group set were chosen by the students and often involved "getting to the next strawberry" because the character collects them.
Jessica Hunt
Ana-Maria Haiduc
Robin Jones
Mahtob Aqazade
Sezai Kocabas
Hi Robin! Thanks for your valuable feedback.
We had six game sessions and students switched their play groups after the third session. Based on analysis of our data so far, there are some indications that students who played the game without explaining (freely-play group) in first three sessions performed better on debugging than students who were forced to explain while playing (goal-based, explained play group). Further, students who played the game without explaining completed more levels.
For goal-based explain group, students set their own goals after we asked them "Where would you like to go?". Once pairs created code, we encouraged students to explain how their program helps them for reaching the goal.
Hope this helps.
Ana-Maria Haiduc
Robin Jones
Mahtob Aqazade
Robin Jones
That's really interesting. I wonder about the best use of student explanations in all math classes. You said there was some evidence that the free play group did better on debugging. That's definitely not to say explanations weren't valuable, but I wonder if explanations need to be timed so that they don't interfere with the flow of problem solving.
Jessica Hunt
Ana-Maria Haiduc
Mahtob Aqazade
Laura Bofferding
Associate Professor
That's a really good point. It was often hard to get groups to stop and tell us what they were planning to do; whereas, when the game wouldn't let them progress until they used certain programming pieces, they had to slow down and often communicated more. We'll be playing around with having students do some explaining before playing this year. We also thinking about ways to continue supporting their talking to each other without interfering with their problem solving (but supporting their problem solving).
Ana-Maria Haiduc
Robin Jones
Mahtob Aqazade
Denise Schultz
Instructional Math Coach
Hi! That was so much fun to watch! Students in the video were learning from their mistakes and making adjustments as they go. So awesome to watch. I am left wondering if their approach to all learning might be impacted by this project. Wouldn’t it be great if students approached learning as a process of trial and error without getting upset or feeling as if they failed because they didn’t get it right the first time?
Ana-Maria Haiduc
Sezai Kocabas
Mahtob Aqazade
Laura Bofferding
Associate Professor
Yes! It would be great for students to be able to learn without feeling like everything is high-stakes and to take a game-like approach to other areas of learning. At the same time, we want them to learn from their trial and error so that they don't continue to make the same mistakes over and over. We'd love suggestions on other tasks we could give to look at whether they use similar trial and error practices in mathematics. We used a tangram task (where students use different shapes to fill in a puzzle in the shape of a fox), and many used a trial and error approach, but we did not follow up with another puzzle to see if they got any better.
Ana-Maria Haiduc
Mahtob Aqazade
Kenia Wiedemann
Aha! Hey, that's a great way of pushing good coding habits into student's lives! :)
From what you've been observing, do students always feel challenged and excited when they find a 'bug' in the program, that is, wanting to make it work? Do you have an optimal point in a game where you'd include some "proposital bug?" I mean... like after they get so engaged in the game that they feel compelled to fix the bug so they can finish the game? :)
Ana-Maria Haiduc
Mahtob Aqazade
Laura Bofferding
Associate Professor
There are actually a few places in the game where students are forced to use the pieces the program tells them. We originally were going to ask the company to provide us with a version where that functionality was turned off, but we ended up finding it interesting to see how students dealt with it. Students often ignore it the first time it appears and wonder why the program won't run at all (it will only run if you have the code it show, although you can add extra code to it). Many went through several iterations before realizing they were supposed to copy the code and these forced hints often led to changes in their approaches to coding. So yes, I do think having places where they are forced to fix their code (not just follow the hint) would be nice (or where their program won't run if running it means the character would bump into a tree or fall in the water).
Ana-Maria Haiduc
Mahtob Aqazade
Susan Jo Russell
Principal scientist
It was so interesting reading these comments after watching the video. I somehow got the impression from the video that the more "goal-oriented" group did better, but I now see that's not the case. When you list the three conditions under which students made verbal comments (code won't work, explain how code works, describe what just happened), was that in both conditions? Also, are you looking at all at how teacher strategies can support students' interactions and explanations? Thanks!
Ana-Maria Haiduc
Mahtob Aqazade
Sezai Kocabas
Sezai Kocabas
We cannot argue that only one group of students (either freely-play or goal-based explain play) commented in a certain condition (when code won't work, explaining how code works, describing what just happened). Both groups of students were more likely to comment in all these conditions. The main point is that all students in goal-based explain play group commented to explain code how it works because we forced them to explain. However, we cannot say all students in freely-play group commented code to explain how it works because some of them explained code when interacting each other although we did not forced them to explain.
We are exploring what influenced students' interactions and explanations. Once finalized our analysis, we will have some factors that influenced students' interactions and explanations. Then, we would have stronger suggestions about teacher strategies to support students. Further, next year, we can evaluate whether our suggestions would be helpful for students' interactions and explanations.
Thanks for your comments and questions.
Ana-Maria Haiduc
Mahtob Aqazade
Laura Bofferding
Associate Professor
One thing we'd love to hear about more from everyone is what situations do you encounter in everyday experiences that require “debugging”?
Ana-Maria Haiduc
Mahtob Aqazade
Robin Jones
I get lost all the time - sometimes intentionally. But I find it more fun to 'debug' my route by moving forward instead of backtracking. I learn a lot about a neighborhood that way, and am less likely to get lost there again.
Then there are times I 'debug' recipes in the kitchen. Hopefully successfully. Hopefully not requiring a complete trashing and restart (though that is an interesting question: how many of your students felt like 'debugging' required them to throw out everything and start again? How many could backtrack partway? How many could debug by just adding to the existing code?)
Then there is personal relationship debugging: where a comment falls differently than I expected and I have to figure out what went wrong and try to fix it.
Ana-Maria Haiduc
Mahtob Aqazade
Laura Bofferding
Associate Professor
Fun examples! The recipe one is interesting...sometimes you can fix a recipe by adding more of every ingredient (if you accidentally added a little too much of something) but there are some cases where it's not salvageable. There were times students did get rid of all of their code and start again. My intuition is that this happened more after they tried to tweak things a few times but still had bugs, but we'll have to see after more detailed analysis.
Ana-Maria Haiduc
Robin Jones
Mahtob Aqazade
Beth Sappe
Director - STEM Mathematics
Thanks for developing such an interesting video. It is always great to see students using academic discourse to explain their reasoning and thinking. I am wondering if the students were given other opportunities to code, and if so are you finding that their interactions and explanations are more details than the students that did not have prior experience? Also, are there specific teacher strategies that were put into place prior or during the study for both both groups of students?
This type of thinking can align directly to the work students are doing in math class around inputs and outputs. It is great practice to have students thinking about the "why" and "how" while coding and how that relates to how students are expected to reason in mathematics.
Ana-Maria Haiduc
Mahtob Aqazade
Lizhen Chen
Hi, Beth,
Just chime in after Laura. We also thought about the transfer to mathematical reasoning. On the pretest and posttest, we asked students some counting and debugging problems in math. After students played the programming game for six sessions, we expected them to get a sense of debugging and practice enough the reasoning for “why” and “how.” We found that students’ gestures revealed they could understand where went wrong. They just didn’t say the reasoning out loud.
Ana-Maria Haiduc
Mahtob Aqazade
Beth Sappe
Director - STEM Mathematics
Thanks for explaining.
Laura Bofferding
Associate Professor
Thanks for your comments and questions. Only a few students indicated to us that they had done any programming before (or had seen the game before), so we didn't notice any big differences other than they were more likely to know that the loop piece was like a repeat. We were mostly hands-off while students played this year. The most we did was encourage students to make sure they tried all of the pieces and to play together (especially if one person in the pair was dominating) and encouraging the goal-group to tell us their goal and explain how their pieces helped meet the goal.
We'll be thinking about teaching strategies more as we approach the next year of the study and would love any ideas people have!
Ana-Maria Haiduc
Mahtob Aqazade
Michelle Quirke
Excellent video capturing students working together and learning environment. Can you share your future direction for the research? Did you notice a difference in problem solving, leading decision making pairing between genders?
Ana-Maria Haiduc
Mahtob Aqazade
Laura Bofferding
Associate Professor
We had a range of interactions in the different gender pairs. Some female groups were very silly and tried "crazy" programs that were hard to debug and some male pairs who were the same. Regardless of gender we had some groups where one group member took the lead and the partner was a helper. We had some groups where the partners traded off being in control. It will be interesting to look at the progress of these different types of groups.
Ana-Maria Haiduc
Mahtob Aqazade
Lizhen Chen
Michelle,
Thanks for your questions!
Your study is about URM students including female students. I’m curious about what you think of some strategies in encouraging girls to participate in math-related activities.
Mahtob Aqazade
Michelle Quirke
I was thrilled to see how this video set the stage for equality. I believe math and science are not gender based but have become stereotyped by society. By setting the task early for both male and female students and pairing them as equal with no gender colors/bias then students gravitate towards their interest and their skills develop naturally. The game was also challenging and provided enough positive feedback students felt free to explore. Which is critical for young minds and I believe will help offset previous society views of where women should and can work.
Ana-Maria Haiduc
Mahtob Aqazade
Mahtob Aqazade
Thank you, Michelle, for your comments. One of our goals was to help students understand the role of programming in STEM professions and explore their attitudes change after the intervention.
Ana-Maria Haiduc
Mahtob Aqazade
Ana-Maria Haiduc
Thank you, Michelle! You are perfectly right! The woman brain is not less functional than man brain so it can do programming, can do science, can do the math. The women are as good thinkers as man and the stigma of that stereotype hopefully in the near future will be forgotten.
Mahtob Aqazade
Amy Hackenberg
Thanks for the video Laura and all! It was very interesting, and the discussion threads are as well. I like the idea that sometimes students bugged on purpose to get a result they wanted ;-).
Jessica Hunt
Ana-Maria Haiduc
Mahtob Aqazade
Laura Bofferding
Associate Professor
Thanks, Amy! Yeah, we thought that was interesting, as originally we were hoping students would get better at avoiding bugs. Yet, it seems like purposefully exploiting a known bug could be helpful sometimes as this student discovered. I think this gets at the complexity of programming and dealing with "real world" situations.
Ana-Maria Haiduc
Mahtob Aqazade
Leslie Bondaryk
It's amazing to watch kids doing exactly what professional programmers do when they pair program. I might not have expected novice programmers and learners to gain the same benefit as two seasoned professionals but the interaction pattern looks identical to me.
Ana-Maria Haiduc
Lizhen Chen
Hi, Leslie,
Exactly. The kids in pairs put coding pieces together, warned partners of potential malfunctioning codes, commented on and discussed how to make programs. We also find that some kids always took the lead while the other kids were always (passively) cooperating unless we told them to work together. This is not how two professional programmers work together. Professionals explicitly know what roles and responsibilities they take. So we’re thinking that next year we may assign kids different roles.
Ana-Maria Haiduc
Leslie Bondaryk
Ha... yeah, I've been running professional software development groups for 10 years and I can guarantee you that professionals do NOT always know what responsibilities to take, nor do they always play either the lead or the passive role. It's very fluid, and pair programming comes easier to some than to others. I would say, in fact, that having more training programs for the pros showing them how to effectively work with a partner would be an enormous boon and every bit as enlightening as trying to do it for children. Neither do all programmers, even those who are very skilled at writing code, know the best way to create comments or refactor code for easy debugging and reuse. There is more here that could be reused in the professional training world than you realize I think.
Lizhen Chen
Ana-Maria Haiduc
Lizhen Chen
That’s a really really good piece of sharing. Laura will likely have some things to add, but I’ll respond to what you said above.
Some friends of mine work in analytics companies and do cool coding stuff. Sometimes they told me they finished a small block of programming and then passed it on to next one and another one would collect all small blocks and put them together to make a huge workable program. What I said in the previous post might cause some confusion. I totally resonate with you that pair programming is fluid and flexible in terms of the roles and responsibilities. In our study, a student might start with a piece of code and the other helped finish the program; or a student might put all pieces together and the other debugged the program through comments.
I’m excited about the idea of having more training programs. Last year in the Goal group, we asked students to set a goal and explain their programs; in the coming fall, we might try out using worked examples as a form of training. So you as a software designer, science researcher, and engineering educator, must have rich experience in teaching programming. We’d like to hear your thoughts about the training of elementary students’ programming when the training does not interfere too much students’ own development of thinking.
Ana-Maria Haiduc
Laura Bofferding
Associate Professor
Leslie, it's been really interesting for us to dig into the different interaction patterns among the students. I was just watching one of the videos where student A had a better handle on how to code but was letting student B take the lead. Student A kept telling Student B it wouldn't work but would let him run it a few times and then would take over. Sometimes Student A would put up some code but Student B would sneak a change in right before he ran it, so it wouldn't work. They never seemed to come up with a perfect system, but they also never got too fed up with each other. We are playing around with some possible ideas for next year where one student has to explain what code to use and alternate taking turns with the pieces. Another idea is for one partner to write some code and the other partner has to describe what they think will happen. We'd love others' thoughts on ways to encourage productive pair interactions.
Ana-Maria Haiduc
Tom Yeh
Like some of the other commenters, I too am very impressed by the way you engaged young children in pair programming. I hope your work can inspire others to do the same thing. I wonder at which age group the CSTA standards currently recommend introducing the practice of pair programming. I agree with your team's approach that pairs children up as early as possible, so that they immediately see a need to communicate about how and why they are doing this.
I do have a small technical question. Where are children saving their programs? Is there an online open repository to view examples of programs produced by your students?
Lizhen Chen
Laura Bofferding
Associate Professor
Thanks for the question, Tom. They recommend having roles for pairs in programming in grades 3-5. We definitely think this could start earlier and appreciate that you think it's a good idea too! Because the programming happens in a game environment, they don't actually save their programs. We can see what they did in our videos, so we are hoping one day to make this data available.
Lizhen Chen
Lizhen Chen
Hi, Tom, thanks for the questions. Laura has answered your questions. I have something else to add on after watching your video and your research website.
When explaining how their programs worked, the first and third graders frequently used such generic language as “over there” and “here” instead of “up,” “down,” “left,” and “right.” Their intended meanings of direction were more embedded in the pointing gestures. Admittedly, the ability of expressing directions in accurate language is limited especially for first graders. There must be some approaches that will be beneficial for students’ directional language use. To achieve one goal of our project, i.e., promoting students’ commenting on programming, we will try out story telling in which we encourage students to create a story for their programs so that their absent partners can implement the programs. I’m very curious about your research on interactive stories. You said the kids (Mia & Khoi) automatically used props (e.g., abacus) to assist their story telling. I’m intrigued by the situations where verbal or concrete props help students become accurate in their explanations of their programs.
Further posting is closed as the showcase has ended.