Since I started using MIT’s App Inventor with classes, I’ve noticed that the pupils “get” the use of procedures in a way that I haven’t seen before. I see them instinctively coding separate functions as procedures and then collapsing the block (easier in App Inventor 1 with its “collapse triangle”) in a “That’s that job taken care of” sort of way i.e. functionally abstracting exactly as we want them to and treating it as a new command they’ve built. Anecdotally, they also seem to understand that it doesn’t just bring a “Divide & Conquer” approach to programming, but also makes the location of errors easier.
I’ve taken a couple of cohorts through my App Inventor course now and it was the same each time. In each case, they had prior experience of Scratch 1.4 and had used the broadcast command, but didn’t seem to latch on to it in the same way as the “wraparound” procedure block in App Inventor.
In the past, the use of procedures/subroutines – especially in a text-based language – *could* be a hard sell to some pupils who saw it as an extra layer of complication, instead of the simplification it’s meant to bring. It was one of those stumbling blocks like variables can be. Now, they seem to get the point almost straight away. I’ve also seen a payoff with the same cohort later down the line when they did Visual Basic i.e. they were happier about using procedures than their predecessors who hadn’t used App Inventor.
I wondered if anyone else had observed this behaviour or had other thoughts on it.
Comments appreciated!
Regards,
Jeremy