The value of alternate solutions
"Congratulations on founding your very own knitting shop. You've got a store all set up with a knitting robot to make scarves, sweaters, socks, and anything else you can think of: you just need to learn to program the robot! We'll start with the basics, and before you know it your knitting shop will be open for business."
I've played my share of coding games in which I learned programming in form of a monkey collecting bananas, or as a warrior fighting demons, collecting gems, or as a bot, navigating a maze on a quest for a lightswitch. Sure, those games are fun to play! But if the purpose of coding is to collect bananas and fight dragons, how is it relevant for my life? Enter CodeStitch. In CodeStitch you program a knitting machine per customer request. While this real-world application may not be your cup of tea, it might help you think of other instances in which coding can be useful...If I can program a knitting machine, maybe I could program a vacuum robot? That's right. But think bigger: A house-building robot? Now you're getting the hang of it: the world's your oyster!
When you've successfully completed a challenge, you don't immediately move on to the next level but are instead presented with an alternative solution, produced by an actual CodeStitch player, next to your own. Compare and contrast solutions to see what the other player did differently - anything surprising? Could you have solved it this way? Why did you choose a different solution method? You can even save solutions and reuse or remix them later in the game.