What Does Advanced ASP.NET Mean?

image This week I am teaching Advanced ASP.NET 2.0 at [itt].

When I first introduced the Advanced ASP.NET training at Interface several years ago (version 1.1), it seemed easier to define what "advanced" meant.  Back then, .NET in was a paradigm shift for many developers.  Nowadays, the typical student isn't so typical.  With experience, "advanced" becomes a relative term.

What do you (the reader) consider an advanced topic in ASP.NET?  What advanced topic would be worth taking training for?

Technorati Tags:

14 Comments

  • I think that's a great question.

    To me there's a difference between a programmer and a developer in the same way.

    Anyone who puts code down in any form can be classed a programmer, especially if they do it full time.

    Only those who lay out code according to either patterns or in a format which they've come to find more efficient over time are developers.

    So what are the differences between those two? Well, it's about the experience and the lessons learned from layout out code. Unfortinatly, my view of what's advanced and what's basic may differ from everyone else, it's a very personal thing.

    So does this come down to tactics and approach? Correct usage of the "using" statement on IDisposable objects perhaps? Maybe it comes down to correct and efective diagnostic abilities when debugging an application (especially one that's already live). Perhaps it's more about the architecture and maintenance of the code, how secure is it, are there huge gaping holes in the code people write?

    I's a great question, I can't wait to see what everyone else thinks.


  • Hmm, a tough question, such a relative term and a personal one too. I quite like the course outline; it seems to cover a nice variety of advanced topics.

    One of the problems I've always had on courses is trying to get across to people how important it is to flick through APIs (using MSDN, class browser or my favourite, reflector). You'd be surpised how much many times I've used something and the students have said "I didn't know that existed". A lot can be learned from seeing a method call and going "ooh, I wonder what that does" and realise it can solve a problem. It's not a topic per se, but I think it's something you should do if you want to consider yourself an advanced developer.

    I think some general architecture stuff is probably worth teaching too. I meet many people who are pretty good developers, but seem to be worried about how to architect applpications, even fairly simple ones. It's not really something that should be an advanced topic, but it doesn't seem to get tought on many lower level courses.

  • * HttpCachePolicy and output caching
    * IHttpHandler and IHttpHandlerFactory
    * IHttpModule and HttpApplication events
    * System.Web.Compilation
    * System.Web.Hosting (IIS 7 integrated mode)
    * System.Web.Management (IIS 7)

    Cover anything outside the HtmlControls and WebControls namespaces and the HttpRequest, HttpResponse, and HttpServer classes. Plus everything above will still be relevant when ASP.NET MVC becomes mainstream.

  • I would define Advanced to be dealing with problems that are uncommon in the typical developer world. These usually involve weighing the pro/cons of solutions and understanding the nuances of different approaches, and how each approach scales both as development projects can larger and the user base increases. For instance, it's easy to get up and running with Ajax using things like the UpdatePanel, but how do you know that solution will still be applicable when dealing with hundreds and thousands of users per day coming from all parts of the world?

  • The provider model in depth? With a custom provider?

  • Phil,

    I like your statement: "Anyone who puts code down in any form can be classed a programmer..."

    It takes more than the ability to write code to be an advanced developer. I would also argue that it takes more than writing HTML to be an advanced web developer. So what does it take to be an Advanced ASP.NET developer?

  • Chris,

    I am curious why you stated: "I totally agree with Phil that an ‘advanced’ developer will have suffered with architecture and deployment difficulties – but I’m afraid these can’t be thought in classroom sessions."

    What is missing in the classroom that makes it unlikely to teach architecture and deployment scenarios?

  • Dave,

    What kind of architecture are you referring to? The logical & physical layers of an application?

  • Joe,

    I agree that those technologies are advanced topics. I currently teach them in ASP610 - Advanced ASP.NET course at Interface (in Phoenix)

  • Guy,

    Asynchronous activities and multi-threaded operations are advanced in my opinion as well. This is also taught in my ASP610 Advanced ASP.NET class.

  • Mike,

    I agree with you. Your example of AJAX is a good one. In reality, using an UpdatePanel is not advanced. Anyone can do it. Knowing JSON syntax and effectively communicating between the browser and web server is more advanced. It also requires understanding complicated troubleshooting techniques. Yes, it is a shameless plug, but I teach that in my ASP610 Advanced ASP.NET class as well :-)

  • To me advanced ASP.NET means simply extenting the framework itself.

  • Hello John..
    I will take this course, but I already have good experience asp.net but I dont know all the topics that you have on the asp.net200 outline.. Can you tell me what will be better asp.net200 or asp.net advance if I already have many years of experience working with .net 1.1 & .net 2.0 some knowlage of 3.5

  • Jose,

    If you have strong experience, I would recommend the ASP610 class. The topics you do not know in the ASP200 should be easily acquired for experienced ASP.NET developers. However, the concepts and practices in the ASP610 (advanced asp.net) class require a serious developer.

Comments have been disabled for this content.