Course subjects
Module 1: C# Syntax
Microsoft .NET 6 provides a comprehensive development platform that you can use to build, deploy, and manage applications and services. By using .NET, you can create visually compelling applications, enable seamless communication 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 Microsoft Visual Studio. You’ll also learn about some of the core C# constructs that enable you to start developing .NET applications.
Lessons
Lab 1: Developing the Class Enrolment Application
Module 2: C# Language Concepts
Applications often consist of logical units of functionality that perform specific functions, 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 functionality. Although a good practice 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 application when an exception occurs in a method.
Lessons
Methods
Method Overloading
Exception Handling
Monitoring
Lab 1: Extending the Class Enrolment Application
Refactor code to facilitate reusability.
Write C# code that validates data entered by a user.
Write C# code that saves changes back to a database.
Module 3: C# Structures, Collections and Events
To create effective applications 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 organise these structures into collections, 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 actions of your users.
Lessons
Structs
Enums
Built-in Collections
Events
Lab 1: Building the Grades Prototype Application
Structs
Enums
Built-in Collections
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 collections of any type.
Lessons
Lab 1: Adding Data Validation to the Application
Module 5: C# Inheritance
In this module, you’ll learn how to use inheritance to create class hierarchies and to extend .NET types.
Lessons
Hierarchies of Classes
Polymorphism
Extending Classes
Lab 1: Refactoring
Hierarchies of Classes
Polymorphism
Extending Classes
Module 6: Input and Output
In this module, you’ll learn how to read and write data by using transactional filesystem I/O operations, how to serialise and deserialise data to the filesystem, and how to read and write data to the filesystem by using streams.
Lessons
Lab 1: Creating the Grades Report
Module 7: Database Access
In this module, you’ll learn how to use Entity Framework and how to query many types of data by using Language-Integrated Query (LINQ).
Lessons
Lab 1: Updating Grade Data
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
Web Services
REST and OData
ASP.NET Core MVC
Module 9: Graphical User Interfaces
In this module, you’ll learn how to use Extensible Application Markup Language (XAML) and Windows Presentation Foundation (WPF) to create engaging UIs.
Lessons
Using UI Frameworks
Data binding
Styling the UI
Lab 1: Adding a Graphical User Interface
Using UI Frameworks
Data binding
Styling the UI
Module 10: Application Performance
In this module, you’ll learn how to improve the performance of your applications by distributing your operations across multiple threads.
Lessons
Multitasking
Asynchronous Calls
Dealing with Conflicts
Lab 1: Performance Tuning
Multitasking
Asynchronous Calls
Dealing with Conflicts
Module 11: C# Interop
In this module, you’ll learn how to interoperate with unmanaged code in your applications and how to ensure that your code releases any unmanaged resources.
Lessons
Dynamic Objects
Managing Resources
Lab 1: Working with Word
Dynamic Objects
Managing Resources
Module 12: Designing for Reuse
In this module, you’ll learn how to consume existing assemblies by using reflection, and how to add additional metadata to types and type members by using attributes. You’ll also learn how to generate code at runtime by using the Code Document Object Model (CodeDOM) and how manage your .NET assemblies.
Lessons
Lab 1: Managing the Grades Report Assembly
Metadata
Attributes
Generating Code
Assemblies