Welcome to ONLC Training Centers


Introduction to Programming with C# - 10266 Course Outline

 (5 days)
Version 2010

Overview
This is a general introduction to programming class that is a great foundation for additional programming education across other languages and platforms. 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. While this course will use Visual Studio 2010, all of the basic programming concepts and syntax will be applicable to later versions. We found the to be the best introduction to programming courses from Microsoft!

In this course, entry-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.

Audience Profile
We have customized this class to make it for entry-level programmers. It is now designed for individuals new to programming with no prior programming experience.

At Course Completion
After completing this course, students will be able to:
Explain the purpose of the .NET Framework, and understand how to use C# and Visual Studio 2010 to build .NET Framework applications.
Understand the syntax of basic C# programming constructs.
Create and call methods in a C# application.
Catch, handle and throw exceptions.
Perform basic file IO operations in a C# application.
Create and use new types (enumerations, classes, and structures), and understand the differences between reference types and value types.
Control the visibility and lifetime of members in a type.
Use inheritance to create new reference types.
Manage the lifetime of objects and control the use of resources.
Define properties and indexers to encapsulate data, and define operators for this data.
Decouple an operation from the method that implements an operation, and use these decoupled operations to handle asynchronous events.
Use collections to aggregate data, and use Generics to implement type-safe collection classes, structures, interfaces, and methods.
Implement custom collection classes that support enumeration.
Query in-memory data by using LINQ.
Integrate code written by using a dynamic language such as Ruby and Python, or technologies such as COM, into a C# application

Prerequisites
Before attending this course, it is recommended that learners review:
General programming logic
The Visual Studio Integrated Development Environment (IDE)
Object oriented programming concepts
◦Creating Classes
◦Inheritance and Abstraction
◦Polymorphism
◦Interfaces
◦Exceptions

Course Outline

Module 1: Introducing C# and the .NET Framework
This module explains the .NET Framework, and using C# and Visual Studio 2010 for building .NET Framework applications.
Lessons
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
Building a Simple Console Application
Building a WPF Application
Verifying the Application
Generating Documentation for an Application

Module 2: Using C# Programming Constructs
This module explains the syntax of basic C# programming constructs.
Lessons
Declaring Variables and Assigning Values
Using Expressions and Operators
Creating and Using Arrays
Using Decision Statements
Using Iteration Statements
Lab : Using C# Programming Constructs
Calculating Square Roots with Improved Accuracy
Converting Integer Numeric Data to Binary
Multiplying Matrices

Module 3: Declaring and Calling Methods
This module explains how to create and call methods.
Lessons
Defining and Invoking Methods
Specifying Optional Parameters and Output Parameters
Lab : Declaring and Calling Methods
Calculating the Greatest Common Divisor of Two Integers by Using Euclid's Algorithm
Calculating the GCD of Three, Four, or Five Integers
Comparing the Efficiency of Two Algorithms
Displaying Results Graphically
Solving Simultaneous Equations (optional)

Module 4: Handling Exceptions
This module explains how to catch exceptions and handle them. Students will also learn how to throw exceptions.
Lessons
Handling Exceptions
Raising Exceptions
Lab : Handling Exceptions
Making a Method Fail-Safe
Detecting an Exceptional Condition
Checking for Numeric Overflow

Module 5: Reading and Writing Files
This module explains how to perform basic file I/O operations in a C# application.
Lessons
Accessing the File System
Reading and Writing Files by Using Streams
Lab : Reading and Writing Files
Building a Simple Editor
Making the Editor XML Aware

Module 6: Creating New Types
This module explains how to create and use new types (enumerations, classes, and structures)
Lessons
Creating and Using Enumerations
Creating and Using Classes
Creating and Using Structs
Comparing References to Values
Lab : Creating New Types
Using Enumerations to Specify Domains
Using a Struct to Model a Simple Type
Using a Class to Model a More Complex Type
Using a Nullable Struct

Module 7: Encapsulating Data and Methods
This module explains how to control the visibility and lifetime of members in a type.
Lessons
Controlling Visibility of Type Members
Sharing Methods and Data
Lab : Encapsulating Data and Methods
Hiding Data Members
Using Static Members to Share Data
Implementing an Extension Method

