How Students 'Rubber Duck Debug' with Screencastify
James Francis | December 11, 2017
This is a guest post by Sam Hankin, a computer science teacher at The Priory School, a secondary school in the UK.
As a Computer Science teacher, I used to struggle to evaluate student pieces of code in an effective and efficient way. Sometimes, I had no idea whether the student had just typed code into the computer because they were told to or whether they actually understood what they were creating.
To give appropriate feedback and help improve student coding skills, I needed to find a way for my students to show me what they’d created and explain how they went about doing it.
After some online research, I came across Screencastify, which allowed students to easily present evidence of their coding work via a screen capture video, and then submit it directly to me via Google Classroom.
Along with the video of the code, students also have the opportunity to talk through what they’ve done, or do some ‘Rubber Duck Debugging’.
If you’ve never heard of the term ‘Rubber Duck Debugging’, it’s essentially the idea of explaining your code line-by-line as you would to a rubber duck.
Why does Rubber Duck Debugging work?
When you explain something out loud, you’re likely to go over it more slowly. As a result, you’ll be able to spot more mistakes, allowing you to fix the ‘bugs’ as you go.
Not every program has bugs, but simply explaining how your code functions out loud (to your imaginary rubber duck) will help with memory retention of the coding skills you’ve developed. If you’re required to fully explain your code out loud, you need to have a deep understanding of what it does. And you can’t just copy and paste a code solution from Stack Overflow!
Where does Screencastify come in?
When starting out as a Computer Science teacher, I found there were two common ways to gather evidence of coding projects students produced in lessons and for homework:
- Copying and pasting the code into a word-processing document and then printing it out. But there was no way I could know whether the code worked correctly or not, especially when a student writes over 200 lines!
- Uploading the code into a shared folder. This required me to load each file and run my own tests on my own machine, which was quite time consuming.
So how could I gather evidence of coding projects, making it as useful as possible for the student, but as easy as possible for me?
Screencastify had the answer
Here's how I’ve been using Screencastify (or actually how my students have been using it):
- Send students a coding project on Google Classroom by creating a blank assignment.
- Students write the code in a language of their choice.
- When the student has completed the code (or spent the allocated time on the project) they then record a Screencastify video.
- In the video, the student must show their code and explain what the different chunks do (as if they’re talking to a rubber duck). Purchase of real rubber ducks not compulsory, but good fun – just remember to remove the squeakers!
- In the video they must show at least 3 different tests to show the code working (or not working).
- Once they finish filming, this video is automatically saved in their Google Drive.
- They then open their Google Classroom assignment and attach the video from their Drive.
- I can see all the videos in Google Classroom and they’re also saved into my Classroom folder in my Drive (automatically as part of the Google Classroom assignment upload process).
- When I watch the videos, I get an explanation from the student as to how they solved the problem. And at the end of the video, the student shows me whether the code actually works or not.
- I can then see whether students have successfully completed the task, or whether I need to focus on a particular area again in the next lesson.
In this video, one of Sam's students uses Screencastify for 'Rubber Duck Debugging'.
So does it actually work?
Well so far, yes! I’ve only been using Screencastify for less than a year but…
- Students really like recording what they’ve done (instead of typing it up in another document). Some don’t like speaking – but I’ve said they can add comments to their code for now and still show off their code using a screen recording video.
- It’s quick & easy – just install the Chrome Extension once – it then works with no other software required. The school’s IT department likes it too, as it’s easy to deploy through Chrome.
- It integrates directly with Google Drive, meaning no need for uploading and downloading manually – and with Google for Education, we have unlimited cloud storage.
- Students can attach the video file to a Google Classroom assignment without converting, copying, or moving the screen capture files.
- Students can even embed the videos into a Google Site (my students put together a portfolio of their coding work and embed the videos straight into their site)
Going beyond Computer Science
This technique is not just limited to Computer Science. Using Screencastify to allow students to record their own work is endless – CAD design work in Technology, building a score in Music, exploring places using Google Maps in Geography, improving internet research skills in History, or story structuring in English.
Students can do their work normally on the computer, then record a screen capture video explaining what they’ve done to their teacher. The student has a deeper understanding, and the teacher can review their work & feedback in a fraction of the time – it’s a win for everyone!