As a learning/teaching tool, C# is an ideal language for many of the reasons cited in Chapter 1. By way of review:
C# is an ISO standard and, as such, is consistent across the more recent (2000, XP, Server 2003) Windows-based platforms. If you encourage students to use Microsoft's C# Software Development Kit (SDK) as their sole development environment, you will dramatically lessen the "hassle factor" as compared with teaching a language like C++ to a group of students who are using a multitude of different programming environments on their home or work computers.
C# is, in our opinion, a simpler language to grasp than C++, at least as far as the core language is concerned; C++ pointers have historically sent many a student running for a "course drop" slip! The biggest challenge with learning C# is the phenomenal number of APIs and classes therein, but we believe that we've successfully distilled these down to just those that a beginning student needs to know.
C# is extremely affordable. All students need to do programming assignments is Microsoft's C# Software Development Kit (SDK), downloadable for free as detailed in Appendix C, and a text editor.
If you prefer to expose students to the use of an integrated development environment (IDE), you might consider Microsoft's Visual Studio .NET. More information about this IDE can be found at http://msdn.microsoft.com/vstudio/. Also, please visit http://objectstart.com for suggestions of free or low-cost object modeling tools that your students might wish to use.