Welcome to ONLC Training Centers

C# Programming Level 2: Advanced Programming Techniques Course

Class Dates
(click date for class times)
(click Enroll for locations)

Fee:  $995

Savings options:

 Learning Credits
Need a price quote?

Follow the link to our self-service price quote form to generate an email with a price quote.

Need a class for a group?

We can deliver this class for your group. Follow the link to request more information.

Email Alert

Receive an email when this class is available as "Ready to Run" or "Early Notice" status.

Train from your home or office

If you have high-speed internet and a computer you can likely take this class from your home or office.


C# Programming Level 2: Advanced Programming Techniques Course

 

Overview

In this C# training course, students already familiar with C# programming will learn advanced C# techniques.

This advanced C# course is taught using C# 8.

Prerequisites

Students should have experience with C# and working knowledge of the skills covered in Core Skills: Level 1. Specifically, you 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.

For more information on the Level 1 course, go to:
C# Programming Level 1: Introduction for Programmers

COURSE OUTLINE

1 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

2 Resource Management

  • Garbage collection
  • Finalizers
  • The IDisposable interface
  • The using statement
  • Platform invoke
  • Unsafe code

3 Lambdas, LINQ, and Functional Programming

  • Functional programming
  • Functions as first-class citizens
  • Lambda expressions
  • LINQ
  • Standard query operators
  • Query syntax
  • Currying
  • Closures
  • Monoids
  • Monads

4 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

5 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

6 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

 

View outline in Word

XCS2NS

Attend hands-on, instructor-led C# Programming Level 2: Advanced Programming Techniques training classes at ONLC's nationwide locations. Not near one of our locations? Attend these same live classes from your home/office PC via our Remote Classroom Instruction (RCI) technology.

For additional training options, check out our list of Courses and select the one that's right for you.

GENERAL INFO

Class Format
Class Policies
Student Reviews


HAVE QUESTIONS?
First Name

Last Name

Company

Phone

Email

Location

Question/Comment



ONLC TRAINING CENTERS
800-288-8221
www.onlc.com