10266 - Programming in C# with Microsoft Visual Studio
10/25/2021 - 10/29/2021


COURSE COST: $2,495.00

COURSE TIMES: 9:00am - 4:30pm

Printable version of this course
Register for this course


The goal of this course is to provide students with the knowledge and skills they need to develop C# applications for the Microsoft .NET Platform. The course focuses on C# program structure, language syntax, and implementation details. C# was created to be the programming language best suited for writing enterprise applications for .NET. C# combines the high productivity of Microsoft Visual Basic with the raw power of C++. It is a simple, object-oriented, and type-safe programming language that is based on the C and C++ family of languages.


This course is intended for experienced developers who already have programming experience in C, C++, Visual Basic, or Java and understand the concepts of object-oriented programming. This course is not designed for new programmers; it is targeted at professional developers with at least 12 months experience of programming in an object-oriented environment.

Before attending this course, students must have:

  • At least 12 months experience working with an Object Oriented language
  • Have C++ or Java knowledge: Creating Classes, Inheritance and Abstraction, Polymorphism, Interfaces, Exceptions
  • Knowledge of the Visual Studio IDE.


*Course Cost listed does not include the cost of courseware or exam. Course is subject to a minimum enrollment to run. Course may run virtually as a Virtual Instructor-Led (VILT) class if the minimum enrollment is not met. If the course is under the minimum enrollment the course may run as 4 day class (Bootcamp Style). For more information, please contact learn@vtec.org or call 207-775-0244.


Module 1: Introducing C# and the .NET Framework
Introduction to the .NET Framework
Creating Projects Within Visual Studio 2010
Writing a C# Application
Building a Graphical Application
Documenting an Application
Running and Debugging Applications by Using Visual Studio 2010
Lab : Introducing C# and the .NET Framework

Module 2: Using C# Programming Constructs
Declaring Variables and Assigning Values
Using Expressions and Operators
Creating and Using Arrays
Using Decision Statements
Using Iteration Statements
Lab : Using C# Programming Constructs

Module 3: Declaring and Calling Methods
Defining and Invoking Methods
Specifying Optional Parameters and Output Parameters
Lab : Declaring and Calling Methods

Module 4: Handling Exceptions
Handling Exceptions
Raising Exceptions
Lab : Handling Exceptions

Module 5: Reading and Writing Files
Accessing the File System
Reading and Writing Files by Using Streams
Lab : Reading and Writing Files

Module 6: Creating New Types
Creating and Using Enumerations
Creating and Using Classes
Creating and Using Structs
Comparing References to Values
Lab : Creating New Types

Module 7: Encapsulating Data and Methods
Controlling Visibility of Type Members
Sharing Methods and Data
Lab : Encapsulating Data and Methods

Module 8: Inheriting From Classes and Implementing Interfaces
Using Inheritance to Define New Reference Types
Defining and Implementing Interfaces
Defining Abstract Classes
Lab : Inheriting From Classes and Implementing Interfaces

Module 9: Managing the Lifetime of Objects and Controlling Resources
Introduction to Garbage Collection
Managing Resources
Lab : Managing the Lifetime of Objects and Controlling Resources

Module 10: Encapsulating Data and Defining Overloaded Operators
Creating and Using Properties
Creating and Using Indexers
Overloading Operators
Lab : Creating and Using Properties
Lab : Creating and Using Indexers
Lab : Overloading Operators

Module 11: Decoupling Methods and Handling Events
Declaring and Using Delegates
Using Lambda Expressions
Handling Events
Lab : Decoupling Methods and Handling Events

Module 12: Using Collections and Building Generic Types
Using Collections
Creating and Using Generic Types
Defining Generic Interfaces and Understanding Variance
Using Generic Methods and Delegates
Lab : Using Collections
Lab : Building Generic Types

Module 13: Building and Enumerating Custom Collection Classes
Implementing a Custom Collection Class
Adding an Enumerator to a Custom Collection Class
Lab : Building and Enumerating Custom Collection Classes

Module 14: Using LINQ to Query Data
Using the LINQ Extension Methods and Query Operators
Building Dynamic LINQ Queries and Expressions
Lab : Using LINQ to Query Data

Module 15: Integrating Visual C# Code with Dynamic Languages and COM Components
Integrating C# Code with Ruby and Python
Accessing COM Components from C#
Lab : Integrating C# Code with Dynamic Languages and COM Components