C# Programming with Visual Studio

Course Description

The C# Programming with Visual Studio course provides developers with the skills and knowledge they'll need to succeed by providing an in-depth and hands-on analysis of different parts of the C# language. Techniques for maximizing productivity using Visual Studio are also covered such as code snippets, debugging techniques, visual database queries, and more.

The course begins by providing a look at the different components of the .NET framework and discusses the basic building blocks of the C# language including variables, conditionals and looping. Next, Object-oriented features found in C# are discussed so that students understand how to leverage concepts such as inheritance, method overriding, interfaces, and object hierarchies. The course also shows several of the exciting language features available in C# including lambda expressions and LINQ to Objects. Other topics covered include data access technologies and lambdas expressions.

This course is taught by Dan Wahlin (a member of the Microsoft MVP and Regional Directors groups).

Course Length:

4 Days


This course is designed for software developers with previous programming experience using a programming language such as Visual Basic, C++, Java or other languages.


This course is valuable for developers who are interested in building applications using the C# programming language.

Course Outline:

  • Getting Started with the .NET Framework
    • What is the .NET Framework?
    • The role of the Common Language Runtime (CLR)
    • .NET Compilation Model
    • Assemblies and Namespaces Overview
  • Language Syntax
    • C# Fundamentals
    • Defining Variables, Constants and Arrays
    • Type Casting
    • Conditionals and Looping
  • Building Classes
    • What is a Class?
    • Creating and Instantiating Classes
    • Defining Fields and Properties
    • Defining Methods
    • Defining Constructors
    • Events and Event Handlers
    • The Role of Namespaces
  • Object-Oriented Programming
    • What is Object-Oriented Programming (OOP)?
    • Object-Oriented Programming Concepts
    • Method Overloading
    • Method Overriding
    • Exception Handling
  • Generics
    • Why do we need Generics?
    • Templates and Generics
    • The default Keyword and Nullable Types
    • System.Collections.Generic Namespace
  • Interfaces
    • What is an Interface?
    • Creating Interfaces
    • Implementing Interfaces
    • Leveraging .NET Framework Interfaces
  • Base Class Library
    • The Base Class Library (BCL)
    • Working with Dates and Times
    • Working with Strings
    • Working with Threads
  • Using Language Integrated Query (LINQ)
    • What is LINQ?
    • Extension Methods
    • Lambda Expressions
    • Using LINQ
  • Data Access Technologies
    • Data Access Options
    • ADO.NET Providers and Classes
    • Using DataAdapter and DataSet
    • Entity Framework

Private Onsite/Online Pricing for Development Teams

4-day class is $19,000 for up to 24 students (plus travel costs for onsite classes).

The course pricing includes student access to an electronic version of the course manual, lab manual, sample code and lab code. Courses can also be customized if you'd like to run a shorter or longer version of the course.

Contact Us if you'd like to schedule a class for your development team or if you have any questions.

Public Classes

Although we don't offer public training classes for individuals, we partner with Interface Technical Training and they offer instructor-led classes in Phoenix, AZ or online through their RemoteLive technology.

Training Courseware

Contact Us about licensing our courseware (slides, course manual, lab manual and code) for your own training courses.


Join Our Development Newsletter!