Print this page Print this page

Object-Oriented Thinking

Warren T. Jones, Ph.D., P.E.

Course Outline

Object-oriented (OO) design and programming has become one of the major forces in computing today. The programming expertise of many practicing engineers is based in procedure-oriented FORTRAN and C languages. Transitioning to today's OO paradigm is not simply "learning another language", as in moving from FORTRAN to C, for example. It requires learning a new way of thinking. This course is designed to be a first step for engineers toward this new way of thinking. The emphasis is on OO thinking and not a particular programming language. OO methodology is well-suited for dealing with the problems of software complexity and scales up well to large-scale systems. Although small scale engineering applications may not always be seen as benefiting from OO directly, the new OO languages such as Java may be attractive for other reasons such as network applications and platform independence.

This course includes a multiple-choice quiz at the end, which is designed to enhance the understanding of the course materials.

Learning Objective

At the conclusion of this course, the student will:

Intended Audience

This course is intended for all engineers.

Course Content

The course content is in a PDF file (95 K) Object-Oriented Thinking. You need to open or download above documents to study this course.

Please click on the above underlined hypertext to view, download or print the document for your study. Because of the file size, we recommend that you first save the file to your computer by right-clicking the mouse and choosing "Save Target As ...", and then open the file in Adobe Acrobat Reader from your computer.


Module #1: Motivation for Object-Oriented Design
Module #2: Object-Oriented Foundations
Module #3: The Power of Reuse
Module #4: The Java Language

Course Summary

This course provides a conceptual overview of object-oriented (OO) technology. Historical roots, strengths and weaknesses, and the mechanisms of encapsulation, inheritance, composition and polymorphism are introduced. Some basic features of the popular Java language are also discussed. It is intended as a first step for those interested in making the transition from procedure-oriented programming to the object-oriented paradigm. This transition requires a new way of thinking. There are a number of reasons why engineers might want to consider acquiring OO knowledge and skills in a language such as Java. The investment in OO technology has the potential for reducing cost and increasing reliability.


Once you finish studying the above course content, you need to take a quiz to obtain the PDH credits.

Take a Quiz

DISCLAIMER: The materials contained in the online course are not intended as a representation or warranty on the part of PDH Center or any other person/organization named herein. The materials are for general information only. They are not a substitute for competent professional advice. Application of this information to a specific project should be reviewed by a registered architect and/or professional engineer/surveyor. Anyone making use of the information set forth herein does so at their own risk and assumes any and all resulting liability arising therefrom.