O'Reilly logo
live online training icon Live Online training

Modern Application Development with C# and .NET Core

Build your understanding of the C# language and the .NET Core Framework to create robust cross-platform applications

Onur Gumus

The release of .NET Core means that cross-platform development with C# is finally here. In this fast-paced practical course you’ll work through a rapid introduction to C# followed up by an overview of .NET in the context of two real-world applications.

Each component of the course has been carefully designed to build skills and capabilities that are in high commercial demand. You’ll learn how to build and deploy Universal Windows Platform applications for desktop environments, as well as cutting-edge web development techniques with ASP.NET Core MVC. As you progress you’ll find helpful tips and tricks, as well as useful self-assessment material, exercises and activities to help benchmark your progress and reinforce what you’ve learned.

If you’re a pragmatic developer with a few years of experience working with another object-oriented programming language, this course will equip you with the skills you need to succeed with C# and .NET in the modern workplace.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll:

  • Learn all you need to know about C# and .NET
  • Create and deploy cross-platform device applications that work seamlessly
  • Learn to work with C# and .NET along with cloud architecture
  • Package and deploy .NET applications

And you’ll be able to:

  • Make use of the latest features of C# and .NET, and understand core C# concepts
  • Learn how .NET works
  • Build mobile and desktop applications that work across a variety of operating systems
  • Learn to use LINQ
  • Write reactive C# code
  • Secure your applications using a variety of strategies
  • Create microservices and use Azure and AWS for serverless computing with C#

This training course is for you because...

You’re a pragmatic developer with a few years of experience working with another object-oriented programming language, and want to learn the skills you need to succeed with C# and .NET in the modern workplace.


It is imperative that a prospective student is well-acquainted with basic programming principles. It is advised that one possess a basic idea of the .NET stack before the course.

Recommended preparation:

Materials, downloads, or supplemental content needed in advance:


For successful completion of this course, students will require the computer systems with the following:

  • Processor: 1.8 GHz or higher Pentium 4 (or equivalent)
  • Memory: Minimum: 2 GB RAM
  • Recommended: 4GB
  • Hard disk: 10 GB
  • Internet connection


  • Operating system: Windows 10 (Latest Version), Mac OS or Linux.
  • Browser: Microsoft Edge, Google Chrome or Mozilla Firefox (latest version)
  • Visual Studio 2017 Community Edition or better, with .NET Framework 4.7.2 installed or Visual Studio Code
  • .NET Core 2.1 installed

About your instructor

  • Onur Gumus is a lead software engineer based in Dubai. He has diverse interests in software development, architecture, Wing Chun, and chess. He spends most of his time building .NET applications. His previous experience was as a software architect at P.I. Works, where he developed several F# projects and gave internal tutorials to the developers. He is extremely passionate about F# and functional programming and hopes to spend more and more time helping developers in the community to become proficient in functional programming.


The timeframes are only estimates and may vary according to how the class is progressing

Day 1

Section 1: Introduction to C# and Visual Studio (30 min)

  • Lesson 1: An Overview of Visual Studio 2017 and Visual Studio Code.
  • Understanding .NET, .NET Core and .NET Standard.
  • Fundamentals of Visual Studio 2017
  • Fundamentals of Visual Studio Code and .NET Core CLI
  • Break 1 (5 min)

Lesson 2: Introducing C# (40 min)

  • Exploring the Basics of C#
  • Declaring Variables
  • Building Console Applications
  • Break 2 (5 min)

Lesson 3: Controlling the Flow, Converting Types, and Handling Exceptions (40 min)

  • Basic Control Flow
  • Casting and Converting Between Types
  • Using Linq
  • What are Exceptions?
  • Checking for Overflow
  • Break 3 (5 min)
  • Lab 1: Develop a simple guess my number game by using C#. (20 min practice + 10 min solution)

Section 2: .Net libraries (40 min)

  • Lesson 4: Using .NET Libraries and Runtime
  • Using Assemblies and Namespaces
  • Debugging and monitoring
  • Storing Data with Collections
  • Asynchronous programming and tasks.
  • Debugging Tools
  • Monitoring Performance and Resource Usage
  • Break (10 min)
  • Lab 2: Given a buggy application we need to find the bug and fix the bug by debugging the application. (15 min practice + 10 min)
  • General Q&A 10 min

Day 2

Section 3: Storing data and .Net in action (30 min)

  • Lesson 5: .NET in Practice
  • Understanding OOP
  • Building Class Libraries
  • Implementing Interfaces and Inheriting Classes
  • Break (5 min)

Lesson 6: Storing your data (30 min)

  • Relational Database Management Systems
  • Working with Entity Framework Core
  • File System and Serialization.
  • Break (5 min)
  • Lab 3 CRUD with EF. (15 min practice + 10 min solution)

Section 4: Mobile and web apps development (40 min)

  • Lesson 7: Building mobile apps with Xamarin Using XAML
  • Understanding Xamarin
  • Understanding XAML
  • Creating an Application for Xamarin
  • Using Resources and Templates
  • Data Binding
  • Animation in Xamarin Forms
  • Testing in Emulators
  • Break (5 min)

Lesson 8: Building Web Applications Using ASP.NET Core MVC (40 min)

  • Understanding ASP.NET Core
  • Exploring an ASP.NET Core MVC Web Application
  • ASP.NET Core MVC Controllers
  • ASP.NET Core MVC Models
  • ASP.NET Core MVC Views
  • ASP.NET Core as Web Service
  • C# inside the browser: Blazor
  • Taking ASP.NET Core MVC Further
  • Break (5 min)
  • Lab 4: Xamarin interop with ASP.NET Web Services (20 min practice + 10 min solution)
  • Lesson 9: Future Steps (10 min)
  • What else you have to learn?
  • Q & A (10 min)