Skip Ribbon Commands
Skip to main content

MS-2609 - Introduction to C# Programming with Microsoft.NET


Duration: 5 Days




Delivery Method:

Software Assurance Value:

Microsoft CPE:

Course Information

Course Description

In this 5-day instructor-led course, developers with programming experience in a non-graphical environment-as well as developers with limited programming experience in a graphical environment-learn the fundamental skills that are required to design and develop object-oriented applications for the Web and Microsoft Windows by using C# and the Microsoft Visual Studio .NET development environment.

This course is complementary to Course 2124, Introduction to C# Programming for the Microsoft .NET Platform, and Course 2555, Developing .NET Windows Applications with C#.
Course 2124 provides an entry point into the curriculum for experienced developers who already have programming experience in C, C++, Microsoft Visual Basic , or Java and are moving to C# and .NET. This course provides an alternative entry point for less experienced programmers who are not familiar with object-oriented design and programming with Windows or the Web.
Course 2555 teaches experienced programmers how to develop Windows-based applications by using Windows Forms. Course 2555 is a logical next step for students who have attended Course 2609.

Course Objectives

After completing this course, students will be able to:

  • Explain the .NET platform.
  • Configure and use Visual Studio .NET.
  • Program with C#.
  • Implement methods.
  • Implement encapsulation, inheritance, and polymorphism in C#.
  • Use C# within the .NET Framework.
  • Use Microsoft ADO.NET to access and manipulate data in a database.
  • Create feature-rich Windows-based applications.
  • Create a Web application by using Web Forms.
  • Use XML Web services in a C# application.
  • Experiment with more advanced features of C#.

Course Audience

This course is intended for the following classes of developers:

  • New developers
  • Developers who understand computer programming but may have learned programming by using a non-graphical language in a university
  • Corporate application developers
These developers want to build solutions by using C#; use the Microsoft .NET Framework and C# in addition to Microsoft Visual Basic and the Managed Extensions for Microsoft Visual C++; and eventually write highly functional Web and Windows-based applications and XML Web services.

Course Outline

Module 1: Getting Started

This module presents the concepts that are central to the Microsoft .NET Framework and platform, the Microsoft Visual Studio .NET integrated development environment (IDE), describes how to work in the development environment, and explains how to use Visual Studio .NET to create and build applications based on Microsoft .NET.
  • Introduction to .NET and the .NET Framework
  • Exploring Visual Studio .NET
  • Creating a Windows Application Project
After completing this module, students will be able to:
  • Identify components of the .NET platform and the .NET Framework by their function.
  • Explore the Visual Studio development environment.
  • Create a basic application based on Microsoft Windows.


Module 2: Understanding C# Language Fundamentals

This module explains the syntax and structure of the C# programming language. These topics are essential for students to understand in order to be successful in the remainder of the course; however, it is likely that most students will come into the class with some experience applying these concepts in other languages.
  • Understanding the Fundamentals of a C# Program
  • Using C# Predefined Types
  • Writing Expressions
  • Creating Conditional Statements
  • Creating Iteration Statements
Lab 2.1: Writing a Savings Account Calculator
  • Write a Savings Calculator
  • Extending the Savings Calculator
After completing this module, students will be able to:
  • Understand the fundamentals of a C# program
  • Use C# predefined types
  • Write expressions
  • Create conditional statements
  • Create iteration statements


Module 3: Creating Objects in C#

This module introduces the fundamentals of object-oriented programming, including the concepts of objects, classes, and methods.
  • Defining a Class
  • Declaring Methods
  • Using Constructors
  • Using Static Class Members
Lab 3.1: Creating Classes in C#
  • Creating the Bank Account Objects
After completing this module, students will be able to:
  • Define a class
  • Declare methods
  • Use constructors
  • Use static class members

Module 4: Implementing Object-Oriented Programming Techniques in C#

This module introduces the fundamentals of object-oriented programming, including the concepts of objects, classes, and methods.
  • Designing Objects
  • Using Inheritance
  • Using Polymorphism
Lab 4.1: Creating Classes in C#
  • Creating the Bank Account Objects
After completing this module, students will be able to:
  • Encapsulate information in an object.
  • Create an object that inherits functionality from another object.
  • Implement polymorphism to use abstract classes.


Module 5: Programming with C#

This module introduces various data structures, including arrays (the System.Array class) and collections (classes in the System.Collections namespace), and explains when to use each of these data structures in an application. The module also introduces interfaces, describes the concepts and syntax of exception handling, and explains delegates and their use in event handling.
  • Using Arrays
  • Using Collections
  • Using Interfaces
  • Using Exception Handling
  • Using Delegates and Events
Lab 5.1: Using Arrays
  • Sorting Numbers in an Array
Lab 5.2 (optional): Using Indexers and Interfaces
  • Writing the Check Pick-up Application
  • Using Interfaces
Lab 5.3 (optional): Using Delegates and Events
  • Working with Events and Delegates
After completing this module, students will be able to:
  • Create and use arrays.
  • Use classes in the System.Collections namespace.
  • Use the ArrayList class.
  • Use interfaces.
  • Handle exceptions.
  • Create and call a delegate.
  • Use delegates to handle events.


Module 6: Building .NET-based Applications with C#

This module presents the Microsoft .NET Framework class library, the Object Browser, and methods that are inherited from the System.Object class. This module also explains how to format strings and numbers and how to use streams and files.
  • Examining the .NET Framework Class Library
  • Overriding Methods from System.Object
  • Formatting Strings and Numbers
  • Using Streams and Files
