I personally think games with level editors are one of the best introductions to programming.
My first exposure to "programming" when I was in middle school was using the Warcraft 2 level editor, setting up custom triggers and using my imagination to build something I thought would be fun for others to play.