The Best Way to Learn ASP NET MVC

Lay the Groundwork

If you are just starting out with ASP.NET, you need to understand either VB.NET (shudder) or C#. Both of these languages are part of ASP.NET so you need to become familiar with one (or both) of them.

As a beginner, I would recommend the following C# book from APress called Beginning C# Object-Oriented Programming by Dan Clark. A couple of my friends have bought this book and recommend it for beginners.

If you’re a veteran to programming (Java, C, C++, etc.), I would recommend a different book from APress called Pro C# 5.0 and the .NET 4.5 Framework by Andrew Troelsen.

Now that you know everything about C#, we’ll now move onto ASP.NET MVC.

Getting Your MVC On

ASP.NET MVC is Microsoft’s open-source platform making your web development easier than their previous technology called WebForms. MVC stands for Model-View-Controller. It’s an architectural pattern that has been around since the 1970’s and 80’s.

The fastest way to learn a new technology is to get the 10,000-foot view of how everything works. One way to do that is to download and review the lifecycle of an MVC web application. This is pretty much everything in a nutshell. Everything is laid out for you in specific terms. I even have this printed out and posted on my wall at work.

If you are looking for some reading material, I would recommend the following book called Pro ASP.NET MVC 5 by Adam Freeman. I bought this as an eBook when it came out and I reference it once in a while just to get back to the basics sometimes.

Online Training

If you are looking for some outstanding online training, one of my favorite sites I frequent often is Pluralsight. Pluralsight has over 1,000 courses on everything from web to mobile to virtualization. You pay $30/month for unlimited courses. Once you pay, I would recommend learn, learn, and learn some more.

Regarding ASP NET MVC courses, I would recommend the following Pluralsight courses:

  • ASP.NET MVC 5 Fundamentals – Scott Allen
  • Automated ASP NET MVC Testing: End to End – Jason Roberts
  • Architecting Applications for the Real World in .NET – Cory House

Most of these courses take between 2-3 hours so make sure you set time aside and learn what you can, as fast as you can.

Make Something!

Finally, start applying that knowledge by building something. You’ve come this far, why not start building a web app? Here are a couple of ideas to get you started:

  • Make a To-do list
  • Build a contact list
  • Write a small blog


The good news about this type of approach is that you can apply this to learn any language relatively quick. If you already know how to code, then a language is a language is a language.

Writing code in other languages will become easier and easier with the more experiences you create for yourself.

Anjali Punjab

Anjali Punjab is a freelance writer, blogger, and ghostwriter who develops high-quality content for businesses. She is also a HubSpot Inbound Marketing Certified and Google Analytics Qualified Professional.