-
A constructivism based approach
to Teach Object -Oriented
programming
The proposed
approach is motivated by the theoretical
viewpoint of constructivism that stresses the
importance of the continuity of knowledge
growth, based on existing knowledge. Experience
from every day life is used to anchor new
knowledge in constructing software systems.
The “Goody’s
example”, a real-world system was adopted to
create the conceptual framework of the OO
paradigm. We utilize informal use-cases, class
diagrams, and object interaction diagrams to
facilitate students in exploiting their
real-world experience and building on it the
conceptual framework of the object-oriented
paradigm. The approach is characterized as
software-engineering-centered and more precisely
as a design-first approach.
Java was adopted
to introduce the constructs necessary for the
realization of this framework. A “Lego
construction” approach was adopted to guide
students to first focus on the basics of
integrating existing components and later on
building new ones.
A
set of assignments based on the Reverse
Polish Notation Calculator was developed to
guide students to implement their own GUI
calculator following a well-defined step-by-step
development process. |