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.
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.
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.
Lab: Introducing C# and the .NET Framework
Module 2: Using C# Programming Constructs
This module explains the syntax of basic C# programming constructs.
Lab: Using C# Programming Constructs
Module 3: Declaring and Calling Methods
This module explains how to create and call methods.
Lab: Declaring and Calling Methods
Module 4: Handling Exceptions
This module explains how to catch exceptions and handle them. Students will also learn how to throw exceptions.
Lab: Handling Exceptions
Module 5: Reading and Writing Files
This module explains how to perform basic file I/O operations in a C# application.
Lab: Reading and Writing Files
Module 6: Creating New Types
This module explains how to create and use new types (enumerations, classes, and structures)
Lab: Creating New Types
Module 7: Encapsulating Data and Methods
This module explains how to control the visibility and lifetime of members in a type.
Lab: Encapsulating Data and Methods
Module 8: Inheriting From Classes and Implementing Interfaces
This module explains how to use inheritance to create new reference types
Lab: Inheriting From Classes and Implementing Interfaces
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.
Lab: Managing the Lifetime of Objects and Controlling Resources
Module 10: 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.
Lab: Creating and Using Properties
Lab: Creating and Using Indexers
Lab: Overloading Operators
Module 11: 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.
Lab: Decoupling Methods and Handling Events
Module 12: Using Collections and Building Generic Types
This module introduces collections, and describes how to use Generics to implement type-safe collection classes, structures, interfaces, and methods.
Lab: Using Collections
Lab: Building Generic Types
Module 13: Building and Enumerating Custom Collection Classes
This module explains how to implement custom collection classes that support enumeration.
Lab: Building and Enumerating Custom Collection Classes
Module 14: Using LINQ to Query Data
This module explains how to query in-memory data by using LINQ.
Lab: Using LINQ to Query Data
Module 15: 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
Lab: Integrating C# Code with Dynamic Languages and COM Components