.NET Development and Visual Studio // // CS215

CS215: C# Programming with Visual Studio

home > training > CS215: C# Programming with Visual Studio

CS215: C# Programming with Visual Studio


43 Student Comments

  • 4 Days
  • Taught by Dan Wahlin
  • Compatible with Microsoft Official Curriculum: MOC 20483
  • Replay™ Class Recordings Included
  • Microsoft SA Voucher Eligible
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
Dec 10 - Dec 13
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

Course Description

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, comments, conditionals and looping.  Next, classes and Object Oriented Programming (OOP) features found in C# are discussed so that students understand how to leverage concepts such as inheritance, abstraction, method overriding, overloading, generics, interfaces, and object hierarchies.  The course also shows several of the powerful language features available in C# including lambda expressions and Language Integrated Query (LINQ).  Other topics covered include data access technologies such as ADO.NET and Entity Framework.

By the end of the class students will understand all of the key components available in the C# language and learn how they can be used together to build applications. This class is created by Microsoft MVP Dan Wahlin.


Getting Started with the .NET Framework

What is the .NET Framework?

The role of the Common Language Runtime (CLR)

    • What is the CLR and what does it do in .NET?
    • .NET object-oriented language choices
    • Multi-language interoperability
    • Memory Management and Garbage Collection

.NET Compilation Model

    • Microsoft Intermediate Language (MSIL)
    • Just-in-Time compilation
    • Assemblies and Namespaces

The Base Class Library


Core Language Syntax

C# Fundamentals

    • Writing statements
    • Commenting Code
    • Value vs. Reference Types
    • C# Operators

Defining Variables, Constants, and Arrays in C#

    • Understanding variable scoping
    • Declaring variables
    • Declaring constants
    • Declaring arrays

Type Casting

Conditionals and Looping

    • if..else statements
    • switch statements
    • looping statements


Creating and Using Classes

  • What are classes?
  • What are objects?
  • Class members
  • Creating a class from scratch
  • Setting class member access visibility
  • Adding fields to a class
  • Adding properties
  • Adding methods
  • Adding constructors
  • The Role of Namespaces


Object-Oriented Programming

  • What is object-oriented programming?
  • Understanding Abstraction, Encapsulation, Polymorphism and Inheritance
  • Using abstract classes
  • Inheriting from base classes
  • Overriding members
  • Structured Exception handling
  • Creating a finally block


Working with Generics

  • What are Generics?
  • Creating objects using Generics
  • Defining a custom Generic type
  • Using the Nullable Struct
  • The default keyword
  • System.Collections.Generic Classes


Working with Interfaces

  • What are Interfaces?
  • Defining interfaces
  • Implementing interfaces
  • Interfaces and Polymorphism
  • Interfaces in the .NET Framework


Using the Base Class Library

  • Overview of functionality in the framework class library
  • Working with Dates and Times
  • Working with Strings
  • Getting Started with Threading


Using Language Integrated Query (LINQ)

  • What is Language Integrated Query (LINQ)
  • The role of anonymous types
  • LINQ Expressions
  • Lambda Expressions
  • Using LINQ to Objects


Data Access with ADO.NET and Entity Framework

  • Introduction to ADO.NET
  • Managed Provider Classes in ADO.NET
  • Introduction to Object-Relational-Modeling (ORM) Frameworks
  • Using Entity Framework and LINQ


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


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

What You Will Learn

After attending this course, students will know:

  • C# language fundamentals and core concepts
  • The role of classes, objects, namespaces and assemblies
  • Object-oriented principles
  • C# generics
  • The role interfaces play in .NET
  • .NET Base Class Libraries
  • LINQ and Lambdas
  • Data access with ADO.NET
  • Data access with Entity Framework

Student Comments (43)

August 9, 2018 | Student
Comments about enhancing the Courseware
"Nothing. One of the best classes I've ever taken"
August 9, 2018 | Student
Comments about the Physical Environment
"Did not really know about the remote live functionality. While I learn best in a in person environment, the remote live capability provides the next best thing and provides me potential for instruction if unable to travel."
August 9, 2018 | Student
Comments about the Instructor
"Dan was awesome! I've taken C# classes prior and none of them gave me the insight that this one did. In short, the others were a waste of money and left me more confused than I was before I walked into the class. After working with Dan, I have a much deeper understanding and am excited to jump in feet first."
August 9, 2018 | Student
Comments about the Instructor
"Skilled instructor. Clear with explanations, patient and knowledgeable."
August 9, 2018 | Student
Comments about enhancing the Courseware
"This was ideal. I would not change anything."