2124 Programming with C#
Printer friendly

Course Overview
  The goal of this course is to provide students with the knowledge and skills they need 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 enterprise applications for .NET. 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.



Objectives
  After completing 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.
  • Additionally, key security features will be incorporated.

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.


Prerequisites
  
  • Experience with programming in C, C++, Visual Basic, Java, or another programming language (Two years or more).


Course Number
  MI2124

Course Length
  5 Days

Course Price
  $2,750.00

Category
  1

Topics
  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
After completing 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
After completing 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 Microsoft Visual Studio 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
After completing 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 variables 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
After completing 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
After completing 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
After completing 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
After completing 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 and enforce abstraction.
  • 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
After completing this module, you will be able to use common objects and reference types. This includes:
  • Describing the key 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
  • Resource Managements
After completing 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 Finalizemethods.
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
After completing 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 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
After completing 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
After completing 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
After completing 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
After completing 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.