Intermediate C# and .NET Programming


This custom 4 day course is a practical introduction to programming in C#, utilizing the services provided by .NET. This course emphasizes the C# language. It is current to Visual Studio 2013 and .NET 4.5.1. Important newer features such as dynamic data type, named and optional arguments, the use of variance in generic interfaces, and asynchronous programming keywords are covered in a final chapter. A supplement covers the fundamentals of Language Integrated Query (LINQ. The course includes an introduction to database programming using LINQ. And an emerging software engineering paradigm is test-driven development, where tests are written early and testing is performed continuously during the development process. Problems are discovered early and corrected when they are found. This course for developers explains the methodology of test-driven development and the use of the unit testing framework that comes with Visual Studio 2013.

Audience: Programmers who need to design and develop C# for the .NET framework.

Prerequisites: The student should be an experienced application developer or architect with a working knowledge of the fundamentals of C#.

Number of Days: 4 days


Course Outline


1. .NET Interfaces and Collections

  • Collections
  • Bank Case Study—Step 7
  • IEnumerable and IEnumerator
  • Copy Semantics and ICloneable
  • Comparing Objects
  • Generic Types
  • Type-Safe Collections
  • Object Initializers
  • Collection Initializers
  • Anonymous Types
  • Bank Case Study—Step 8


2. Delegates and Events

  • Delegates
  • Anonymous Methods
  • Lambda Expressions
  • Events


3. Introduction to Windows Forms

  • Creating a Windows Forms App
  • Partial Classes
  • Buttons, Labels and Textboxes
  • Handling Events
  • Listbox Controls


4. New Features in C# 4.0 and C# 5.0

  • Dynamic Data Type
  • Named Arguments
  • Optional Arguments
  • Variance in Generic Interfaces
  • Asynchronous Programming Keywords
  • Supplement 1. Language Integrated Query (LINQ)
  • What Is LINQ?
  • Basic Query Operators
  • Filtering
  • Ordering
  • Aggregation
  • Supplement 2. Unsafe Code and Pointers in C#
  • Unsafe Code
  • C# Pointer Type


5. .NET Fundamentals

  • What is Microsoft .NET?
  • Common Language Runtime
  • Attribute-Based Programming
  • Interface-Based Programming
  • Metadata
  • Common Type System
  • Framework Class Library
  • Language Interoperability
  • Managed Code
  • Assemblies and Deployment
  • Web Services


6. Class Libraries

  • Components in .NET
  • Building Class Libraries at the Command Line
  • Class Libraries Using Visual Studio
  • Using References


7. Debugging Fundamentals

  • Compile-time Errors and Run-time Errors
  • Configuring Debug, Release, and Special Builds
  • Visual Studio Debugger
  • Just-In-Time Debugging


8. Tracing

  • Tracing
  • Event Logs


9. More About Tracing

  • Using the BooleanSwitch and TraceSwitch Classes
  • Print Debugging Information with the Debug Class
  • Instrumenting Release Builds with the Trace Class
  • Using Listeners
  • Implementing Custom Listeners


10. Test-Driven Development

  • What Is Test-Driven Development (TDD)?
  • Functional Tests / Customer Tests
  • Unit Tests / Programmer Tests
  • Test Automation
  • Simple Design
  • Refactoring
  • A Visual Studio Test Drive
  • TDD with Legacy Code

To Hire a proven C# and .NET Programming Subject Matter Expert Consultant / Course Author and Instructor who teaches this class, call 800-798-3901 today!

Leave a Reply