The course curriculum was completely hands-on and built around a real Work Order system with an automated build and automated unit and integration tests. The code is available to the public via the Google Code subversion repository. You can update to a different revision committed each day. We ran a local SVN repository to have fast network connectivity, but I pushed a commit to the Google Code repository along the way. You are free to see how the system progressed over the three days. The system is not meant to be a complete example of everything right. There are things to correct intentionally put in as a learning tool for the class; however, you can take that system and adapt it to your needs.
The course covered the following topics, tools, and design patterns:
Inversion of Control
SVN branching and merging
Build automation with Nant and CCNet
Pair programming & the TDD game
Dynamic & static mocks & stubs
Source control structure (trunk, tags, branches)
Team design/whiteboard modeling
Optimizing NHibernate queries
Automated database migrations
Complex NHibernate mappings
Redgate SQL Compare
Separation of Concerns
Dependency Injection pattern
Future course date are available here. You can see from the list above that we cover many of the practices of Extreme Programming. What you don’t see are things that you can learn at other training courses, like LINQ, etc.. Our goal is to provide a unique training course that isn’t available elsewhere. If you are interested in learning C# specifically or .Net programming, I’d also recommend JP Boodhoo’s Nothin’ but .Net series.