Module 1: C# Syntax
Microso� .NET 6 provides a comprehensive development pla�orm that you can use to build, deploy, and manage
applica�ons and services. By using .NET, you can create visually compelling applica�ons, enable seamless communica�on
across technology boundaries, and provide support for a wide range of business processes.
In this module, you’ll learn about some of the core features provided by.NET and Microso� Visual Studio. You’ll also learn
about some of the core C# constructs that enable you to start developing .NET applica�ons.
Lessons
• Lesson 1: Wri�ng Applica�ons in C# and .NET
• Lesson 2: Types of Data and Expressions
• Lesson 3: C# Language Constructs
Module 2: C# Language Concepts
Applica�ons o�en consist of logical units of func�onality that perform specific func�ons, such as providing access to data
or triggering some logical processing. C# is an object-orientated language and uses the concept of methods to
encapsulate logical units of func�onality. Although good prac�ce is to have methods that do just one thing, they can be
as simple or as complex as you like. It is also important to consider what happens to the state of your applica�on when
an excep�on occurs in a method.
In this module, you’ll learn how to create and use methods and how to handle excep�ons. You’ll also learn how to use
logging and tracing to record the details of any excep�ons that occur.
Lessons
• Lesson 1: Methods
• Lesson 2: Method Overloading
• Lesson 3: Excep�on Handling
• Lesson 4: Monitoring
Module 3: C# Structures, Collec�ons and Events
To create effec�ve applica�ons, you must first learn some fundamental C# constructs. You need to know how to create
simple structures to represent the data items you are working with. You need to know how to organize these structures
into collec�ons, so that you can add items, retrieve items, and iterate over your items. Finally, you need to know how to
subscribe to events so that you can respond to the ac�ons of your users.
In this module, you’ll learn how to create and use structs and enums, organize data into collec�ons, and create and
subscribe to events.
Lessons
• Lesson 1: Structs
• Lesson 2: Enums
• Lesson 3: Built-in Collec�ons
• Lesson 4: Events
Module 4: C# Classes
In this module, you’ll learn how to use interfaces and classes to define and create your own custom, reusable types.
You’ll also learn how to create and use enumerable type-safe collec�ons of any type.
Lessons
• Lesson 1: Crea�ng Classes
• Lesson 2: Interfaces
• Lesson 3: Understanding Generics in C#
Module 5: C# Inheritance
In this module, you’ll learn how to use inheritance to create class hierarchies and to extend .NET types.
Lessons
• Lesson 1: Hierarchies of Classes
• Lesson 2: Polymorphism
• Lesson 3: Extending Classes
Module 6: Input and Output
In this module, you’ll learn how to read and write data by using transac�onal filesystem I/O opera�ons, how to serialize
and deserialize data to the filesystem, and how to read and write data to the filesystem by using streams.
Lessons
• Lesson 1: File I/O
• Lesson 2: Serializa�on and Deserializa�on
• Lesson 3: Streams
Module 7: Database Access
In this module, you’ll learn how to use En�ty Framework and how to query many types of data by using LanguageIntegrated Query (LINQ).
Lessons
• Lesson 1: En�ty Framework
• Lesson 2: LINQ
Module 8: Using the Network
In this module, you’ll learn how to use the request and response classes in the System.Net namespace to directly
manipulate remote data sources. You’ll also learn about REST and OData and look briefly at ASP.NET Core MVC.
Lessons
• Lesson 1: Web Services
• Lesson 2: REST and OData
• Lesson 3: ASP.NET Core MVC
Module 9: Graphical User Interfaces
In this module, you’ll learn how to use Extensible Applica�on Markup Language (XAML) and Windows Presenta�on
Founda�on (WPF) to create engaging UIs.
Lessons
• Lesson 1: Using UI Frameworks
• Lesson 2: Data binding
• Lesson 3: Styling the UI
Module 10: Applica�on Performance
In this module, you’ll learn how to improve the performance of your applica�ons by distribu�ng your opera�ons across
mul�ple threads.
Lessons
• Lesson 1: Mul�tasking
• Lesson 2: Asynchronous Calls
• Lesson 3: Dealing with Conflicts
Module 11: C# Interop
In this module, you’ll learn how to interoperate with unmanaged code in your applica�ons, and how to ensure that your
code releases any unmanaged resources.
Lessons
• Lesson 1: Dynamic Objects
• Lesson 2: Managing Resources
Module 12: Designing for Reuse
In this module, you’ll learn how to consume exis�ng assemblies by using reflec�on, and how to add addi�onal metadata
to types and type members by using atributes. You’ll also learn how to generate code at run�me by using the Code
Document Object Model (CodeDOM) and how to manage your .NET assemblies.
Lessons
• Lesson 1: Metadata
• Lesson 2: Atributes
• Lesson 3: Genera�ng Code
• Lesson 4: Assemblies
Module 13: Securing Data
In this module, you’ll learn how to use the cryptography classes provided by .NET. You’ll implement symmetric and
asymmetric encryp�on, and learn how to use hashes to generate mathema�cal representa�ons of your data. You’ll also
learn how to create and manage X509 cer�ficates and how to use them in the asymmetric encryp�on process.
Lessons
• Lesson 1: Applica�on Security
• Lesson 2: Symmetric Encryp�on
• Lesson 3: Asymmetric Encryp�on