Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The best thing about Game Jams is hanging out in IRC and seeing other people's games evolve into something great (most of the time).
Before you start programming, you should probably have at least a rough plan or idea of what you want the game to be. Just programming without guidance is like doodling... Also be sure to leave some time at the end for testing, packaging and uploading.
For Ludum Dare 9, "Build the level you play", I had my honeymoon scheduled to start on the 2nd day of the competition. So, I only had 24 hours to make my game. I ended up making a somewhat complete game (it was lacking in the gameplay department, but at least it was functional). I worked on it right up until I had to leave my apartment to go catch the plane.