I am wondering what would be a good ramp up plan that you can recommend a typical ASP.NET web developer who is a totally new to .NET world. There are way too many things to learn, and too little time to train.
C#
ASP.NET
ASP.NET MVC
JQuery
AJAX
Silverlight
RIA
WCF
… list goes on …
In order of first to last:
Reasons: Well you need to know C# or VB.NET to start using ASP.NET. Then to develop web apps in .NET you need ASP.NET, and most enterprise applications use WebServices to enforce layered application design patterns. After that jQuery is useful, and then when you know jQuery you can choose between jQuery to AJAXify your pages, or ASP.NET AJAX. Up to you… After that I would look at ASP.NET MVC to pull things together (And rewrite your original project ;-)).
I have left off Silverlight, RIA and WCF because they are not ‘essential’ in my opinion for entry level leaning, unless you specifically need them. Web Services are more than sufficient for most applications where WCF could be used. RIA’s are nice, but they ‘come along’ with your knowledge of AJAX and ASP.NET. Silverlight is very nice… But again IMO not essential learning for a beginner.
This would be where I started… http://www.wrox.com/WileyCDA/WroxTitle/Professional-C-2005-with-NET-3-0.productCd-0470124725.html Though there is a newer one now. It walks you though the CLR, then the C# language, and then you can choose to read the WinForms, WPF, or ASP.NET chapters followed by WCF/WebServices etc…