Entre Technology Services, LLC.



CS215: C# Programming with Visual Studio

Upcoming Dates

Course CS215: C# Programming with Visual Studio

Course Specifications

Course Length: 4 days
Rate: $2,795
Registration: Call 406-256-5700 or email entretraining@entremt.com to register or to request customized training or group pricing.

About this Course

The C# Design and Application Patterns course teaches .NET developers how to apply best practices to their .NET applications. While a thorough understanding of the C# language is key to development success, developers should also understand how to write loosely-coupled code that is based upon proven best practices and patterns. By applying design and application patterns to the development process, more consistent, flexible and maintainable code can be written.

Audience Profile

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 roles 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

Course Outline

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 complilation
  • 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