I am an adjunct professor at a technical College in South Carolina. I currently teach courses in .Net programming and Oracle PL/SQL. We’ve noticed an influx of students who want to learn more about computer programming and game development in particular. Their main interest stems from their experiences with video games. I am a pretty good programmer and have done some simple 2D games in the past. 

Now I have been asked to look at possibly developing an "Intro to Game Programming". The state actually allows the topic to be covered as an accredited course, just hardly any of the schools offer or have faculty that can instruct in the class.
So, I am looking for advice/resources on how to structure the class. My initial outline is the following.

I plan to use Visual Studio Express C# Edition with XNA Game Development. The XNA platform is very popular and allows a familiar environment for students and it is FREE! I am personally a fan of Torque, but my students will all have been introduced to Visual Studio (via prerequisites) by the time they take this class, and I believe Torque will incur extra fees for them if they want to take work home and work outside the lab.
Keep it simple – Input with Controls, 2D side scrolling, character and object animation, pong type games, basic sound effects and simple collision detection problems. Being an Intro class and students having to learn C# as they go, I can’t see trying to make this too intensive. 

So, now the heart of my question – has anyone done this? What is the best book to use to teach XNA in a class room setting?

Should we try to write from scratch at the very beginning or go with a basic working game and teach the parts and then have them modify and improve as the semester goes along?

I also feel I need to make it team oriented and make the teams compete with a final demonstration of their games to be voted/reviewed by random selection of students and faculty. 

Also, does anyone know of a program/business partnership where I could possibly be lent or given free hardware to use? Over 90% of my students are full financial aid (Cheraw, SC is very economically depressed) so I need access to game controllers, etc. Also, the computers we currently have (and budgets keep getting trimmed ) currently run Windows XP and not looking to be upgraded for at least another 2 years. So an opportunity to borrow some higher end machines would be great along with maybe and Xbox 360!

Also, I am open to using a platform other XNA, but I don’t want to get technically deeper than XNA – therefore going straight against DirectX with C++ is out of question. Also, it has to be free at least for educational usage.