Okay, after the short comment, a little bit more description. First of all you most know there is no such thing as simply generic 'game programming', programming a game consists of many different topics. For example, 3D rendering, audio playing, gameplay coding (including AI), possibly network coding, some advanced I/O libraries, ... .
The reason for this is most games have different needs, for example most of the above will be very different for RTS vs FPS games. Even more specific examples, Doom³ had totally different needs than half-life² or far-cry (old examples but it's been a time since I really played games myself :p). The first one needed advanced lighting, shadows, awesome interiors, the latter ones needed impressive outdoor scenarios.
While you may think 'yeah, but these are all great professional games, I'm trying something simple', it is quite essential to understand this even applies on your level. There is no magic tutorial that will learn you how to write FPS games.
As I said in my comment, a good place to get started is Gamedev.net, they really have a huge collection of tutorials, articles and a good support forum. Here you can learn from which components a game is typically build, how you can learn these components (and which you need for the kind of game you want to write), ... .
Good luck and have fun with it, game developing is a really fun thing imho, but it's a long path to master it even a little bit :).