Fast Track To .NET Core

A fast-track workshop about building apps and websites using C# and .NET Core. Ideal for developers who have worked with languages like JavaScript, Ruby, or Python.

.NET Core is a modern, high-performance, cross-platform framework, suitable for building everything from web APIs to mobile applications. This course covers everything you need to know to get started building applications using C# and .NET Core - from creating your first “Hello, World” application, to web apps and databases, to deploying your applications in the cloud.

It’s a fast-track course aimed at people with some development experience - if you’ve done a bit of work with languages like JavaScript, Python or Ruby, you’ll be fine. It’s also ideal if you’ve done a bit of work with .NET and are looking to get a more comprehensive introduction to the framework, tools and patterns.

This course is taught as 8 x 3-hour modules. For private courses, it can be run as a single intensive 4-day workshop, or broken down over several weeks.

Module 1: Introduction to .NET Core

  • Creating your first .NET Core application
  • Working with Visual Studio and Visual Studio Code
  • Using the dotnet command line tools
  • Working with NuGet packages

Module 2: .NET Programming Fundamentals

  • Operators, flow control, pattern matching
  • The .NET type system
  • Classes, structs, interfaces and inheritance; namespaces and visibility
  • Constructors, static types,
  • Exception handling
  • Collections, generics and LINQ

Module 3: Building Web Applications with .NET Core

  • Introducing ASP.NET
  • The Model/View/Controller pattern
  • Working with the Razor view engine
  • Creating HTTP APIs using ASP.NET WebAPI

Module 4: Databases, filesystems and data storage

  • Working with files, streams and sockets
  • Connecting to relational databases using SqlClient and ADO.NET
  • Working with relational data using Entity Framework Core
  • Connecting to APIs and data services
  • Improving application performance using caching

Module 5: Testing and Debugging .NET Applications

  • Debugging .NET applications
  • Writing unit tests with xUnit
  • Using mocks, fakes and stubs

Module 6: Advanced .NET Development Patterns

  • Applying SOLID principles in .NET
  • Introduction to the Task Parallel Library (TPL)
  • Parallelization and asynchronous programming patterns
  • Reflection and metaprogramming

Module 7: Application security in .NET Core

  • Understanding security vulnerabilities; introduction to OWASP
  • Authentication and authorization models in .NET Core
  • Securing web applications with ASP.NET Core and IdentityServer

Module 8: Running .NET Core in Production

  • Continuous integration for .NET applications
  • Deployment strategies for .NET Core (on-premise, cloud, containers, serverless)
  • Applying ‘cloud native’ architectural patterns in .NET applications
  • Integrating .NET Core with your organization’s infrastructure
  • Configuration management
  • Monitoring and logging .NET applications

Prerequisites

This is a hands-on workshop. Attendees will need a Windows, Mac or Linux PC running a recent version of Microsoft Visual Studio or Visual Studio Code.

This is a fully online workshop; see the FAQ for details on how this works and what attendees can expect.

About the Trainer

Dylan Beattie is a software developer, musician and international keynote speaker. With over 20 years' experience working in the software industry, Dylan has spoken and taught at over 100 software development conferences all over the world. He's the founder and director of Ursatile, established in 2020 to provide high-quality workshop training for software professionals. He was CTO at Skills Matter in London from 2017 to 2019, and throughout 2020 he's been working with NDC Conferences to virtualise their events in the wake of the coronavirus pandemic.

Dylan is a Microsoft MVP for Developer Technologies, and the creator of the Rockstar programming language. You can find him online at dylanbeattie.net or on Twitter as @dylanbeattie

Upcoming Course Dates

No public dates are currently scheduled.

If you'd like to run this workshop for your team or at your conference, please get in touch

Alternatively, join the mailing list to find out when new course dates are announced.