Here's my take on it after a couple of failed and a couple pretty good attempts:
Programming is problem solving.
Start off with concrete things that are programmed that they use every day - internet browser (facebook), cell phone, cash register, etc. Get them to give you lots of examples. Establish that all of these things have a kind of computer in them. The heart of a computer is the processor.
The processor is like a very fast, but very dumb worker. If you give it some instructions, it will do them exactly as you say. It won't do anything extra and it won't tell you if something you told it to do was wrong. This processor does everything, though - if you tell it exactly how to do it, it can make a phone call or put a picture in an e-mail.
Ask her how she would tell a very fast but very dumb worker to buy a can of soda from a soda machine. As she starts describing the steps ("Put money in the machine and press the button.") start dissecting it like a program ("What is money? How do I put it in the machine? When I put money in the machine and press the button at the same time, nothing happens."). If you have a whiteboard, start on the left with her first set of instructions. As she revises them, place the new bigger list on the right side. When you have a good set of instructions, start generalizing the pieces ("Remove the money from your pocket and remove the soda from the tray sound similar - what parts are the same/different?") Take the generalizations and put them in the middle and cross off the pieces they now encompass. Try to eventually tie up the pieces to match with her original instructions, kind of like function calls. Other good exercises: mail a letter, go through a door, draw a circle/square/triangle.
So Programming is problem solving: breaking problems up into parts, identifying parts that are common, and grouping those parts back to solve problems. Soon, you find out that some parts are common across many problems, and then you start putting parts together to solve problems you didn't even know you had.
Okay, by this point she may understand but she's probably bored. Follow it up with a set of cool programming examples. Shaders and related visual code is easy to demo - you can put up a picture and start making changes to it with very small code changes. If she expressed interest in Facebook, show off talking to Facebook through REST to see friends of friends (6-degrees of her) data. If she likes video games, show off a couple open source game demos along with a few snippets of their code and how they help the game work. Finish it off by showing a couple of free tools and resources she could investigate at home. (Python, C#, etc.)
My failed attempts: trying to explain pi calculation (they were asking), the C-Jump board game http://c-jump.com/ (they didn't get it and the instructions were buggy), and live coding a 2d game (just couldn't hold interest, no matter how small of steps I was taking between demos).