408. Object-Oriented
Programming Essentials with C# and .NET
Rev. 1.0
This course introduces the essential skills necessary for developing
object-oriented programs on the Microsoft .NET platform. Understanding
object-oriented programming (OOP) is essential for working with Microsoft
.NET. As new as the Microsoft .NET
platform is, experience has already shown that programmers who do not
understand OOP have a significantly more difficult time in understanding and starting
to work with .NET, even if they have a significant development background.
By the end of course, not only will programmers be able to start
thinking in OOP terms, they will know how to build and debug C# programs using
the .NET class libraries and Visual Studio .NET. A great deal of time will be spent with student labs and hands-on
demonstrations.
The course discusses the traditional object-oriented features of C#
such as classes, encapsulation, composition, inheritance, and polymorphism as
well as other features such as exceptions, properties, delegates, events, and
interfaces. Programming to interfaces is a very important concept in modern OOP
thinking and is fundamental to the .NET type system. Several fundamental
interfaces and classes of the .NET Framework Class Library will be introduced.
In addition, we will show how you can implement design patterns using C# and
the class library. Design patterns are a product of modern thinking on
object-oriented design and programming that emphasizes programming to
interfaces, and using object composition over class inheritance. The course
includes a succinct introduction to creating GUI programs using Windows Forms.
A final chapter provides an overview of .NET, using the perspective gained from
studying C# and object-oriented programming.
LEARNING OBJECTIVES
·
Gain a basic understanding of the object-oriented
programming paradigm
·
Acquire a working knowledge of C#
·
Learn how to implement programs using C# and classes
from the .NET Framework
·
Learn how to implement simple GUI programs using
Windows Forms
·
Gain an orientation to the .NET Framework
Course Duration: 3
or 4 days.
Prerequisites: The student should be an experienced
software developer or architect.
1. Elementary
C#
Hello, World
Using Visual Studio .NET
Namespaces
Input and Output
Operators
Control Structures
2. More
Elementary C#
Conversions
Operators
Expressions
Checked Code
Output Formatting
Parameter Passing
3. Debugging
Debug Mode
Breakpoints
Watch Windows
Single-Stepping
Call Stack
4. Classes
and Object-Oriented Programming
Decomposition
Classes and Objects
Public and Private
Constructors
this
Encapsulation
References
Static Fields And Methods
Constant and Readonly
5. Inheritance
Specialization
Single Inheritance in C#
Object Root Class
Access Control
Using Base Class Member
Method Hiding
Type Conversion
6. Virtual
Methods and Polymorphism
Polymorphism
Heterogeneous Collections
Abstract and Sealed Classes
Method Overriding
Abstract Methods
7. The
C# Type System
Value Types
Reference Types
Simple Value Types
Structures
Enumeration Types
Arrays
Interfaces
Delegates
Events
Boxing and Unboxing
8. Properties
and Indexers
Property Syntax
Using Properties
Indexers
9. Exceptions
Exception Fundamentals
.NET Exception Handling
Exception Flow of Control
Stack Unwinding
System.Exception
User-Defined Exception Classes
Finally
Inner Exceptions
10. Characters and Strings
Characters
Strings
String Input
String Methods
StringBuilder Class
Programming with Strings
11. .NET Framework
Collections
Copy Semantics and ICloneable
Comparing Objects
Using Interfaces
Design Patterns
Iterator Pattern
Factory Pattern
12. Introduction to Windows Forms
Creating Windows Applications Using Visual Studio .NET
Handling Events
13. What Is Microsoft .NET?
Why Microsoft .NET
.NET Programming Model
Common Type System
Common Language Runtime
Assemblies
Metadata
Serialization Example
.NET Framework Class Library
System Requirements
Course exercises require Microsoft .NET and Microsoft Visual Studio
.NET on Windows 2000.
A good minimal hardware profile for this course would have a Pentium
500-MHz or equivalent CPU, 256 MB of RAM, and at least 500 MB of free disk
space for tools installation and courseware.