Two years ago when my oldest was 8 I began offering to volunteer teaching a programming class at the local public school, a private school and an after school science play space. I focused on teaching game programming, since most kids this age are fascinated by games and that fact could be a great motivator.
Unfortunately, none of the places I spoke with were able to accept my offers which is how we came to start a community-based First LEGO League team two years later. FFL offers kids great insights into real-world STEM practices such as lab work, controlling physical equipment, original research, working in teams, etc. However, game programming has other advantages in areas of motivation/familiarity, accessibility and developing more advanced programming skills. FLL and Game Programming are complimentary in these regards.
Originally, I wanted to teach a SCRATCH game programming class since most of the places I was talking with had computer laboratories and the software was open source. SCRATCH is a visual programming language similar to the LEGO NXT-G/eV3 programming tools, but much more sophisticated. Also, SCRATCH is freely accessible via any modern web browser while cost and accessibility to hardware are the main limitations of FLL.
SCRATCH was created by MIT Media Labs and is a great tool to teach kids basic programming concepts. It very naturally teaches kids how to think in an event-driven, object-orientated way which sounds more difficult than it is. You can create a number of simple 2D games (shooter, maze, etc) as well as presentations, eCards, animations, etc. The language teaches most of the core concepts in nearly every ALGO-based language (C, C++, Perl, Python, Ruby, etc), but it has limited use beyond teaching programming. However, hackers have customized SCRATCH to run LEGO Mindstorms, Arduino and Raspberry Pi systems as well as many others.
For the more advanced there are hard core gaming development environments like UNITY that ease and speed very sophisticated game development by abstracting out a lot of the low level details. Since we’re taking about education this year in FLL and gamification, one particularly apt resource is “Creating E-Learning Games with Unity” by David Horachek.
Finally, if you really want to become a hard core game developer I don’t think there is any substitutes for the insights lower level programming in C/C++ can give you. There are some great resources out to teach yourself this.
On a different note, there are also a lot of ways to become involved with gaming without becoming a hard-core programmer: game designers, artists, actors and many others who would be typically be involved in a Hollywood film production.
As a footnote and to put things in perspective, Robotics is a healthy growing niche and some even talk of a Robot Bubble – there are 420 companies manufacturing robots in China alone. However, the Gaming Industry is absolutely huge and may become the unquestioned dominate form of Entertainment in the next decade (vs Hollywood, TV, etc).