.NET Course in London

Course description

This practical five-day course is intended for developers with some knowledge of object-oriented programming who need to gain the skills to develop robust commercial applications, using the latest features of the .NET framework.

Web and desktop applications are assembled, using Entity Framework Core to implement the data layer with ASP.NET Core MVC and WPF MVVM for the presentation layers. Other topics include the collections classes, SQL, LINQ, test driven development, dependency injection, concurrent programming and design patterns. View Course Outline.

We have been training Developers Since 1999. Call us today to discuss how we can train your staff to build and maintain .NET applications.

Telephone 0118 966 4994 or email mailbox@javaconsult.co.uk

Scheduled Dates

16 - 20 December, £1680 +VAT
24 - 28 February 2020, £1680 +VAT

On-site courses are also available: we can provide customised courses, either at your offices or our offices, for a fee of £4800+VAT for 5 days and up to 10 attendees, including the use of laptops if required.

Venue
Course hours are 9:00 to 5:00 at serviced offices in central London, near Paddington station, with a maximum of six delegates. View map
Related courses

Our Introduction to .NET Programming course is intended for developers who are new to programming.

What you will learn
  • Oject-oriented programming in C#
  • Test Driven Development (view a 20 minute tutorial video )
  • Collections and LINQ (view a 10 minute tutorial video )
  • Object Mapping with Entity Framework Core
  • Concurrent and Asynchronous Programming
  • ASP.NET Core MVC and Web API 2
  • Windows Presentation Foundation
  • Design Principles and Patterns
Course instructor

Originally a Civil Engineer with a BSc from London University the course instructor, Simon Dineen, has 20 years' experience in .NET training and development.

Feedback
  • Absolutely excellent, fast-paced but that’s what I was hoping for. Good selection of topics.

  • Trainer was approachable and very knowledgeable. I appreciated the time and patience given to me as I was the slowest on the course.

  • I enjoyed the fast pace of the course. It’s given me the concepts which I now need to improve through practice.

  • Really enjoyable. Would recommend. Thanks

  • Fantastic introduction; so much information covered in one week.

  • It was highly intensive but easy to follow

  • Just wanted to say thanks for the course last week. I got a huge amount out of it. I really liked the way you built up the different components/apps over the week.

Course outline

1. Introduction to the .NET framework

  • C# and .NET Core 3.0
  • The Common Language Runtime and the Base Class Library
  • Common Intermediate Language
  • The Common Type System

2. Core language features

  • Value types, reference types, conversion and casting
  • Operators and decision structures
  • Repetition including for, while and recursion

3. Classes and objects

  • UML class and object diagrams
  • Fields, properties, auto-implemented properties and static methods
  • Constructors and method overloading
  • Viewing compiled code with the intermediate language disassembler

4. Inheritance

  • Reasons for creating derived classes
  • Access modifiers
  • Overriding methods and calling base class constructors
  • Object reference conversion and polymorphism
  • Methods in the Object class, reference equality and value equality

5. Unit Testing

  • Overview of Test-driven development (TDD)
  • Writing unit tests with xUnit
  • Parameterised tests
  • Writing interactions tests with Moq

6. Arrays and Collections

  • Defining and implementing interfaces
  • Classes and interfaces in the System.Collections.Generic namespace
  • Extension methods, delegates and lambda expressions
  • Interrogating collections with LINQ Query syntax and method syntax

7. File Handling and Exceptions

  • Reading and writing text to a file
  • Serializing objects to JSON
  • try catch and finally blocks
  • using blocks and the autocloseable interface
  • throwing exceptions

8. SQL

  • Transact-SQL data types, data definition and data manipulation
  • Transactions and pessimistic concurrency
  • Using SQL joins to combine rows from two tables
  • Accessing SQL Server with the System.Data.SqlClient classes
  • Integration testing

9. Entity Framework Core

  • Overview of object-relational mapping
  • Using DbContext, DbSet and Entity State
  • Code-first migrations and data annotations
  • RowVersion columns and optimistic concurrency
  • Repository and Service layers
  • Unit testing with InMemory database

10. ASP.NET Core MVC

  • Controllers, actions and routing
  • Defining views using the Razor view engine
  • Scaffolding, forms, Tag helpers and model binding
  • Validation with jQuery
  • Dependency injection
  • Authentication with ASP.NET Core Identity
  • Unit testing the Controller

11. Web API 2

  • Overview of web services, HTTP methods, REST and JSON
  • HTTP status codes and Action Results
  • Model binding and handling exceptions
  • Attribute Routing and constraints
  • Testing web services with the Postman HTTP client
  • Writing integration tests for the web service

12. WPF

  • Building desktop applications with Windows Presentation Foundation
  • Controls, properties, layouts, styles and resources
  • Data binding and events
  • Asynchronous methods and the Task class
  • Using the Model-View-ViewModel pattern with dependency injection
  • Building a web service client
  • Unit tests with xUnit and Moq

13. Design Principles and Patterns

  • Object-oriented design principles, including SOLID
  • Creational design patterns including Factory, Abstract Factory and Singleton
  • Structural patterns including Adapter, Decorator and Facade
  • Behavioural patterns including Observer, Strategy and Template Method