Scratch is frequently used to teach kids, but my (middle-school-aged) students found actual code in Python and JavaScript to be easier. There was a couple hours of frustration around some syntax things (python especially if you can believe it!) but once they had a good mental model they were much much faster with text than with visuals.
Perhaps Scratch is good for the first couple days of learning, but I think the ceiling hits pretty fast especially if the kids are really understanding the principles.
Perhaps Scratch is good for the first couple days of learning, but I think the ceiling hits pretty fast especially if the kids are really understanding the principles.