New Year, New C# Advanced Course with custom options for groups
In May 2023 we announced a significant update to our Introduction to C# Programming course, which has been very well received by a variety of clients. It's 9 months later and we're pleased to announce the imminent birth of a (more advanced) sibling!
15-01-2024
Welcome to the .NET family, Advanced C# 11 Programming Training Course!
The follow-on C# Advanced Programming course weighs in at a very healthy 4 days duration. It can also be highly customised to your requirements with several additional modules available that can take the total duration up to 9 days training.
The advanced C# course is something of a Smörgåsbord
We have put together more topics than really fit into the average 4-day course, and that's because we want you to have plenty of choice when it comes to building the perfect course to improve your team's skills in .NET development with C#. Here are the topics you'll find on our standard scheduled C# advanced programming course.
Microsoft use the following phrase to describe a design pattern: "Patterns test that a value has a certain shape, and can extract information from the value when it has the matching shape.” This topic of the advanced course covers pattern matching with constant patterns, discard patterns, variable patterns, relational patterns, tuple patterns, property patterns and type patterns by leveraging the power of the switch operator introduced in C# 8.
Text manipulation is one of the most common tasks in programming with virtually all major programming languages supporting regular expressions via their standard libraries. Regular expressions have been part of C# for a long time and are used throughout the .NET platform and many of the apps built with it. As such, they have a significant impact on performance, but until recently, they have not received much optimisation attention from Microsoft. This has all changed. Although you can still write poorly performing regexes the underlying engine has undergone significant performance improvements. This topic in the advanced course explains how to use the regular expression object model in C#.
Multithreading & parallel processing are techniques that can be used to reduce the duration of a job by breaking it down into smaller taks using a number of techniques including threads, tasks, the parallel class and PLINQ. The topic also covers the .NET features available for thread synchronisation & concurrent resource protection.
Databases are catered for by several topics including high performance ADO.NET, Entity Framework (EF) .NET as well as the more modern EF Core. ADO .NET is based on the older ActiveX Data Objects pre .NET technology that was adapted and converted to .NET. The first version of Entity Framework appeared in .NET Framework 3.5. The last version is EF 6.4. Although the classic version of EF is still supported, Microsoft currently have no plans to end support for this version. However, no new development will take place on it & only security bug fixes will be addressed. All new database application development should be done using the latest EF Core libraries. Since all 3 tools are very current they are all covered by the advanced C# course.
Here are the additional optional toppings...
If you are looking to mix and match topics to ensure your training course is absolutely relevant to your project and learning goals, you can cherry-pick from the above or the below modules, and have it delivered straight to your door...or online communication platform of choice!
Dynamic programming, C# is a statically typed language but it also has (sometimes overlooked) dynamic features. This topic will teach you to use dynamic C# to make some difficult and cumbersome programming tasks easier and allow you to create more flexible C# applications. It does, however come with penalties including performance, & lack of compile time checking.
Integrating managed C# code with unmanaged code such as C++ libraries is covered by an optional advanced course topic. Unmanaged code poses all sorts of issues for .NET, not least the fact that unmanaged code cannot use the garbage collector. This topic investigates the issues & describes some solutions & work arounds.
Design Patterns in the object-oriented world are a reusable solution to common software design problems that repeatedly occur in real-world application development. It is a template or description of how to solve problems that can be used in many situations. This module lists the design patterns documented by the "Gang of Four” and expands on several of the more widely used patterns.
Reflection is the process of describing the metadata of types, methods and fields in a code. The namespace System.Reflection enables you to obtain data about the loaded assemblies, the elements within them like classes, methods and value types. You can also use reflection to emit metadata and Microsoft intermediate language (MSIL) at run time and optionally generate a portable executable (PE) file on disk.
C# uses attributes for many purposes. Atrributes are used in C# to convey declarative information or metadata about various code elements such as methods, assemblies, properties, types, etc. Attributes are added to the code by using a declarative tag that is placed using square brackets ([ ]) on top of the required code element. As well as the built-in .NET attributes you can create your own custom attributes & query them using reflection. This topic describes an example of doing that.
Code Document Object Model or CodeDOM for short is a .NET Framework tool that enables developers of programs that emit source code to generate source code in multiple programming languages at run time, based on a single model that represents the code to render. To represent source code, CodeDOM elements are linked to each other to form a data structure known as a CodeDOM graph, which models the structure of some source code. There are currently no plans to implement codeDOM in .NET core, this topic takes a brief look at the alternatives.
Summary
Whether you just need the standard advanced C# programming course or a customised course with some or all of the optional features this new-born course from Framework Training should meet your requirements.
Should you require any additional topics, these can also be incorporated into a customised course provided enough notice is given. The advanced C# Programming course will be available from March 2024.
To help raise awareness of challenges and vulnerabilities and ways to reduce risk, we've got a bumper crop of cyber security blog articles. We've also got a robust range of hands-on training courses covering security for non-technical staff and IT professionals
We use cookies on our website to provide you with the best user experience. If you're happy with this please continue to use the site as normal. For more information please see our Privacy Policy.