I teach a short introductory unit in my course that uses Scratch to get students familiar with programming concepts before introducing the syntax of a text-based programming language. For context, we move from Scratch to C to Python.
My question is this: what can students be taught in Snap!, as another block-based programming environment, that they cannot be taught in Scratch?
I read on their site that it Snap! combines Scratch with Scheme, but as the latter is not a language I've studied, I don't quite see the motivation for this combination.