Interested in a private company training? Request it here.
.NET is designed to be used for developing multiple types of applications. You'll get an overview of the applications you can build. You will also be introduced to the different flavors contained within .NET.
Gain a professional understanding of structuring .NET applications during the design phase with Visual Studio Solutions and Projects. Explore how your projects are compiled into assemblies and executed by the .NET Runtime, to gain a fundamental understanding of how .NET works.
Delve into the core principles of Object-Oriented Programming (OOP) with this module, which covers the foundational aspects of .NET programming. Learn to design and implement classes, the blueprints for objects, and understand how these objects are instantiated at runtime. This chapter will guide you through creating and manipulating variables for storing numerical data, text, and complex objects, and applying operators to them. Additionally, gain insights into structuring classes, encapsulating state and behavior in objects, and an introductory overview of debugging techniques within Visual Studio.
Whenever you instantiate an object from a class, it needs to be constructed. This module discusses how .NET handles this.
Whether you're trying to store numbers, text or objects, you need to put them into variables. These variables will inevitably end up somewhere in memory. Depending on the type of the variable, it will get stored in different kinds of memory, called the stack and the heap. This has consequences on the behavior of your variables as well as the overall performance of your program.
From time to time, you need some functionality that is not part of one object, but instead part of a complete class. This allows you to use methods without creating an object, or storing data that is reachable for every object. In .NET we call this static members and classes.
Explore the fundamental concept of inheritance in C# and its pivotal role in the architecture of .NET itself. We will see how we can use Inheritance to extend a class and add functionality to it. To help you a bit with a practical example, we'll create an ASP.NET Core MVC application to illustrate Inheritance.
On top of Inheritance in OO Programming comes the marvel known as Polymorphism. It allows us to add a different implementation for specific types, based on a generic definition of a function. With polymorphism this is an easy feat to accomplish.
Discover how abstract classes and interfaces in C# facilitate clear, flexible designs by establishing contracts for other classes to follow. This overview explores their roles in enforcing consistency and enabling polymorphic behaviors, vital for building scalable, maintainable software architectures.
Storing elements in a collection is crucial in programming languages. This chapter talks about some of the most fundamental collections in .NET.
In C#, you can consider two separate mechanisms when writing reusable code across different types: inheritance and generics. Where inheritance provides reusability with the concept of base types, generics express reusability by providing a template that contains type placeholders. Generics, in comparison to inheritance, can increase type safety and reduce the need for casting and boxing within your applications. This, in turn, can improve the performance of your code. This module will illustrate how and when to use generics in your .NET applications. We'll use a WPF application to illustrate Generics.
Whenever something unexpected happens, like the network going down, we want our programs to handle this behavior in a user-friendly way. With Exceptions we can react fittingly when these problems occur.
One of the more challenging aspects of .NET programming is to be able to store methods in a variable. That is exactly what delegates allow us to do. This concept is used with a lot of .NET concepts, like asynchronous programming, event handling, LINQ, ...
Events are based on delegates, allowing your application to react to something happening, like a button click. Because of this events are fundamental in UI development frameworks like WPF, .NET MAUI and Xamarin.
Asynchronous programming boosts application efficiency and responsiveness by enabling non-blocking operations and smoother user experiences. The async and await keywords are amongst the most commonly used language constructs in .NET. But surprisingly few people know how they actually work.
LINQ allows to use query-expressions that are very akin to SQL queries, but that can be applied to multiple types of data. This makes certain operations like filtering and sorting data very easy.
This course teaches you how to start programming with Visual Studio, C# and .NET. You will get familiar with the C# language syntax and .NET Object-Oriented Programming concepts, such as classes, objects, inheritance, polymorphism, ... In this course, you'll get a taste of the different types of applications and .NET libraries through examples in WPF, Entity Framework Core and ASP.NET Core.
This training targets developers with no or limited C# experience. A basic understanding of programming - in whatever language - is advised. Once you've finished this training, you can start your journey to learn building things like web applications, desktop or mobile apps, backends, games, IoT, bots, etc. All with C#.