Introduction to Object Oriented Programming using Microsoft Visual Studio 2008 - 6367 Course Outline
This three-day instructor led course will enable attendees to start designing and developing object-oriented applications using Visual Studio 2008. Attendees will learn object-oriented concepts including classes, methods, properties, inheritance, and interfaces. Also they will learn how to identify opportunities to use these concepts in design, and how to implement these object-oriented concepts using Visual Studio 2008.
The target audience for this course is lower-intermediate level programmers who have a minimum of three months programming experience in a professional environment and want to learn how to use Visual Basic or C# to develop well conceived and implemented object-oriented programming applications.
At Course Completion
After completing this course, students will be able to:
Describe the fundamentals of getting started with object-oriented development and review Visual Studio 2008 features.
Describe classes and their importance in the basic structure of an object-oriented application.
Add properties and methods to implement the internal functionality of a class.
Implement inheritance, abstraction and polymorphism to reduce code duplication.
Create structures that emphasize code reusability.
Implement interfaces to establish “common” relationships between classes, reduce code dependencies, and facilitate code.
Create an object-oriented structure design from a business problem.
Create object-oriented structures based on their knowledge of classes, properties, methods, inheritance, and interfaces.
Create and use delegates, events and exceptions to establish interclass communications.
Design class interactions based on a set of business requirements.
Design class interactions using methods, events, delegates and exceptions.
Evaluate techniques to improve their own design.
Evaluate a design pattern and determine its applicability to a business scenario.
Create and maintain updatable units of software by deploying components and class libraries.
Maintain an application without deploying the entire application.
Before attending this course, students must have:
An understanding of the problem-solving techniques that apply to software development
An understanding of the following principles of software development:
modern software development models
typical phases of a software development lifecycle
concepts of event-driven programming
concepts of object-oriented programming
creating use-case diagrams
designing and building a user interface
developing a structured application
A basic understanding of the following scripting techniques
Web scripting techniques
Macro scripting techniques
Windows scripting techniques
Hands-on experience creating and implementing script code
A fundamental understanding of the .NET Framework - specifically, the purpose, function, and features of following .NET Framework components:
the Common Language Runtime
the .NET Framework class library
A conceptual understanding of the following .NET Framework topics:
Common Type System - identifies the types supported by the common language runtime
Metadata and Self-Describing Components - the .NET Framework simplifies component interoperation by allowing compilers to emit additional declarative information, or metadata, into all modules and assemblies
Cross-Language Interoperability - managed objects created in different programming languages can interact with one another
Assemblies in the Common Language Runtime - the concept of assemblies, which are collections of types and resources that form logical units of functionality (assemblies are the fundamental units of deployment, version control, reuse, activation scoping, and security permissions)
Application Domains - application domains provide isolation between applications
Runtime Hosts - the runtime hosts supported by the .NET Framework, including ASP.NET, Internet Explorer, and shell executables
A basic understanding of the Visual Studio IDE (Integrated Development Environment)
Hands-on experience using a version of Visual Studio .NET to achieve the following:
Declaring and initializing typed variables using the Camel case naming convention
Using arithmetic, relational, and logical operators in code statements
Using branching statements to control code execution
Using looping statements to iterate through collections or repeat steps until a specified condition is met
Identifying syntax and logic errors
Accessing and managing data from a data source
Module 1: Getting Started with Object-Oriented Programming
This module provides fundamental knowledge required before getting started with object-oriented development. It also reviews Visual Studio 2008 features.
Introduction to Object-Oriented Programming
Creating Projects in Visual Studio 2008
Coding in Visual Studio 2008
Productivity Features in Visual Studio 2008
Debugging Visual Studio Applications
Lab : Getting Started with Object-Oriented Development in Visual Studio 2008
Selecting Project Type based on Business Scenario
Creating the Solution and Projects
Adding Code to the Solution
Adding Comments to the Solution
Using the Debugger Interface to Debug the Solution
Adding a Test Project
Module 2: Implementing Classes, Properties and Methods
This module explains classes and their importance in the basic structure of an object-oriented application. It also add properties and methods to implement the internal functionality of a class.
Implementing Properties within a Class
Implementing Methods within a Class
Using Classes, Properties and Methods
Lab : Implementing Classes with Properties and Methods in Visual Studio 2008
Creating a Class Structure
Adding Properties to a Class Structure
Adding Methods to a Class Structure
Instantiating and Using a Class within an Application
Implementing a Shared Method
Module 3: Implementing Inheritance, Abstraction, and Polymorphism
This module explains how to implement inheritance, abstraction and polymorphism to reduce code duplication. It also describes how to create structures that emphasize code reusability.
Introduction to Inheritance and Abstraction
Implementing Inheritance and Abstraction
Introduction to Polymorphism
Implementing a Polymorphic Structure
Lab : Implementing Inheritance and Abstraction
Implementing Inheritance within the Class Structures
Implementing Abstraction within the Class Structures
Implementing Polymorphism within the Lab Application
Module 4: Implementing Interfaces
This module explains how to implement interfaces to establish common relationships between classes, reduce code dependencies, and facilitate code standardization.
Introduction to Interfaces
Implementing a Custom Interface
Lab : Implementing Interfaces
Defining a Custom Interface
Implementing a Custom Interface
Implementing a System Defined Interface
Implementing Polymorphism Using Interfaces
Module 5: Designing Object-Oriented Structures
This module explains the process of creating an object-oriented structure design from a business problem. It also describes how to create object-oriented structures based on their knowledge of classes, properties, methods, inheritance, and interfaces. And last, the students will review and refine their designs.
Establishing Classes from Business Requirements
Adding Inheritance to the Design
Adding Interfaces to the Design
Reviewing and Refining the Design
Lab : Designing Object-Oriented Structures
Creating a Draft Class Diagram from the Business Scenario
Adding Properties and Methods to the Class Diagram
Adding Inheritance to the Class Diagram
Adding Interfaces to the Class Diagram
Refining the Design
Module 6: Implementing Delegates, Events, and Exceptions
This module explains how to create and use delegates, events and exceptions to establish interclass communications.
Introduction to Delegates
Introduction to Events
Introduction to Exceptions
Lab : Implementing Delegates, Events
Implementing a Delegate
Implementing a Custom Event
Implementing an Event Handler for System Events
Lab : Implementing Exceptions
Implement Custom Exceptions
Managing System Exceptions
Module 7: Designing Object Collaboration
This module explains how to design collaborations between classes by using methods, events, exceptions and delegates. It also introduces sequence diagrams as a way of documenting and planning class interactions.
Introduction to Class Interactions
Adding Interactions to a Design
Evaluating the Design
Introduction to Patterns
Lab : Designing Object-Oriented Collaboration
Design Interactions Using Methods
Design Interactions Using Events, Delegates, and Exceptions
Evaluating and Refining the Design
Evaluating a Pattern
Module 8: Deploying Components and Class Libraries
This module explains how to create and maintain updatable units of software by deploying components and class libraries. It also describes how to maintain an application without redeploying the entire application.
Introduction to Components and Class Libraries
Deploying a Component/Class Library
Best Practices for Deploying a Component/Class Library
Lab : Deploying Components and Class Libraries
Creating a Component/Class Library
Deploying the Application
Updating the Component/Class Library
Deploying an Updated Component/Class Library
View outline in Word