Virtual Live Instructor
Free Training Manual
Free Repeat
Course Description:
The C# Programming Level 2: Advanced Programming Techniques course is designed for students already familiar with C# programming will learn advanced C# techniques. This C# course is taught using C# 8.
Course Topics:
Target Student:
Students should have experience with C# and working knowledge of the skills covered in Core Skills: Level 1.
Prerequisites:
Students should know: how C# works and its place in the world of programming languages; its relationship with the Common Language Infrastructure and .NET Framework; C# data types and operators; how to write selection statements and loops; generic programming and working with collections; tools for processing data with C#; and error handling.
Advanced Topics
Delegates and events
Delegates
Events
Anonymous types
Tuples
The Tuple class
Value tuples
Pattern matching
The is expression
The switch expression
Regular expressions
Overview
Matching input text
Finding substrings
Replacing parts of a text
Extension methods
Resource Management
Garbage collection
Finalizers
The IDisposable interface
The using statement
Platform invoke
Unsafe code
Lambdas, LINQ, and Functional Programming
Functional programming
Functions as first-class citizens
Lambda expressions
LINQ
Standard query operators
Query syntax
More functional programming concepts
Partial function application
Currying
Closures
Monoids
Monads
Summary
Test what you learned
Reflection and Dynamic Programming
Understanding reflection
Dynamically loading assemblies
Understanding late binding
Using the dynamic type
Attributes
System attributes
User-defined attributes
How to use attributes?
Attribute targets
Assembly attributes
Attributes in reflection
Multithreading and Asynchronous Programming
What is a thread?
Creating threads in .NET
Using the ThreadPool class
Understanding synchronization primitives
The task paradigm
Synchronous implementations of asynchronous methods
Occasionally asynchronous methods
Breaking the task chain – blocking the thread
Manually creating a task
Long-running tasks
Breaking the task chain – fire and forget
Task and exceptions
Canceling a task
Monitoring the progress of a task
Parallelizing tasks
Signaling tasks with the TaskCompletionSource object
Synchronization context
C# in Action with .NET Core 3
Using the .NET command-line interface (CLI)
Developing on Linux distributions
Preparing the development box
Writing cross-platform aware code
What .NET Standard is and how can it help the application design
Creating a .NET Standard library
Consuming NuGet packages
Adding packages to a project
Migrating from .NET Framework to .NET Core
Analyzing your architecture
Preparing the migration process
Migrating the libraries
Migrating the tests
Migrating the desktop projects
Migrating ASP.NET project
Summing up the migration steps
Publishing an application
Publishing as an FDD
Publishing as an SCD
Understanding other publishing options
Unit Testing
What is unit testing?
What are Microsoft tools for unit testing?
Creating a C# unit testing project
Writing unit tests
Analyzing code coverage
The anatomy of a test
Writing data-driven unit tests
Data from attributes
Dynamic data
Data from external sources
Please check the course description to find prerequisite information.
We offer live-instructor group training classes for your team.
Upskill your team from the comfort of your office or online.
Benefits of Group Training Include:
This was the class I needed.
The instructor Jeff took his time and made sure we understood each topic before moving to the next. He answered all of our questions, and I don't know about the rest of the students, but was very pleased with this experience.
I finally understand how to use Excel.
-Amanda T (Yale New Haven Hospital).
Great class!
We were able to cover a lot of information in one day without getting overwhelmed.
-Maria R (Microsoft).
Instructor led training is a cost effective and convenient learning platform for busy professionals. Most courses are available at over 300 locations nationwide and Online.
The classes are taught via the RCI method by professionally certified instructors, and are usually limited to 12 or less students. Each student receives a training manual and practice problems, along with a free course retake. Click here to learn more about Instructor Led Training
Below is a list of upcoming Csharp Instructor Led Class Dates:
We offer private C# group training services for organizations looking to upskill their team members with a live-instructor.
Training options include:
Learn more about how C# Private Group Training from Business Computer Skills can help your team.