There's very good precedence too with Scratch and it's derivative Android App Inventor (currently App Inventor 2), but it's nice that this is platform independent! (it does miss out on some cool things that are platform dependent, like fiddling with sensors and communication)
GUI-oriented programming has much to offer and I'm excited in developments in this area, not only for kids but as a general enabler of coding without a large learning period.
We used both these in what would be 11th year / Age 16-17 (1º de Bachillerato) in IT class (optional) in my highschool which is located in Spain.
Scratch was quite nice, we used the offline version. Sometimes it would corrupt our files though, ugh.
AppInventor was also quite nice to use except that the internet slowed down quite a bit when 20 people used it at once. It was not quite well-made as Scratch imo.
Generally the people didn't care that much about learning this stuff, few if any got interested in programming through these, sadly.
16-17 is a little too old for Scratch. I've run dozens of Scratch workshops, and they've managed to deeply engage the students, but they work best with kids under 13 or so. Web programming, RPG Maker/Game Maker, Python/Ruby, Processing, and Arduino are some platforms that work better with teenagers.
https://scratch.mit.edu/
http://ai2.appinventor.mit.edu/
GUI-oriented programming has much to offer and I'm excited in developments in this area, not only for kids but as a general enabler of coding without a large learning period.