FWIW I tend to agree with Richard Stallman on this one point: the best way to learn programming is by making small changes to large programs. This is how I learned C; I just made small changes to The Ur-Quan Masters, Naev, and Project: Starfighter, then bigger and bigger changes, until eventually I became a regular contributor to Naev and the active maintainer of Project: Starfighter.
So from that perspective, I actually tend to think making a new board game is a poor choice for learning. Much better would be to modify an existing open source game that he likes.
But ultimately, not everyone develops a passion for programming, and that's okay. So if a kid just wants to make some board games, I tend to think it's best to give them an open source board game engine like VASSEL; if it works, it works, and if it doesn't, they can open up the source code and tinker with it while learning stuff along the way.
Or, the route of making physical board games is possible too. I went that route recently with a card game I designed. Not everything has to be on a computer.