Course 461:
C# Programming with Visual Studio

(5 days)


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, lambda expressions, as well as introductory look at building ASP.NET applications.

Learning Objectives

  • C# language fundamentals
  • Object-oriented principles
  • C# generics and other C# features
  • Visual Studio productivity and debugging features
  • The role interfaces play in .NET
  • The role of classes, objects, namespaces, and assemblies
  • .NET base class libraries
  • Components of the .NET framework
  • Data access with ADO.NET
  • Working with multiple threads
  • LINQ and Lambdas
  • Fundamentals of using C# in ASP.NET applications

Who Should Attend

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


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

Course Outline

Chapter 1: 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

Chapter 2: C# Fundamentals

  • Compiling C# Applications
  • Introduction to Key Features in C#
    • Type-Safety
    • Structured Exception Handling
    • Inheritance
    • Method Overloading/Overriding
    • Events
    • Multi-Threading

Chapter 3: Visual Studio

  • Visual Studio Windows and Panels
  • Understanding Solutions and Projects
  • Visual Studio Feature Overview
  • Using Debugger Windows

Chapter 4: C# Language Syntax

  • C# Fundamentals
    • Writing Statements
    • Commenting Code
    • Value vs. Reference Types
    • C# Operators
  • Defining Variables, Constants, and Arrays in C#
    • What Is a Variable?
    • Understanding Variable Scoping
    • Declaring Variables
    • Declaring Constants
    • Declaring Arrays
  • Type Casting
  • Conditionals and Looping
    • .else Statements
    • Switch Statements
    • Looping Statements

Chapter 5: Classes

  • What Are Classes?
  • What Are Objects?
  • Class Members
  • Creating a Class from Scratch
  • Setting Class Member Access Visibility
  • Adding Constructors
  • Adding Fields to a Class
  • Adding Properties
  • Adding Methods
  • The Role of Namespaces

Chapter 6: Object-Oriented Programming

  • What Is Object-Oriented Programming?
  • Understanding Abstraction, Encapsulation, Polymorphism, and Inheritance
  • Using Abstract Classes
  • Overriding Member Methods
  • Overloading Methods
  • Structured Exception Handling
  • The Finally Block

Chapter 7: Generics

  • What Are Generics?
  • Creating Objects Using Generics
  • Defining a Custom Generic Type
  • Generic Constraints
  • Using the Nullable Struct
  • The Default Keyword
  • Collections.Generic Classes

Chapter 8: Working with Interfaces

  • What Are Interfaces?
  • Defining Interfaces
  • Implementing Interfaces
  • Interfaces and Polymorphism
  • Interfaces in the .NET Framework
  • Implementing IEnumerable

Chapter 9: Using the Base Class Library

  • Overview of Functionality in the Framework Class Library
  • Working with Dates and Times
  • Working with Strings
  • Threading Fundamentals

Chapter 10: Using Language Integrated Query (LINQ)

  • What Is Language Integrated Query (LINQ)?
  • The Role of Anonymous Types
  • LINQ Expressions
  • Lambda Expressions
  • Using LINQ to Objects

Chapter 11: Data Access Technologies

  • Introduction to ADO.NET
  • Managed Provider Classes in ADO.NET
  • NET Step by Step Walkthrough
  • Introduction to ORMs
  • Using Entity Framework

Chapter 12: (Bonus) Introduction to ASP.NET Programming with C#

  • NET Web Form Features
  • The Role of the Page Class
  • Handling Events
  • Using Server Controls
  • Creating and Using Master Pages

Please Contact Your ROI Representative to Discuss Course Tailoring!