Course Overview

Object Oriented Programming (OOP) is a set of core concepts which back most modern programming languages. These concepts (encapsulation, information hiding, inheritance, polymorphism, etc.) help build modular, reusable and maintainable software systems. OOP is a formalization of practical coding principles like code isolation and algorithm reuse. It provides a clear set of principles, definitions and rules that describes a practical way to build a software components.

Any developer moving to C#, Java or Visual Basic.NET from a procedural programming language needs to learn OOP principles, as they permeate all aspects of these modern languages.

This course teaches applied Object Oriented principles using either C# or Visual Basic and the .NET Framework. You will learn the core principles of object oriented application and library architecture. Additionally, you will learn how to apply these principles using the platform features of the .NET Framework, and the language features of C#. You will take home information and best practices that have been proven in successful production-caliber software development projects.

Key Learning Areas

  • Learn the basics of Objects and Object Design
  • Understand the core concepts of OOP (encapsulation, information hiding, inheritance, polymorphism, composition, aggregation)
  • Discover how to hide information inside objects with Encapsulation
  • Define relationships between objects
  • Explore OOP design tools like Microsoft Visio
  • Study standard OOP patterns (Singleton, Factory, Observer, Decorator, etc.)

Course Outline

  • Introduction to objects
  • Components and objects
  • Core Concepts
  • Abstraction and Encapsulation
  • Abstract Datatypes
  • Relationships between objects
  • Polymorphism
  • Inheritance and Composition
  • Object Design
  • What is UML?
  • Building Objects with C# or VB.NET
  • Effective Design Patterns
  • Extensive set of hands-on labs included each day to ensure comprehension of OOP concepts

Who Benefits

In this course developers who work in procedural languages (C, COBOL, FORTRAN, PowerBuilder, BASIC, Pascal) learn the core concepts of Object Oriented programming, architecture and design. These fundamental skills prepare the student for further education in any modern OOP language. This course is also suited for people new to programming who plan on learning modern OOP languages.


The expected audience for this course is development teams interested in learning the principles of Object Oriented Programming. Students who attend the course should be familiar with basic programming concepts.