Lab 6.1: Using Streams
  • Converting a Binary File to a Text File
After completing this module, students will be able to:
  • Identify a namespace in the .NET Framework class library by its function.
  • Override and implement the ToString method.
  • Format strings, currency, and date values.
  • Read and write both binary and text files.


Module 7: Using ADO.NET to Access Data

This module explains how to use Microsoft ADO.NET and the objects in the System.Data namespace to access data in a database. It describes how to create an application based on Microsoft Windows that uses ADO.NET. This module also describes how to use that application to connect to a database, create a query, and use a DataSet object to manage the data, bind data to controls, and insert, update, and delete records in a database.
  • ADO.NET Architecture
  • Creating an Application That Uses ADO.NET to Access Data
  • Changing Database Records
Lab 7.1: Creating a Data Access Application with ADO.NET
  • Creating a Simple Database Table Viewer
  • Writing a Simple Database Table Viewer
  • (If time permits): Creating a Simple Database Table Viewer
Lab 7.2 (optional): Creating a Windows Application That Uses ADO.NET
  • Creating a Windows Application That Uses ADO.NET
  • (If time permits): Writing an ADO.NET Application with Windows Forms
After completing this module, students will be able to:
  • Describe ADO.NET.
  • Create a Windows-based application that uses ADO.NET.
  • Connect to a database.
  • Create a query.
  • Use a DataSet object to manage data.
  • Bind a DataGrid object to a data source.
  • Insert, update, and delete a database record.


Module 8: Creating Windows-based Applications

This module describes how to create menus, common and custom dialog boxes, status bars, and toolbars to enhance the usability of an application based on Microsoft Windows. The purpose of this module is to allow the students to apply their newly acquired C# language skills and develop useful Windows-based applications.
  • Creating the Main Menu
  • Creating and Using Common Dialog Boxes
  • Creating and Using Custom Dialog Boxes
  • Creating and Using Toolbars
  • Creating the Status Bar
  • Creating and Using Combo Boxes
Lab 8.1: Building Windows Applications
  • Adding Common Dialog Boxes to an Application
  • Creating and Using Custom Dialog Boxes
  • Creating a Status Bar
  • (If Time Permits): Using ComboBox Controls
After completing this module, students will be able to:
  • Create the main menu.
  • Create and use common dialog boxes.
  • Create and use custom dialog boxes.
  • Create and use toolbars.
  • Create the status bar.
  • Create and use combo boxes.


Module 9: Using XML Web Services in a C# Program

The module introduces the System.Web.Services namespace and the process of building and consuming XML Web services in a C# application.
  • Consuming an XML Web Service
  • Building an XML Web Service
Lab 9.1: Using XML Web Services
  • Writing the Office Building Estimation Application
After completing this module, students will be able to:
  • Request data from an XML Web service from within a C# application.
  • Build an XML Web service.


Module 10: Creating a Web Application with Web Forms

In this module, students learn that in Microsoft Visual Studio .NET, you can use Web Forms to create programmable Web pages. This module introduces the System.Web.UI namespace and describes how to create a Web application with a Web Form. Students learn how to add controls to a Web Form and then use the Web Form to submit data and respond to events. The module also covers Microsoft ASP.NET state management, security, and configuration settings.
  • Creating a Web Forms Application
  • Accessing Data by Using a Web Forms Application
  • Configuring ASP.NET Application Settings
Lab 10.1: Developing an ASP.NET Web Application
  • Completing the User Authentication Validation Code
  • Completing the Code for the Master.aspx Form
  • Testing the Application
After completing this module, students will be able to:
  • Create a Web Forms application.
  • Handle events on a Web Forms application.
  • Access data from a Web Forms application.
  • Configure ASP.NET application settings.


Module 11: Application Settings and Deployment

This module introduces the procedures that are involved in deploying a C# application by using Microsoft Visual Studio .NET. It explains how to deploy both Web-based applications and applications that are based on Microsoft Windows. It also describes how to store user preferences and configure application settings.
  • Working with Application Settings
  • Deploying Applications
Lab 11.1: Deploying an Application
  • Adding a Setup Project to an Existing Application
  • Installing and Testing the Setup Application
Lab 11.2 (optional): Working with Application Settings
  • Adding the UserPreferences Class
  • Adding User Preferences to the Form Load Event
  • Adding User Preferences to the loadItem_Click Event
  • Declaring an Instance of the UserPreferences Class in the Options Form
  • Setting the Checkbox Controls to the Values Contained in the Registry
  • Save the Checkbox Controls Values to the Registry
  • Testing the Zoo Information Application
After completing this module, students will be able to:
  • Work with application settings
  • Deploy an application


Module 12: Exploring Future Learning

This module provides an opportunity for students to explore some of the more advanced capabilities of C#, to practice the knowledge and skills that they acquired during the course, and discuss their questions as a group.
  • Exploring Additional Features of C#
After completing this module, students will be able to:
  • Locate resources for additional C# features.
  • Use those resources to further develop any of the projects that they started earlier in this course.

Course Prerequisites

Before attending this course, students must have competency in the following areas:
  • Familiarity and comfort with basic operating system functions such as file manipulation.
  • Understanding of the basics of structured programming, including concepts such as flow control, variables and parameters, and function calls.
  • MSDN Training Course 1587Introduction to Programming with Microsoft Visual Basic 6, may help students gain basic skills in programming techniques.
  • At least 3 months experience developing applications in either a graphical or non-graphical environment, or equivalent knowledge.
Experience with object-oriented programming and concepts is not required.
Course Schedule
This course is not scheduled yet.