Module 10: (in New Order) Encapsulating Data and Defining Overloaded Operators
This module explains how to create properties and indexers to encapsulate data, and how to define operators for this data.
Lessons
Creating and Using Properties
Creating and Using Indexers
Overloading Operators
Lab : Creating and Using Properties
Defining Properties in an Interface
Implementing Properties in a Class
Using Properties Exposed By a Class
Lab : Creating and Using Indexers
Implementing an Indexer to Access Bits in a Control Register
Using an Indexer Exposed by a Class
Lab : Overloading Operators
Defining the Matrix and MatrixNotCompatible Types
Implementing Operators for the Matrix Type
Testing the Operators for the Matrix Type

Module 11: (In New Order) Decoupling Methods and Handling Events
This module explains how to decouple an operation from the method that implements an operation, and how to use these decoupled methods to handle asynchronous events.
Lessons
Declaring and Using Delegates
Using Lambda Expressions
Handling Events
Lab : Decoupling Methods and Handling Events
Raising and Handling Events
Using Lambda Expressions to Specify Code

Module 8: Inheriting From Classes and Implementing Interfaces
This module explains how to use inheritance to create new reference types
Lessons
Using Inheritance to Define New Reference Types
Defining and Implementing Interfaces
Defining Abstract Classes
Lab : Inheriting From Classes and Implementing Interfaces
Defining an Interface
Implementing an Interface
Creating an Abstract Class

Module 9: Managing the Lifetime of Objects and Controlling Resources
This module explains how to manage the lifetime of objects and control the use of resources.
Lessons
Introduction to Garbage Collection
Managing Resources
Lab : Managing the Lifetime of Objects and Controlling Resources
Implementing the IDisposable Interface
Managing Resources Used By an Object

Module 12: Using Collections (Covered in Class) and Building Generic Types (In Manual but Not Covered in Class)
This module introduces collections, and describes how to use Generics to implement type-safe collection classes, structures, interfaces, and methods.
Lessons
Using Collections
Creating and Using Generic Types
Defining Generic Interfaces and Understanding Variance
Using Generic Methods and Delegates
Lab : Using Collections
Optimizing a Method by Caching Data
Lab : Building Generic Types
Defining a Generic Interface
Implementing a Generic Interface
Implementing a Test Harness for the BinaryTree Project
Implementing a Generic Method

Module 13: (In Manual but Not Covered in Class) Building and Enumerating Custom Collection Classes
This module explains how to implement custom collection classes that support enumeration.
Lessons
Implementing a Custom Collection Class
Adding an Enumerator to a Custom Collection Class
Lab : Building and Enumerating Custom Collection Classes
Implementing the IList TItem Interface
Implementing an Enumerator by Writing Code
Implementing an Enumerator by Using an Iterator

Module 14: Using LINQ to Query Data
This module explains how to query in-memory data by using LINQ.
Lessons
Using the LINQ Extension Methods and Query Operators
Building Dynamic LINQ Queries and Expressions
Lab : Using LINQ to Query Data
Using the LINQ Query Operators
Building Dynamic LINQ Queries

Module 15: (In Manual but Not Covered in Class) Integrating Visual C# Code with Dynamic Languages and COM Components
This module explains how to integrate code written by using a dynamic language such as Ruby and Python, and technologies such as COM, into a C# application
Lessons
Integrating C# Code with Ruby and Python
Accessing COM Components from C#
Lab : Integrating C# Code with Dynamic Languages and COM Components
Integrating Code Written by Using a Dynamic Language into a C# Application
Using a COM Component from Visual C# Application
View outline in Word

A10266

Attend hands-on, instructor-led Introduction to Programming with C# - 10266 training classes at ONLC's more than 300 locations. Not near one of our locations? Attend these same live classes from your home/office PC via our Remote Classroom Instruction (RCI) technology.

For additional training options, check out our list of C# Courses and select the one that's right for you.

Microsoft Gold Partner
Class Dates
(click date for class times)
(click Enroll for locations)

Fee:  $2595

Savings options:

 15 Day Pass
 CEA Tech Saver
Need a price quote?

Follow the link to our self-service price quote form to generate an email with a price quote.

Email Alert

Receive an email when this class is available as "Ready to Run" or "Early Notice" status.

Attend from your office or home

If you have high-speed internet and two computers you can likely take this class from your office or home.

Need a class for a group?

We can deliver this class for a private group at your location. Follow the link to request more information.

Attend computer classes from ONLC Training Centers Request a copy via mail

GENERAL INFO

Class Format
Class Policies
Student Reviews

Bookmark and Share


HAVE QUESTIONS?
First Name

Last Name

Company

Phone

Email

Location

Question/Comment



ONLC TRAINING CENTERS
800-288-8221
www.onlc.com