Microsoft Course 6367 - Introduction to Object Oriented Programming using Microsoft Visual Studio 2008 — A 3-Day Course
Please note that this course is no longer available. Please review our related courses:
This three-day instructor-led M6367 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.
On completion of this M6367 training course, delegates should 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.
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.
- 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
- To help you prepare for this class, review the following resources:
- Visual Studio 2005 Class Designer
- Default Project Templates in Visual Studio
- Web Application Projects Overview
- Value Types in the Common Type System
- Type Fundamentals
- System.Collections.Generic Namespace
- IConvertible Interface
- XML Documentation Comments (C# Programming Guide)
This course has been retired and is no longer available.
Module 1: Getting Started with Object-Oriented Programming
- 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
- Creating Classes
- 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
- 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
- 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
- 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
- Introduction to Delegates
- Implementing Delegates
- Introduction to Events
- Implementing Events
- Introduction to Exceptions
- Implementing 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
- 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
- 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)