Alright, so I'm willing to accept that this is a strange position to take...but if I was asked to teach my girlfriend to write code, the first thing I would do would be to try teaching her Powershell. Powershell, for those of you who have never heard of it, is a sweet scripting language introduced by Microsoft in Windows 7 (although it is available for Vista and XP). I've heard it compared to Perl a bit; there's dynamic typing, little scope, and access to the lion's share of the usefulness of the .NET framework. I figure that if I gave her some of the basics (here's how to do some math, here's how to do string operations, here's how to find more information about this stuff) she'd be able to use the built-in help (it can be used as a command line or in an ISE, both installed by default in W7) and my advice to get her started. I just find PS to be incredibly simple to write in- not the command line stuff or their cmdlets so much as the basic math/string/IO crap that I find myself doing most of the time.