I'm going to approach the answer in a different way to everyone else.
While learning a language straight off the bat is good for most cases, in some it's best to go in at a slightly different angle. Because you want to go into doing a bit of games design with no programming knowledge, it's probably best to learn using an already existing games engine and write scripts for it. Doing it this way will teach you the very basics of programming and give you instant visual results which should give you a taster for learning further programming.
For this reason i would suggest looking into
Unity, it has a free version and gives you an option of what languages to script in (c#/ javascript/ Boo & possibly c++ in the future). There are many tutorials and script references to look though on the website and dotted around the net as well as a very active community which will help you if you get stuck.
Going this direction will allow you to concentrate at getting the basics of coding down without having to worry about how everything fits together, then once you do move onto something like XNA and full c# you will be able to see how things reference back to unity and fit together in what way.
Some people might not like this suggestion, but it will give you a good taster of what to expect in games design with the least amount of effort without having to learn all of the niggly ins and outs of a coding language. But remember, games design isn't a walk in the park, it can be very demanding and you will spend long hours trying to get things 'just right'.