Flash in computer science instruction starts with robots. You see schools purchasing loads of them at a breakneck pace. There are some that are good, but there are also some that will lose their substance after just a few uses because they really only do one thing well. If you know me well, I have one in particular that I will rail against all day, but this is not the place for that.
No matter what the tool is, the question should always be, "What can you create with it or for it?" If you start with a robot, that usually lies in the shape. Can you create stuff for it to interact with it? Can you design things to put on it where it still has functions? Those are all questions you should ask from the start.
They are also a significant reason why you should consider software first. In the end, robots all have limitations. They are great for hands-on hardware experience, and I am not saying don't buy them. What I am saying is have them supplement the software experience because in the end coding is software based.
It's one of the main reasons I joined the team at Tynker. The ceiling is just so high. Our founder likes to say it's "soup to nuts," and what he means by that is you can cover almost anything you want to do in one platform. You can have students create animations, presentations, book reports, games, apps, and a whole lot more to show what they know, and yes that does mean in a CORE class. You can have them use Block, Java, Python, and Swift to get there, and this is all while making it super easy on the teacher.
There is also hardware support. You can have students stay in the same platform to both fly drones and work with Lego WeDo. They can get that total coding experience without having to learn a new user interface, and in the end that saves time in instruction.
The ceiling matters, so always ask that question. Don't get thrown by the flash. If you want to learn more about Tynker just email me at firstname.lastname@example.org