Warren T. Jones, Ph.D., P.E.
(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.
At the conclusion of this course, the student will:
This course is
intended for all engineers.
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.
TABLE OF CONTENT
Module #1: Motivation
for Object-Oriented Design
Module #2: Object-Oriented Foundations
Module #3: The Power of Reuse
Module #4: The Java Language
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.