An Elegant Debugging Solution

I have noticed there is a bit of backlash happening in regards to drag and drop programming around the ed-tech boards!
Some educators seem to be questioning the value of them as a learning tool? They see students throwing visual programming blocks together without much planning or care, often resulting in dubious results...
I get it and from that perspective, it is a fair point, however, it isn't the tool that's the problem, it is the skills the activity is focused on.

If I mention computational thinking at this point, I know you will want to click out (probably groaning) but please don't, hang on just a little bit longer!
Computational thinking is a process, a way of thinking not an end result
  • Identifying the problem
  • Recognizing patterns
  • Designing solutions
  • Breaking the solution into smaller achievable steps 
  • Tweaking (or debugging) to achieve the desired outcome.
This process is like a superpower that kids will use to fuel their discoveries, it is empowering, exciting, and addictive! 

This story will help illustrate what I mean;
I viewed a Scratch Jr tutorial where the instructor demonstrated how to enlarge or decrease the size of a character, prior to programming it, with a single tap on a sizing block.
What a pity, what a missed opportunity...
My Scratch Jr workshop kids weren't shown and guess what happened? They invented away;
  • They programmed the character to be invisible
  • While invisible they programmed it to change its size
  • Then they got another character to send it a message
  • Which triggered it to reappear
A self-directed, complex (yet elegant) solution.
I was very tempted to step in and show them the single tap method but I would have destroyed a landmark learning moment.

When they got it to work (after a lot of arguing, some constructive collaboration, and a lot of passionate opinions) I wish you could have been there and felt the energy in that room! Around me, I saw individuals who were hooked on their own ability to problem-solve.

So once students have a basic understanding of how the drag and drop coding app works, try to launch immediately into problem-solving or debugging challenges because that is where the really good stuff happens.
With programming blocks, there is often more than one way to solve something and that is where the magic lies.