Complete ASP NET MVC Web Development - Newbie to Ninja!
4.3 (683 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
6,285 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Complete ASP NET MVC Web Development - Newbie to Ninja! to your Wishlist.

Add to Wishlist

Complete ASP NET MVC Web Development - Newbie to Ninja!

Learn Web Development with ASP NET MVC and C#. From absolute basics to ninja learn C# and MVC like Pro Web Developer!
4.3 (683 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
6,285 students enrolled
Created by Brett Hargreaves
Last updated 6/2016
English [Auto-generated]
Current price: $15 Original price: $195 Discount: 92% off
18 hours left at this price!
30-Day Money-Back Guarantee
  • 8 hours on-demand video
  • 11 Articles
  • 3 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Learn Object Orientated Programming
  • Learn What MVC is and how to use it
  • Learn the patterns and techniques of experienced enterprise developers
  • Learn the patterns the tops paid developers use
  • Create cleaner code that is easier to manage and re-use
  • Write code with Less bugs - meaning you work faster and build a BETTER reputation
  • Build Code EASIER, by splitting it up in to manageable chunks
  • Make Code more FLEXIBLE, using abstraction and interfaces
  • Easily Re-Use existing code in multiple projects
View Curriculum
  • Visual Studio 2013 installed (Express is fine). Understanding of HTML, some javascript and c#

Do you want to learn how to program and build robust Websites using the latest technologies?

I'll teach you step by step from the absolute basics to the more advanced patters used by seasoned professionals. You will become an expert ASP NET MVC C# Web Developer, take your career to the next level and learn how the top developers can demand bigger salaries!

Freelance & contract developers can make upwards of $500 a day, and the demand is increasing each year.

Whether you are completely new to software development, or have already learnt the basics, my course will walk you through everything you need to know to become world class

Here's what some students have have been saying:

'A very good course on MVC, after taking some MVC courses here in Udemy, I subscribed this one, helps me to gain more clarity inside the MVC process'

'I now see what I've been missing! This is certainly one of the best courses I've watched/read about ASP NET!'

'I've run through a through a few tutorials and blog posts whilst learning MVC, and I never knew about the ideas discussed in this course, or thought they were beyond be ay my beginner level.'

Do you want to learn how professional developers build best in class websites using ASP NET MVC?

Senior developers can earn in excess of $100k a year - one of the key differences they demonstrate is the ability to quickly write extensible code and get involved in the architecture process.

This course will teach you how enterprise class developers create 'Best in Class' software, and how these principals will help you create software easier, faster and be less prone to bugs.

I will teach you the basics of software development, move onto Object Orientated Programming (OOP) and introduce the 7 SOLID Principles and modern day patterns that adhere to them such as Dependency Injection, MVC, Abstraction and Inheritance.

Through this course you will implement

  • An ASP NET MVC e-commerce site.
  • Object Orientated Programming (OOP)
  • Layered Architecture
  • Repository Pattern
  • Entity Framework
  • Dependency Injection
  • Modules
  • Partial Views
  • And more!

And of course, being part of Udemy you get:

  • FREE lifetime access to this course
  • ALL future lectures and upgrades (of which there will be many!) included for free
  • Udemy's Unconditional 30 day money back guarantee - so there's NO risk
Who is the target audience?
  • This course is aimed at people wanting to learn how to program in C# to build websites. Basic programming skills (such as loops etc) are assumed.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
66 Lectures
5 Lectures 33:16

An introduction to the course and what we will be learning.

Preview 06:13

An overview of the e-commerce project that we will be building throughout the course.

Preview 01:04

How to get and install Visual Studio. Kind of important. :-)

Get the software

Installing SQL

Issues when updating to SQL 2014
NEWBIE: C# Primer
13 Lectures 02:59:16

A brief introduction about this section of the course - C# Basics - and what we will be covering.


All C# and Web Development projects must start with a 'Hello World' project. It's an unwritten law of the Universe. So let's get started and see just how easy it is to create a fully functional C# Program!

Obligatory Hello World Project

Click the resources tab and download the code for the Hello World Project

Hello World Code

So we have our very first C# program - but what are all those files about? In this lecture we'll examine the anatomy of a C# program and look what happens when it get's 'compiled'.

Structure of a C# Project

Variables and Types

How do we create 'objects' of our own devising? What happens when the built in C# 'types' just don't cut the mustard? In this lecture we examine how we can create classes and structs to build our programs.

User Defined Types

Click the resources tab and download the code for the Variables and Types Project used in the previous lectures on Variables, Types and User Defined Types.

Variables and Types Code

How do you store lists of information in a C# Program? This lecture explores the options for storing, sorting and searching lists of information.

Arrays And Collections

Click the resources tab and download the code for the Arrays Project used in the previous lectures on Arrays and Collections

Arrays And Collections Code

All programs need to respond to information and execute code depending on user choices and actions. In this lecture we learn how to build Program Flow into a C# application. We learn how to check and compare variables and the various options available for directing the code accordingly.

We will cover If Then Else statements, While Loops, For Loops and Switch Statements.

Program Flow

Click the resources tab and download the code for the NumberGuesser Project used in the previous lectures on Program Flow
Program Flow Code

All software has a hiccup sometimes. In this lecture we look at the basics of debugging your C# application.


So what exactly did you learn in this section? A brief overview of what we did and where to go next,

Section Summary
NEWBIE: Object Orientated Programming (OOP)
8 Lectures 01:03:49

Object Orientated Programming (OOP) is often overlooked by new developers assuming they will 'pick it up' - however it's best to learn the concepts from the beginning. This lecture will give you a brief overview of what OOP actually is and why we need it.

Object Orientated Programming Overview

Learning is easier by doing - take a walkthrough creating and using classes.

OOP & Classes - Basic Walkthrough

Now you've learnt the basics, I'll show you so of the more advanced things you can do with classes and their usage.

More on Classes

In this lecture we will discuss what a LIBRARY is, and how we can use namespaces to group and partition our code whilst preventing conflicts.

Classes & Libraries

Some of the basic 'features' of OOP - honestly - it's NOT that scary!

Encapsulation, Inheritance & Polymorphism (Not as scary as it sounds!)

Explanation of public, private, internal and virtual access modifiers when declaring classes, properties and methods.

Access Modifiers

This book is a brief introduction and reference to what we have been learning so far. I normally sell this on Amazon, but it's free to all my hard working students :-)

FREE BONUS BOOK! - ASP.NET, C# and Object Orientated Programming Primer
30 pages

Click the resources tab to get the Playground Project used in the OOP Lectures

OOP Project Files

4 questions
NEWBIE: SOLID Principles
7 Lectures 15:17

SOLID is a set of guidelines for writing easily maintained code. Top developers (the ones who make the big bucks) try to follow these guidelines to make their life easier and code faster. They are also a must if you ever want to work in a larger team on larger projects.

Preview 01:06

The S in SOLID. Learn about the Single Responsibility Principle and how we use it to break code up and to nice simple classes.

Single Responsibility Principle

The O in SOLID. Best practices for building classes in regards to updating and extending your software.

Open / Closed Principle

The L in SOLID. This principle teaches you to write code that can be easily replaced and swapped out.

Liskov Substitution Principle

The I in SOLID. This principle works in conjunction with the Liskov Principle to build code that can be made modular.

Interface Segregation Principle

The D in SOLID. Dependency Inversion is perhaps one of the biggest growing patterns in software development. It is essential to understand and paves the way for better Testing and modularity of your code. The lecture provides the theory, and then you'll implement it in a real world scenario in the 'Building a data layer' section.

Dependency Inversion Principle

Slides from the previous lectures in PDF Format - handy for reference!

8 pages

Test how well you understand SOLID Principles!

How SOLID are you?
4 questions
Source Control
5 Lectures 38:45
Introduction To Source Control

Getting a Git Account

Creating and Managing Repositories

Committing Code and Using Repositories

Branching and Merging
5 Lectures 30:19

What exactly is MVC and why is everyone using it now? This lecture provides an overview and just why MVC is a great tool for Website Development

MVC Overview

Learn by doing. Create your first MVC website and start learning the core knowledge that you will build upon.

Creating an MVC Website

Once you have your website you use 'Views' to display the actual HTML to your users. This walkthrough will teach you everything you need to know to use Views effectively in an MVC website.

MVC Views

Partial Views are a simple yet powerful kind of view used in MVC that allow you to build common sections of code and functionality and re-use them throughout your website. This makes building your site neater, quicker and easier to maintain.

MVC Partial Views

Click the Resources Tab to get the MVCStarter Project/Website used in the MVC Primer Lectures

MVC Starter Project

Have you learnt your M from your V & C's? Test your knowledge!

MVC Quiz
3 questions
NEWBIE: Setting up the Project
2 Lectures 07:30

Now you have the basics lets get started building an e-Commerce site! First we'll have a walkthrough of HOW we will be splitting our project up to ensure it is modular, easy to maintain and easy to extend.


Here I will walk you through building our basic solution. This will set us up ready for the real work.

Building Layers with Separate Projects
EXPERIENCED: Building the Data Layer
8 Lectures 43:17

The first thing we need to build is our data layer. The data layer is all the code that is responsible for Creating, Reading, Updating and Deleting (CRUD) our data such as product information and customers. Lets have a quick overview of how we will do this.


First we must define the model that our project will use, and discuss why we make certain choices around static and dynamic fields

Defining the Model

A brief introduction to the Entity Framework for data persistence, and how we can integrate and extend that library into our application

Entity Framework and the Repository Pattern

How Abstraction can reduce our code base and maintenance by creating a common class for derived classes that share functions. This is a real world example of how to use OOP features such as Encapsulation, Inheritance and Polymorphism.

Abstract Classes mean less code!

Source code of the project so far. Includes the basic Models, project framework and is ready for the next lecture!

You can pick this code up as is and continue with it, or simple use if to check the work you've done so far.

Code So Far - Ready for Migrations

How Entity Framework Migrations can help keep the database in sync with our model, and how to set it up and use it effectively.

Using Entity Framework Migrations

What are interfaces and how they will help up implement a key SOLID Principal

Using Interfaces

A simple introduction to Unity DI, why we use it, and how to implement the basics. This is another key SOLID principle, and in this lecture you'll learn how to use it.

Preview 05:13
EXPERIENCED: Creating the UI Layer
5 Lectures 29:07

Code so far - I've added Basket and BasketItems - so you will need to run an Update Database from the package manager console!

Code so far - ready for the UI

We'll run through some basic MVC scaffolding again, but more importantly how we hook it up to our new data layer

Preview 12:34

Buidling on what you learnt in the previous lecture, this time you will implement the Browse and Details pages for your products.

The Product Browse & Details Pages

Code so far ready for the add to basket.

You can pick this code up as is and continue with it, or simple use if to check the work you've done so far.

Code So Far

Build a separate basket service in a modular fashion - this way we can independently maintain, test and update the service without muddling up our UI project,

Adding to the Basket
PRO: Adding and Injecting Modules
5 Lectures 20:15

What are module and we use them?

A Brief introduction in to the concepts and why they are useful

Why Modules?

Start with this code and compare it to what you have written. It includes some basic models for a 'Voucher' entity. Don't forget to run Update-Database!

Modules Starting Code - Download this!

Using the Voucher model included in the previous code update, we'll create a module for calculating and creating a voucher that users can add to their basket to get money off etc. The module will use a lot of the SOLID principles to create something that can be easily swapped out with as many different versions as you need - all on the fly and controlled within your website!

Creating a module

The final piece of the puzzle - how to actually use your shiny new SOLID compliant modules.

Consuming a module

Code so far - updated project with all code from the Module Injection lectures

Code So Far
2 More Sections
About the Instructor
Brett Hargreaves
4.3 Average rating
811 Reviews
8,246 Students
4 Courses
Professional Software Developer and Teacher

Hi! I'm Brett and I live in a quiet little town in the North of England.

I've worked in IT for over 15 years as a developer and architect and I've been programming since I was 10. I've worked as a freelancer and as a consultant for small companies and some of the worlds largest IT providers - including Fujitsu, Cap Gemini and Capita.

In that time I've worked with a range of development tools from BASIC to PASCAL, Visual Basic, C#, Swift, Java, ASP and ASP.NET. I've built solutions with pure code, Dynamics CRM and Sharepoint - I certainly don't get bored!

I love learning new technologies, and more recently I'm enjoying sharing that knowledge through books, blogs and of course training courses.

For me learning is a lifelong pursuit - and I hope you'll join me on my journey!