Because Snap! doesn't present the definition of a custom block unless the user manually opens it, educators can teach how to use individual custom blocks - especially control structures and functional techniques like map and reduce - in a gradual way. First let users get experienced with the block as though it were any primitive, then view the block's definition and discuss how it works; this can prompt new ideas of how to use the block, as well as ideas of totally new custom blocks a user might like to create.
OK, I'm not a Snap! educator, so I may be utterly wrong in what I'm talkin' about here, but it's something that comes to mind when I'm thinking about teaching with Snap! :)
Because Snap! doesn't present the definition of a custom block unless the user manually opens it, educators can teach how to use individual custom blocks - especially control structures and functional techniques like map and reduce - in a gradual way. First let users get experienced with the block as though it were any primitive, then view the block's definition and discuss how it works; this can prompt new ideas of how to use the block, as well as ideas of totally new custom blocks a user might like to create.
OK, I'm not a Snap! educator, so I may be utterly wrong in what I'm talkin' about here, but it's something that comes to mind when I'm thinking about teaching with Snap! :)