Please note that course agenda, topics and labs are subject to adjust during live delivery in response to student skill level, interests and participation.
Module 1: Review of C# Syntax & New Features
The .Net (Core) provides a comprehensive development platform that you can use to build, deploy, and manage applications and services. By using the .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 will learn about some of the core C# constructs that enable you to start developing .Net applications.
After completing this module, students will be able to:
- Describe the architecture of .NET applications and the features that Visual Studio and C# provide.
- Use basic C# data types, operators, and expressions.
- Use standard C# constructs.
Lessons
- Visual Studio Projects
- .Net Core vs .Net Framework
- Top-level statements (new)
- Creating a simple console application
- Global Usings (new)
Module 2: Creating Methods, Handling Exceptions, and Monitoring Applications
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. A method can be as simple or as complex as you like. In this module, you will learn how to create and use methods and how to handle exceptions. You will also learn how to use logging and tracing to record the details of any exceptions that occur.
After completing this module, students will be able to:
- Create and invoke methods.
- Create overloaded methods and use optional parameters.
- Handle exceptions.
- Monitor applications by using logging, tracing, and profiling
Lessons
- Creating and Invoking Methods
- Creating Overloaded Methods and Using Optional and Output Parameters
- Handling Exceptions
- Using log & trace
Module 3: Basic types and constructs of C#
To create effective applications, you must first learn some basic 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 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.
In this module, you will learn how to create and use structs and enums, organize data into collections, and create and subscribe to events.
After completing this module, students will be able to:
- Create and use structs and enums.
- Use collection classes to organize data.
- Create and subscribe to events.
Lessons
- Implementing Structs and Enums
- Organizing Data into Collections
- Handling Events
Module 4: Creating Classes and Implementing Type-Safe Collections
In this module, you will learn how to use interfaces and classes to define and create your own custom, reusable types. You will also learn how to create and use enumerable, type-safe collections of any type.
After completing this module, you will be able to:
- Create and instantiate classes.
- Create and instantiate interfaces.
- Use generics to create type-safe collections.
Lessons
- Creating Classes
- Defining and Implementing Interfaces
- Implementing Type-Safe Collections
Module 5: Creating a Class Hierarchy by Using Inheritance
In this module, you will learn how to use inheritance to create class hierarchies and to extend .Net types.
After completing this module, you will be able to:
- Create base classes and derived classes by using inheritance.
Lessons
- Creating Class Hierarchies
Module 6: Reading and Writing Local Data
In this module, you will learn how to read and write data by using transactional file system I/O operations, how to serialize and deserialize data to the file system, and how to read and write data to the file system by using streams.
After completing this module, you will be able to:
- Read and write data to and from the file system by using file I/O.
- Convert data into a format that can be written to or read from a file or other data source.
- Use streams to send and receive data to or from a file or data source.
Lessons
- Reading and Writing Files
- Serializing and Deserializing Data
- Performing I/O by Using Streams
Module 7: Accessing a Database
In this module, you will learn how to use Entity Framework and how to query many types of data by using Language-Integrated Query (LINQ).
After completing this module, you will be able to:
- Create, use, and customize an EF Context.
- Query data by using LINQ.
Lessons
- Creating and Using Entity Data Models
- Querying Data by Using LINQ
Module 8: Accessing Remote Data
In this module, you will learn how to use the request and response classes in the System.Net namespace to indirectly manipulate remote data sources.
After completing this module, you will be able to:
- Send data to and receive data from web services and other remote data sources.
Lessons
- Accessing Data Across the Web
Module 9: Designing the User Interface for a Graphical Application
In this module, you will learn how to use Maui, Blazor, and or HTML based Web applications.
After completing this module, you will be able to:
- Create a Maui application
- Create a Blazor application
- Create an ASP.Net application
Module 10: Improving Application Performance and Responsiveness
In this module, you will learn how to improve the performance of your applications by distributing your operations across multiple threads.
After completing this module, you will be able to:
- Use Tasks to implement multitasking.
- Perform long-running operations without blocking threads.
- Control how multiple threads can access resources concurrently.
- Understand the use of async/await
Lessons
- Using and coordinating Threads
- Using Tasks
- Using async/await
Module 11: Creating Reusable Types and Assemblies
In this module, you will learn how to consume existing assemblies by using reflection and how to add additional metadata to types and type members by using attributes.
After completing this module, you will be able to:
- Use reflection to inspect and execute code.
- Create and consume custom attributes.
Lessons
- Examining Object Metadata
- Creating and Using Custom Attributes