.NET Development and Visual Studio // // CS314

CS314: Advanced C# Programming with Visual Studio

home > training > CS314: Advanced C# Programming with Visual Studio

CS314: Advanced C# Programming with Visual Studio


9 Student Comments

  • 5 Days
  • Replay™ Class Recordings Included
Interface Gold™This is an Interface Gold™ class date delivered live at our Phoenix location. Online attendees will have access to our RemoteLive™ platform. Replay™ class recordings are included.
Online Virtual
Attend in Person Phoenix Location
Feb 12 - Feb 16
8AM - 4PM (PHX)
GTRThis class date is Guaranteed to Run and will not change.
REPLAYThis class date includes Interface Replay™ class recordings, available for online viewing 1 hour after each class day ends.
Attend Live Online/Virtual
Attend in Person Phoenix Location

Do you need a class sooner? We can also offer additional dates through our partners! It's not Interface Gold™ but it's a great choice if your schedule is not flexible.

Request A Date

Course Description

The Advanced C# Programming course provides students with the knowledge and skills needed to develop applications using .NET Framework technologies with C# and Visual Studio. Students start with an accelerated language review, followed by core features of the Foundation Class Libraries (FCL), CLR memory management, events and delegates, async tasks, and dependency injection techniques. The class then covers development topics such as working with different System.IO classes, parsing XML data, and creating Windows Services. Finally, the course covers serializing data, exchanging data using WCF services, security classes, and transaction management.

Course Outline

1. Accelerated C# Concepts

  • Object Oriented Programming
  • Abstraction
  • Polymorphism
  • Inheritance
  • Encapsulation
  • Type Conversions
  • Operator Overloading
  • Using Attributes

2. Best Practices

  • Exception Management
  • String Manipulation
  • Thread Synchronization
  • Generics and Constraints

3. CLR Memory Management

  • The Common Type System
  • Understanding CLR Generations
  • The role of IDisposable
  • Using the CLR Profiler

4. Foundation Class Library Features

  • System.IO Classes
  • Using System.Net Classes
  • Pattern Matching with RegEx
  • Dynamic Code Inspection/Invocation with Reflection

5. Conditional Compilation

  • Defining Debug Symbols
  • Conditional Compilation using the Conditional Attribute

6. Events and Delegates

  • What are Events, Delegates and Event Handlers?
  • Working with Delegates and Events
  • Creating Custom EventArgs Classes
  • Using Lambda Expressions
  • Using Func<T,TResult>
  • The async and wait keywords

7. Using Dependency Injection

  • What is Dependency Injection (DI)?
  • What is an IoC container?
  • The Role of Interfaces
  • Dependency Injection Techniques
  • Using an Ioc Container for DI

8. Monitoring, Debugging and Tracing

  • Using the Debugger Class
  • Tracing Operations
  • Performance Counters

9. Working with XML Data

  • Using System.Xml Classes
  • Using XML APIs
  • Monitoring XML files using Windows Services and the FileSystemWatcher

10. Serializing Data

  • Binary serialization
  • XML Serialization

11. .NET Security and Cryptography

  • Symmetric and Asymmetric Encryption Techniques
  • WindowsPrincipal and GenericPrincipal

12. Exposing Data with WCF

  • Web Services Architecture
  • Creating and Consuming a WCF Service
  • Self-Hosted Services
  • Modifying WCF Bindings
  • Debugging Services

13. Working with Transactions

  • Getting Started with Transactions
  • ADO.NET Transactions
  • Using TransactionScope


This course is valuable for developers who are interested in enhancing their existing C# programming skills.


It is highly recommended that students take the C# Programming course before taking this course or have at least 6 months of hands-on programming experience with C# and feel comfortable working with C# syntax.

Before taking this course, students should successfully complete the following course or have equivalent experience:

CS214: C# Programming with Visual Studio

What You Will Learn

  • Learn best practices
  • Review Object-oriented principles
  • Learn how to build classes with custom events and delegates
  • Understand how Func<T, TResult> and Action<T> can be used
  • Understand the role of dependency injection
  • Learn more about how the CLR manages memory
  • Write asynchronous code with async and await
  • Learn how to selectively compile code
  • Drill into .NET XML parsing APIs
  • Build distributed applications using Windows Communication Foundation (WCF)
  • Apply transaction management technique


April 21, 2017 | CS314 Student
Comments about the Instructor
"Dan is extremely knowledgeable in his profession and explains things very well!!"
April 21, 2017 | CS314 Student
Comments about the Instructor
"I like Dan presenting skill and knowledge of the subject. As he provide real life example makes thing very easy to understand. Understand everything and hope my company will send me here again for other training with Dan."
September 23, 2016 | CS314 Student
Comments about the Instructor
"Second time with Dan excellent instructor."
September 23, 2016 | CS314 Student
Comments about the Instructor
"Dan understood and explained the material and was very responsive to questions. Was a pleasure to be apart of the class."
September 23, 2016 | CS314 Student
Comments about the Instructor
"cool dude, very knowledgeable, very helpful"