Course Description
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.
Target Student: 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: Before attending this course, students must have:
- Experience with programming in C, C++, Visual Basic, Java, or another programming language.
- Familiarity with the Microsoft .NET strategy as described on the Microsoft .NET Web site: http://www.microsoft.com/net/.
Familiarity with the .NET Framework as described on the MSDN Magazine Web site:
Delivery Method: Instructor led, group-paced, classroom-delivery learning model with structured hands-on activities.
Performance-Based Objectives
After completing this module, 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 reference 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.
Course Content
Module 1: Overview of the Microsoft .NET Platform
Lessons
- Introduction to the .NET Platform
- Overview of the .NET Framework
- Benefits of the .NET Framework
- The .NET Framework Components
- Languages in the .NET Framework
Module 2: Overview of C#
Lessons
- Structure of a C# Program
- Basic Input/Output Operations
- Recommended Practices
- Compiling, Running, and Debugging
Module 3: Using Value-Type Variables
Lessons
- Common Type System
- Naming Variables
- Using Built-In Data Types
- Creating User-Defined Data Types
- Converting Data Types
Module 4: Statements and Exceptions
Lessons
- Introduction to Statements
- Using Selection Statements
- Using Iteration Statements
- Using Jump Statements
- Handling Basic Exceptions
- Raising Exceptions
Module 5: Methods and Parameters
Lessons
- Using Methods
- Using Parameters
- Using Overloaded Methods
Module 6: Arrays
Lessons
- Overview of Arrays
- Creating Arrays
- Using Arrays
Module 7: Essentials of Object-Oriented Programming
Lessons
- Classes and Objects
- Using Encapsulation
- C# and Object Orientation
- Defining Object-Oriented Systems
Module 8: Using Reference-Type Variables
Lessons
- Using Reference-Type Variables
- Using Common Reference Types
- The Object Hierarchy
- Namespaces in the .NET Framework
- Data Conversions
Module 9: Creating and Destroying Objects
Lessons
- Using Constructors
- Initializing Data
- Objects and Memory
- Resource Managements
Module 10: Inheritance in C#
Lessons
- Deriving Classes
- Implementing Methods
- Using Sealed Classes
- Using Interfaces
- Using Abstract Classes
Module 11: Aggregation, Namespaces, and Advanced Scope
Lessons
- Using Internal Classes, Methods, and Data
- Using Aggregation
- Using Namespaces
- Using Modules and Assemblies
Module 12: Operators and Events
Lessons
- Introduction to Operators
- Operator Overloading
- Creating and Using Delegates
- Defining and Using Events
Module 13: Properties and Indexers
Lessons
- Using Properties
- Using Indexers
Module 14: Attributes
Lessons
- Overview of Attributes
- Defining Custom Attributes
- Retrieving Attribute Values