TEMARIO Y CONTENIDOS
Introduction to C# Programming for the Microsoft .NET Platform
(Prerelease)
Moc 2124
Introduction
The goal of this course is to provide students with the knowledge and
skills needed 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 .NET enterprise applications. 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.
Audience
This course is intended for experienced developers who already have
programming experience in C, C++, Visual Basic, or Java. These
developers will be likely to develop enterprise business solutions.
At Course Completion
At the end of the course, students will be able to:
-
List the major elements of the .NET Framework and explain how C# fits
into the .NET Platform.
-
Analyze the basic structure of a C# application and be able to
document, debug, compile, and run a simple application.
-
Create, name, and assign values to variables.
-
Use common statements to implement flow control, looping, and
exception handling.
-
Create methods (functions and subroutines) that can return values and
take parameters.
-
Create, initialize, and use arrays.
-
Explain the basic concepts and terminology of object-oriented
programming.
-
Use common objects and references types.
-
Create, initialize, and destroy objects in a C# application.
-
Build new C# classes from existing classes.
-
Create self-contained classes and frameworks in a C# application.
-
Define operators, use delegates, and add event specifications.
-
Implement properties and indexers.
-
Use predefined and custom attributes.
Prerequisites
Before attending this course, students must have:
-
Experience with programming in C, C++, Visual Basic, Java, or another
programming language.
-
Familiarity with Microsoft's .NET strategy as described on Microsoft's
.NET Web site: http://www.microsoft.com/net
-
Familiarity with the .NET Framework as described on the MSDN ®
Magazine Web site:
http://msdn.microsoft.com/msdnmag/issues/0900/Framework/Framework.asp
and
http://msdn.microsoft.com/msdnmag/issues/1000/Framework2/Framework2.asp
Microsoft Certified Professional Exams
This course will help the student prepare for the following Microsoft
Certified Professional exam:
-
There is no MCP exam associated with this course.
Student Materials
The student kit includes a comprehensive workbook and other necessary
materials for this class. The following software is provided in the
student kit:
Course Outline
Module 1: Overview of the Microsoft .NET Platform
The following topics are covered in this module:
-
Introduction to the .NET Platform
-
Overview of the .NET Framework
-
Benefits of the .NET Framework
-
The .NET Framework Components
-
Languages in the .NET Framework
At the end of this module, you will be able to list the major elements
of the .NET Framework and explain how the C# language fits into the .NET
Platform. This includes:
-
Describing the .NET Platform.
-
Listing the main elements of the .NET Platform.
-
Explaining the language support in the .NET Framework.
-
Describing the .NET Framework and its components.
Module 2: Overview of C#
The following topics are covered in this module:
-
Structure of a C# Program
-
Basic Input/Output Operations
-
Recommended Practices
-
Compiling, Running, and Debugging
At the end of this module, you will be able to analyze the basic
structure of a C# application and be able to document, debug, compile,
and run a simple application. This includes:
-
Explaining the structure of a simple C# program.
-
Using the Console class of the System namespace to perform basic
input/output operations.
-
Handling exceptions in a C# program.
-
Generating Extensible Markup Language (XML) documentation for a C#
application.
-
Compiling and executing a C# program.
-
Using the debugger to trace program execution.
Module 3: Using Value-Type Variables
The following topics are covered in this module:
-
Common Type System
-
Naming Variables
-
Using Built-in Data Types
-
Creating User-Defined Data Types
-
Converting Data Types
At the end of this module, you will be able to create, name, and assign
values to variables. This includes:
-
Describing the types of variables that you can use in C# applications.
-
Naming your variables according to standard C# naming conventions.
-
Declaring a variable by using built-in data types.
-
Assigning values to variables.
-
Converting existing variables from one data type to another.
-
Creating and using your own data types.
Module 4: Statements and Exceptions
The following topics are covered in this module:
-
Introduction to Statements
-
Using Selection Statements
-
Using Iteration Statements
-
Using Jump Statements
-
Handling Basic Exceptions
-
Raising Exceptions
At the end of this module, you will be able to use common statements to
implement flow control, looping, and exception handling. This includes:
-
Describing the different types of control statements.
-
Using jump statements.
-
Using selection statements.
-
Using iteration statements.
-
Handling and raising exceptions.
Module 5: Methods and Parameters
The following topics are covered in this module:
-
Using Methods
-
Using Parameters
-
Using Overloaded Methods
At the end of this module, you will be able to create methods (functions
and subroutines) that can return values and take parameters. This
includes:
-
Creating static methods that accept parameters and return values.
-
Passing parameters to methods in different ways.
-
Declaring and using overloaded methods.
Module 6: Arrays
The following topics are covered in this module:
-
Overview of Arrays
-
Creating Arrays
-
Using Arrays
At the end of this module, you will be able to create, initialize, and
use arrays. This includes:
-
Creating, initializing, and using arrays of varying rank.
-
Using command-line arguments in a C# program.
-
Describing the relationship between an array variable and an array
instance.
-
Using arrays as parameters for methods.
-
Returning arrays from methods.
Module 7: Essentials of Object-Oriented Programming
The following topics are covered in this module:
-
Classes and Objects
-
Using Encapsulation
-
C# and Object Orientation
-
Defining Object-Oriented Systems
At the end of this module, you will be able to explain the basic
concepts and terminology of object-oriented programming. This includes:
-
Defining the terms object and class in the context of object-oriented
programming.
-
Describing the three core aspects of an object: identity, state, and
behavior.
-
Describing abstraction and how it helps you to create reusable classes
that are easy to maintain.
-
Using encapsulation to combine methods and data in a single class.
-
Explaining the concepts of inheritance and polymorphism.
-
Creating and using classes in C#.
Module 8: Using Reference-Type Variables
The following topics are covered in this module:
-
Using Reference-Type Variables
-
Using Common Reference Types
-
The Object Hierarchy
-
Namespaces in the .NET Framework
-
Data Conversions
At the end of this module, you will be able to use common objects and
references types. This includes:
-
Describing the important differences between reference types and value
types.
-
Using common reference types such as string.
-
Explaining how the object type works and becoming familiar with the
methods it supplies.
-
Describing common namespaces in the .NET Framework.
-
Determining whether different types and objects are compatible.
-
Explicitly and implicitly converting data types between reference
types.
-
Performing boxing and unboxing conversions between reference and value
data.
Module 9: Creating and Destroying Objects
The following topics are covered in this module:
-
Using Constructors
-
Initializing Data
-
Objects and Memory
-
Using Destructors
-
Destroying Objects
At the end of this module, you will be able to create, initialize, and
destroy objects in a C# application. This includes:
-
Using constructors to initialize objects.
-
Creating overloaded constructors that can accept varying parameters.
-
Describing the lifetime of an object and what happens when it is
destroyed.
-
Creating destructors and using Finalize methods.
Module 10: Inheritance in C#
The following topics are covered in this module:
-
Deriving Classes
-
Implementing Methods
-
Using Sealed Classes
-
Using Interfaces
-
Using Abstract Classes
At the end of this module, you will be able to build new C# classes from
existing classes. This includes:
-
Deriving a new class from a base class and calling members and
constructors of the base class from the derived class.
-
Declaring methods as virtual and override or hiding them as required.
-
Sealing a class so that it cannot be derived from.
-
Implementing interfaces by using both the implicit and the explicit
methods.
-
Describing the use of abstract classes and their implementation of
interfaces.
Module 11: Aggregation, Namespaces, and Advanced Scope
The following topics are covered in this module:
-
Using Internal Classes, Methods, and Data
-
Using Aggregation
-
Using Namespaces
-
Using Modules and Assemblies
At the end of this module, you will be able to create self-contained
classes and frameworks in a C# application. This includes:
-
Using internal access to allow classes to have privileged access to
each other.
-
Using aggregation to implement powerful patterns such as Factories.
-
Using namespaces to organize classes.
-
Creating simple modules and assemblies.
Module 12: Operators and Events
The following topics are covered in this module:
-
Introduction to Operators
-
Operator Overloading
-
Creating and Using Delegates
-
Defining and Using Events
At the end of this module, you will be able to define operators, use
delegates, and add event specifications. This includes:
-
Defining operators to make a class or struct easier to use.
-
Using delegates to decouple a method call from a method implementation.
-
Adding event specifications to a class to allow subscribing classes to
be notified of changes in object state.
Module 13: Properties and Indexers
The following topics are covered in this module:
-
Using Properties
-
Using Indexers
At the end of this module, you will be able to implement properties and
indexers. This includes:
-
Creating properties to encapsulate data within a class.
-
Defining indexers to gain access to classes by using array-like
notation.
Module 14: Attributes
The following topics are covered in this module:
-
Overview of Attributes
-
Defining Custom Attributes
-
Retrieving Attribute Values
At the end of this module, you will be able to use predefined and custom
attributes. This includes:
-
Using common predefined attributes.
-
Creating simple custom attributes.
-
Querying attribute information at run time.