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 .NET Core 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 and introductory look at data access technologies.

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


Dan Wahlin

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 .NET
    • What is the .NET Framework and .NET Core?
    • 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

Class pricing is based on the number of class days and number of students in class. We normally allow up to 24 students per class.

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.

If you'd like more information on pricing or want to schedule a class for your development team please contact us and we'll be happy to provide addition details.

Contact Us

Public Classes

We don't offer public classes or one-on-one classes for individuals. For public classes 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!