Those of us who have been doing and thinking about Xp can, I believe, agree on most of the material to be covered in a course. The interesting problem is how to get across the flavor of Xp in a short (.5 to 2 days) course. A way to do this might be to leave software development and apply Xp to a more concrete problem domain.
I am imagining a series of labs inwhich pairs of developers apply iterative development, testing, etc to a construction task using Legos. They would build components that would need to be integrated with the work of the other teams, some would work faster that others, some teams would need to modify the work of others as requirments change.
This would cut through a lot of problems that a software development lab would present.
Only thing.. what would a group-shared, automated suite of unit tests look like with Legos? Or, would the experience of having that sort of feedback while pairs work separately not be necessary to the experience? -- MichaelFeathers
The exercise would certainly need to be designed in such a way as to insure testability. A prebuilt set of lego based functional tests would be required as as well as a unit test framework.
Of course legos may not be the way to go. The idea is to come up with a problem space that allows you to go through the scheduling and development cycle a couple of times without having to worry about the technical skills of the students.
Consider applying ExtremeProgramming to the programs found in the PersonalSoftwareProcess (see A Discipline for Software Engineering by WattsHumphrey).
Something like ExtremeTraining would be the ticket. The goal is to make sure you understand what your job is and how to do it.