We started this week on debugging projects in Scratch where the students had to 'fix' a program in order for it to work properly. For example, one such project involved making the Scratch cat say meow three times with a speech bubble appearing at the same time rather than the speech bubble and meows being off-synch. Students are now working on creating their own debug-it projects and adding them to our class studio. Lots of valuable collaborative skills at work in this process as well with feedback and suggestions, input and revisions.
Here are some student comments about their debugging experiences:
"Debugging is really fun because you get to try to find out what problems other people had with their programs and to fix it. Finding out the right block to put in and use is challenging because there are a lot of blocks to choose from and you have to choose one of them. Some are easier than others. Some you just have to remove or put in one or two blocks, others you have to redo the entire thing."
"Making a debugging project is basically making one with a flaw in it. And if you're solving them, you have to find the bug and fix it, but sometimes it's hard, sometimes it's easy. They're easier when you just have to add a single block. It's challenging when you have to do more than one thing . Like when you have to make a block and remember it and keep track of more than command at once - like to meow with the speech bubble."
"I like debugging because you get to look for problems and when you look for problems, it always challenges you to think "How would I do this?" and seeing what it is missing and finding a block to do what is missing. I also like making debug-its because you get to think of ways to challenge your classmates or other people. With debug-its, you also get to challenge yourself because you have to think of things you haven't done before and things that will challenge others and you have to try to make it hard. You don't even have to be missing a block. You can set to do something other than what it is set to do. You need to be good at computational thinking because you need to think, "If I did this, what will happen.." and you also need to be able to learn from your mistakes because in Scratch, you make a lot of mistakes. You might try something and it works for a few times, but ,then it stops working because there is a certain piece of information that it doesn't have that it needs to work."