Full Stack C# Development

Course Description

This five day course will take developers who have completed our Object Oriented Programming in C# course and give them the practical skills they will need to work with C# and the .NET Framework in real world web applications.
5 Days
€1850.00
 

Prerequisites

Attendees should be familiar with C# syntax and general Object Oriented Programming techniques, ideally having completed the Object Oriented Programming in C# Course.

Who should attend?

Programmers who would like to take their C# and .NET skills to the level that is required to create real-world web applications.

Learning Objectives

At the conclusion of this course, attendees will:
Have a high level of confidence in working with C# and ASP.NET Core MVC
Understand enterprise software development techniques
Have a good understanding of coding using interfaces
Know the difference between Object Relational Mapping and traditional Relational Database access
Be able to create a web application using the MVC pattern
Be able to deliver a professional look and feel using Bootstrap, Font-Awesome and jQuery
Be able to create a RESTful web service using an ASP.NET MVC Api Controller
Be able to interact with the RESTful web service using front-end development techniques
Understand how to externalise configuration from the application
Be able to deploy an ASP.NET Core MVC web application
Be able use Test Driven Development techniques
Understand Continuous Integration

C# & .NET Web Development

.NET framework overview
.NET Core
ASP.NET Introduction
IIS (Internet Information Server)

Some newer more advanced C# topics

This lesson will ensure that all attendees understand some of the newer or more advanced C# programming syntax including:
Named parameters
Default parameters
Optional parameters
Null conditional
Templated strings
Understanding arrow functions and the functional programming style
Collection classes with generics
List operations using arrow functions
Overview of Linq operations
Async / await and asynchronous development techniques

Enterprise Software Concepts

Coding to Interfaces
Convention over configuration
Dependency Injection
What are design patterns?
The Model View Controller design pattern
Test Driven Development (TDD)
Continuous Integration
Object Relational Mapping (ORM)
Attribute-driven coding
Synchronous vs Asynchronous operations

ASP.NET Core MVC

Getting started with web applications in ASP.NET Core MVC
Creating a project
Adding a Controller
Configuring endpoint routing
Returning a View
Passing variables from the Controller to the View
Using ViewBag
Using a Model

More about controllers

Understanding the Http protocol and the parts of a http request
Passing parameters to an action method
Path parameters
Query parameters
Understanding http response status codes
Generating the expected errors

More about views

Mixing code and html
Understanding separation of concerns and what should and should not be coded in a view
Razor syntax
UI Tag Helpers


More about models

Understanding the role of the Model in the MVC pattern
Model conventions
Getting models from a request body
Passing models to a view

Forms and Form Validation

Creating a form
Html helpers
Attribute driven validation
Viewing the validation messages
The Post request method

Data Access

The DAO pattern
Creating a DAO interface
Creating a DAO object using traditional relational database

Object Relational Mapping in .NET

Understanding Object Relational Mapping
Entity Framework
Code first approach
Data first approach
Creating a DAO object using the entity framework

Layouts

Why use layouts?
Rendering the main content
Default layout
Sections

Creating a Professional Look & Feel

Adding front-end libraries to your layout
Introduction to Bootstrap
Adding Bootstrap to your project
Create a Bootstrap navigation bar
Add multiple pages to your site
Setting the active class for the page you are on
Adding font-awesome

Front-End Development

Overview of JavaScript
Understanding the difference between front-end (JavaScript) and back-end (Razor) code
Introduction to jQuery
Front end event handling
Front end DOM manipulation
Introduction to Ajax

RESTful Web Services

Introduction to RESTful Web Services
Using Postman
ASP.NET Core MVC API Controller
Understanding routing for an api controller
Configuring routes using attributes
Generating the expected status codes from an Action

More Advanced Front-end Development Techniques

Replicate server-side pages using front end techniques
Understand the pros and cons of front end vs back end code
Create dialogs using Bootstrap modals

Security

ASP.NET MVC security features
Understanding Authentication and Authorisation
Adding a login page to our web application
Web application security threats

Test Driven Development

Adding unit tests to your application
Running the tests
Automating the testing

Devops

What is continuous integration?
CI strategies for ASP.NET applications
Externalising your configuration
Setting up a different configuration for production
Deployment of ASP.NET MVC applications

C#OOP.NET.NET Frameworkasp.netasp.net coreasp.net core mvcmvcTDDVisual StudioVisual Studio 2022Visual Studio 2026VS2026