Back in 2013, I was hearing a lot of buzz about a board game called "Robot Turtles", which was billed as a game for "little programmers", ages 3-8. Given that I've got a 2-year-old and a 6-year-old, it seemed an ideal purchase. So I funded the kickstarter, and Lia got the game for Christmas.
She has played and enjoyed the game, although since the game requires 1-4 kids and 1 adult, she's never played multiplayer. She's unlocked lasers, ice towers, stone towers, and crates, and she crushes the (relatively difficult) levels I put together for her, but we haven't yet started using functions.
If you're entirely unfamiliar with Robot Turtles, it's a game in which the kid or kids lay down instruction cards. The cards give turtles instructions such as "move forward", "turn left", or "fire laser". Using these cards, the kids have the turtles navigate obstacles, melt ice towers, push boxes, and reach the gem at the end of the maze. The kids lay the instructions, and the adult carries them out by physically moving the turtles. This eliminates any misunderstanding on the kids' parts, as they can immediately see and correct any mistakes they make. It's a bit like another of my favorite board games, Robo Rally, only in Robot Turtles you can't die, there's no time pressure, and there's no competitiveness.
Functions are an advanced concept in the game that allow you to repeat a specific series of actions. For instance, if there are a lot of long straightaways, you can make a function that plays the "move forward" card multiple times.
I recently put together a couple of levels that I'll treat as her introduction to functions. First, a maze with a number of long aisles that's conducive to a function that uses "move forward" five times. (link to level map) Secondly, this level, which has a few occurrences of triple ice towers. It will save a heck of a lot of effort to repeat the "shoot laser, move forward, shoot laser, move forward, shoot laser, move forward" series of actions in a function. Once she's got the hang of these, I'll look at throwing together a map with multiple functions or perhaps a map with multiple, complex, and more difficult to see function combinations.
The last thing I put together is this map, which I'm not sure I'll ever get around to using. It's a two-player map in which neither player can complete the level without both players helping each other. Since I'd never seen that idea mentioned, I'm happy at having come up with it. It's all the local co-op gaming I've done, I suppose.