6232 implementing a microsoft sql server 2008 database
10266 developing data access solutions with microsoft visual studio 2010
1. MS 10266 Programming in C# with Microsoft Visual Studio 2010
Course Summary
Description
The course focuses on C# program structure, language syntax, and implementation details with .NET Framework
4.0. This course describes the new enhancements in the C# 4.0 language by using Visual Studio 2010.
In this course, lower-intermediate level programmers gain the knowledge and skills they need to develop C#
applications for the Microsoft .NET Framework 4.0. The course highlights the structure of C# 4.0 programs,
language syntax, and implementation details. This course is not mapped to any exam.
Objectives
At the end of this course, students will be able to:
• Explain the purpose of the .NET Framework, • Manage the lifetime of objects and control
and understand how to use C# and Visual the use of resources.
Studio 2010 to build .NET Framework • Define properties and indexers to
applications. encapsulate data, and define operators for
• Understand the syntax of basic C# this data.
programming constructs. • Decouple an operation from the method that
• Create and call methods in a C# implements an operation, and use these
application. decoupled operations to handle
• Catch, handle and throw exceptions. asynchronous events.
• Perform basic file IO operations in a C# • Use collections to aggregate data, and use
application. Generics to implement type-safe collection
• Create and use new types (enumerations, classes, structures, interfaces, and methods.
classes, and structures), and understand the • Implement custom collection classes that
differences between reference types and support enumeration.
value types. • Query in-memory data by using LINQ.
• Control the visibility and lifetime of members • Integrate code written by using a dynamic
in a type. language such as Ruby and Python, or
• Use inheritance to create new reference technologies such as COM, into a C#
types. application
Topics
• Introducing C# and the .NET Framework • Managing the Lifetime of Objects and
• Using C# Programming Constructs Controlling Resources
• Declaring and Calling Methods • Encapsulating Data and Defining
Overloaded Operators
• Handling Exceptions
• Decoupling Methods and Handling Events
• Reading and Writing Files
• Using Collections and Building Generic
• Creating New
Types
• Encapsulating Data and Methods
• Building and Enumerating Custom
• Inheriting From Classes and Implementing Collection Classes
Interfaces
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
10266DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182359-PHPAPP01.DOC
2. MOC 10266 Programming in C# with Microsoft Visual Studio 2010
Course Summary (cont’d)
• Using LINQ to Query Data
• Integrating Visual C# Code with Dynamic Languages and COM Components
Audience
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.
Prerequisites
Before attending this course, students must have:
• At least 12 months experience working with an Object Oriented language
• Have C++ or Java knowledge:
o Creating Classes
o Inheritance and Abstraction
o Polymorphism
o Interfaces
o Exceptions
• Knowledge of the Visual Studio IDE.
Duration
Five days
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
10266DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182359-PHPAPP01.DOC
3. MOC 10266 Programming in C# with Microsoft Visual Studio 2010
Course Outline
I.Introducing C# and the .NET Framework • Multiplying Matrices
This module explains the .NET Framework, and
using C# and Visual Studio 2010 for building .NET After completing this module, students will be
Framework applications. able to:
A. Introduction to the .NET Framework • Declare variables and assign values.
B. Creating Projects within Visual Studio 2010 • Create expressions by using operators.
C. Writing a C# Application • Create and use arrays.
D. Building a Graphical Application • Use decision statements.
E. Documenting an Application • Use iteration statements.
F. Running and Debugging Applications by
Using Visual Studio 2010 III.Declaring and Calling Methods
This module explains how to create and call
Lab: Introducing C# and the .NET Framework methods.
• Building a Simple Console Application A. Defining and Invoking Methods
• Building a WPF Application B. Specifying Optional Parameters and Output
• Verifying the Application Parameters
• Generating Documentation for an
Application Lab: Declaring and Calling Methods
• Calculating the Greatest Common Divisor of
After completing this module, students will be Two Integers by Using Euclid's Algorithm
able to: • Calculating the GCD of Three, Four, or Five
• Explain the purpose of the .NET Framework. Integers
• Create Microsoft Visual C# projects by using • Comparing the Efficiency of Two Algorithms
Visual Studio 2010. • Displaying Results Graphically
• Explain the structure of a C# application. • Solving Simultaneous Equations (optional)
• Use the WPF Application template to build a
simple graphical application. After completing this module, students will be
• Use XML comments to document an able to:
application. • Describe how to declare and call methods
• Use the debugger to step through a • Define and call methods that take optional
program. parameters and output parameters
II.Using C# Programming Constructs IV.Handling Exceptions
This module explains the syntax of basic C# This module explains how to catch exceptions and
programming constructs. handle them. Students will also learn how to throw
A. Declaring Variables and Assigning Values exceptions.
B. Using Expressions and Operators A. Handling Exceptions
C. Creating and Using Arrays B. Raising Exceptions
D. Using Decision Statements
E. Using Iteration Statements Lab: Handling Exceptions
• Making a Method Fail-Safe
Lab: Using C# Programming Constructs • Detecting an Exceptional Condition
• Calculating Square Roots with Improved • Checking for Numeric Overflow
Accuracy
• Converting Integer Numeric Data to Binary
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
10266DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182359-PHPAPP01.DOC
4. MOC 10266 Programming in C# with Microsoft Visual Studio 2010
Course Outline (cont’d)
After completing this module, students will be • Describe how to create and use structures.
able to: • Explain the differences between reference
• Describe how to catch and handle and value types.
exceptions
• Describe how to create and raise exceptions VII.Encapsulating Data and Methods
This module explains how to control the visibility and
V.Reading and Writing Files lifetime of members in a type.
This module explains how to perform basic file I/O A. Controlling Visibility of Type Members
operations in a C# application. B. Sharing Methods and Data
A. Accessing the File System
B. Reading and Writing Files by Using Streams Lab: Encapsulating Data and Methods
• Hiding Data Members
Lab: Reading and Writing Files • Using Static Members to Share Data
• Building a Simple Editor • Implementing an Extension Method
• Making the Editor XML Aware
After completing this module, students will be
After completing this module, students will be able to:
able to: • Describe how to control the visibility of type
• Describe how to access the file system by members.
using the classes that the .NET Framework • Describe how to share methods and data.
provides.
• Describe how to read and write files by VIII.Inheriting From Classes and Implementing
using streams. Interfaces
This module explains how to use inheritance to
VI.Creating New Types create new reference types
This module explains how to create and use new A. Using Inheritance to Define New Reference
types (enumerations, classes, and structures) Types
A. Creating and Using Enumerations B. Defining and Implementing Interfaces
B. Creating and Using Classes C. Defining Abstract Classes
C. Creating and Using Structs
D. Comparing References to Values Lab: Inheriting From Classes and Implementing
Interfaces
Lab: Creating New Types • Defining an Interface
• Using Enumerations to Specify Domains • Implementing an Interface
• Using a Struct to Model a Simple Type • Creating an Abstract Class
• Using a Class to Model a More Complex
Type After completing this module, students will be
• Using a Nullable Struct able to:
• Use inheritance to define new reference
After completing this module, students will be types.
able to: • Define and implement interfaces.
• Describe how to create and use • Define abstract classes.
enumerations.
• Describe how to create and use classes.
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
10266DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182359-PHPAPP01.DOC
5. MOC 10266 Programming in C# with Microsoft Visual Studio 2010
Course Outline (cont’d)
IX.Managing the Lifetime of Objects and Controlling • Testing the Operators for the Matrix Type
Resources
This module explains how to manage the lifetime of After completing this module, students will be
objects and control the use of resources. able to:
A. Introduction to Garbage Collection • Explain how properties work and use them
B. Managing Resources to encapsulate data.
• Describe how to use indexers to
Lab: Managing the Lifetime of Objects and access data through an array-like syntax.
Controlling Resources • Describe how to use operator overloading to
• Implementing the IDisposable Interface define operators for your own types.
• Managing Resources Used By an Object
XI.Decoupling Methods and Handling Events
After completing this module, students will be This module explains how to decouple an operation
able to: from the method that implements an operation, and
• Describe how garbage collection works in how to use these decoupled methods to handle
the .NET Framework. asynchronous events.
• Manage resources effectively in an A. Declaring and Using Delegates
application. B. Using Lambda Expressions
C. Handling Events
X.Encapsulating Data and Defining Overloaded
Operators Lab: Decoupling Methods and Handling Events
This module explains how to create properties and • Raising and Handling Events
indexers to encapsulate data, and how to define • Using Lambda Expressions to Specify Code
operators for this data.
A. Creating and Using Properties After completing this module, students will be
B. Creating and Using Indexers able to:
C. Overloading Operators • Describe the purpose of delegates, and
explain how to use a delegate to decouple
Lab: Creating and Using Properties an operation from the implementing method.
• Defining Properties in an Interface • Explain the purpose of lambda expressions,
• Implementing Properties in a Class and describe how to use a lambda
• Using Properties Exposed By a Class expression to define an anonymous
method.
Lab: Creating and Using Indexers • Explain the purpose of events, and describe
• Implementing an Indexer to Access Bits in a how to use events to report that something
Control Register significant has happened in a type that other
• Using an Indexer Exposed by a Class parts of the application need to be aware of.
XII.Using Collections and Building Generic Types
Lab: Overloading Operators This module introduces collections, and describes
• Defining the Matrix and how to use Generics to implement type-safe
MatrixNotCompatible Types collection classes, structures, interfaces, and
• Implementing Operators for the Matrix Type methods.
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
10266DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182359-PHPAPP01.DOC
6. A. Using Collections
B. Creating and Using Generic Types
MOC 10266 Programming in C# with Microsoft Visual Studio 2010
Course Outline (cont’d)
C. Defining Generic Interfaces and • Define an enumerator for a custom
Understanding Variance collection class.
D. Using Generic Methods and Delegates
XIV.Using LINQ to Query Data
Lab: Using Collections This module explains how to query in-memory data
• Optimizing a Method by Caching Data by using LINQ.
A. Using the LINQ Extension Methods and
Lab: Building Generic Types Query Operators
B. Building Dynamic LINQ Queries and
• Defining a Generic Interface
Expressions
• Implementing a Generic Interface
• Implementing a Test Harness for the
BinaryTree Project Lab: Using LINQ to Query Data
• Implementing a Generic Method • Using the LINQ Query Operators
• Building Dynamic LINQ Queries
After completing this module, students will be
able to: After completing this module, students will be
• Use collection classes. able to:
• Define and use generic types. • Describe how to use the LINQ extension
methods and query operators.
• Define generic interfaces and explain the
concepts of covariance and contravariance. • Describe how to build dynamic LINQ queries
and expressions.
• Define and use generic methods and
delegates.
XV.Integrating Visual C# Code with Dynamic
Languages and COM Components
XIII.Building and Enumerating Custom Collection
This module explains how to integrate code written
Classes
by using a dynamic language such as Ruby and
This module explains how to implement custom
Python, and technologies such as COM, into a C#
collection classes that support enumeration.
application
A. Implementing a Custom Collection Class
A. Integrating C# Code with Ruby and Python
B. Adding an Enumerator to a Custom
B. Accessing COM Components from C#
Collection Class
Lab: Integrating C# Code with Dynamic
Lab: Building and Enumerating Custom
Languages and COM Components
Collection Classes
• Integrating Code Written by Using a
• Implementing the IList TItem Interface
Dynamic Language into a C# Application
• Implementing an Enumerator by Writing
• Using a COM Component from Visual C#
Code
Application
• Implementing an Enumerator by Using an
Iterator
After completing this module, students will be
able to:
After completing this module, students will be
• Integrate Ruby and Python code into a
able to:
Visual C# application.
• Implement a custom collection class.
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
10266DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182359-PHPAPP01.DOC
7. • Invoke COM components and services from
a C# application.
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational
purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
10266DEVELOPINGDATAACCESSSOLUTIONSWITHMICROSOFTVISUALSTUDIO2010-110311182359-PHPAPP01.DOC