Modern Application Development with C# and .NET Core

Topics covered at APPDEV-NET-01-04
View Schedule & Book More dates available

Next up:


Want to learn how to develop modern high-performance, cross-platform software applications in C#? Join this course and learn how to develop high-performance software applications in C# by harnessing the power of the .NET Core platform and its rich ecosystem of tools and services.

Microsoft .NET has long been the leading platform for building web and desktop applications on Microsoft Windows, but the release of .NET Core has firmly established .NET as an ideal technology for developing high-performance, cross-platform software applications.

We'll get you started with the fundamentals of the C# language and the .NET runtime platform, by creating your first .NET Core application. You'll then learn how to how to use tools like the dotnet command line, Microsoft Visual Studio and VS Code to create websites, APIs and class libraries in lectures, discussions and plenty of hands-on workshops.

Upon completion of this C# and .NET Core course, you will know how to develop and deploy modern high-performance software applications in C# on this powerful platform.

Learn how to:

  • Write applications, websites and HTTP APIs using C# and Microsoft .NET
  • Build cross-platform applications for Windows, macOS and Linux using Microsoft .NET
  • Create scalable, high-performance websites using ASP.NET
  • Connect to data sources and work with relational data using Entity Framework
  • Test, debug and monitor .NET applications and services
  • Use the rich set of tools, utilities and services available for developing modern .NET software applications
  • Manage user identity, security and authentication
  • Use asynchronous programming to create high-performance, lightweight software components and services
  • Apply design patterns and SOLID principles using Microsoft .NET

  • What the community says

    "Very knowledgeable"


    "He explained things well, and used good examples to illustrate his points. He gave us ample opportunity to ask questions."


    About the Author

    Dylan Beattie

    Dylan Beattie is a systems architect, developer, and Microsoft MVP, who has built everything from tiny standalone websites to large-scale distributed systems. He created his first web page in 1992, and he's been building data-driven interactive web applications since the days of Windows NT 4. He's currently the CTO at Skills Matter in London, where he juggles his time between working on their software platform and supporting their conference and community teams. From 2003 to 2018, Dylan worked as webmaster, then IT Manager, and then systems architect at Spotlight (www.spotlight.com), where his first-hand experience of watching an organisation and its codebase evolve over more than a decade provided him with a unique insight into how everything from web standards and API design to Conway's Law and recruitment ends up influencing a company’s code and culture.


    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

    .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

    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

    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

    Testing and Debugging .NET Applications

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

    Advanced .NET Development Patterns

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

    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

    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



    If you're a software developer (any language) and want to learn how to develop modern high-performance, cross-platform software applications in C#, this comprehensive Fundamentals of Modern Application Development with C# and .NET Core course is for you!


    This is a course to get you started with C# and .NET, so no prior C# or .NET skills are required, but to benefit from this C# and .NET Core course, you should already be comfortable using a text editor to create and update source code files, know how to run a compiler or interpreter and have some prior experience working with relational databases.

    Bring your own hardware

    Laptops for your Course

    You are invited to bring your own laptop with your preferred IDE to this C# and .NET course, so you can learn using the tools, languages and IDEs you are already familiar with, and can focus on learning the new concepts and skills covered in this course.

    If you are unable to bring your own laptop and you let us know as soon upon booking and at least 1 week prior to your attendance of this course, so our team can provide you with a laptop that is pre-installed with the relevant environment.