My brief foray into .NET has profoundly impressed with the technology but equally frustrated with the learning materials. Is there a textbook--not a reference book, mind you!--out there that uses .NET as a platform?
Many people don't realize this (or probably take it for granted), but a textbook is curriculum-based. A reference book is not. So, the two are written differently. What we need are more textbooks that teach programming, systems analysis, software engineering, programming languages, etc. using .NET as a platform.
The problem I have with existing materials is that they are written for developers. What about students who are encountering the technology for the first time? They need a gentle introduction, something that frames the technology or grounds it in classic principles of problem solving, algorithms, SAD, whatever.
The longer I use .NET (and I haven't used it long at all), the more I'm convinced that it hasn't been as widely adopted as a teaching platform as it can or should be, because there aren't enough basic support materials. What I find happening is that we, the faculty, have to sift through the material and pick out what we want to teach, depending on what our students need to learn. So, for example, I thought we were just teaching C# this summer. I came to realize quickly enough that we have to teach ADO.NET as well.
The use of ADO is a natural extension of C# and yet the introduction of a new term makes for a jarring transition. To my mind, it would be easier to just set these sorts of divisions aside for a while and then, once the concepts have been learned, go back and say, oh, by the way, this subset is called ADO.NET.
One can argue that .NET is so huge that it's difficult to write such a textbook. But this is precisely where curriculum comes in. Computer Science and its related disciplines are huge. How do we navigate through it? With a map, also known as a curriculum. If someone can start with a curriculum, something like the ACM recommended curriculum for CS, and then just use .NET as a platform in the same way that Pascal and C and Java are used as platforms, I think it would boost .NET use in schools and make millions for the authors.