As mentioned in the literature review section, software
tools have been categorized into 5 categories: narrative tools,
visual programming tool (static and dynamic visualization),
flow-model tools, specialized output realizations and tiered
language tools [15]. According to figure 4, Alice, Scratch and
Jeeroo are categorized as a narrative and visualize tool.
Moreover, Jeeroo is multi-language as well. BlueJ, Greenfoot
and Raptor are visual and flow-model tools. JPIE is a visual
tool. Baltie is a visual and tiered-language tool. Lastly, Jhave
the specialized output realization tools guiding the users
through their learning process. As it can be seen, different
functionalities are being researched, implemented, assessed in
order to give as much supports to the learners as possible. No
software seems to have given the effective support to the
novice learners yet.
B. Methodology
A qualitative analysis was done in order to identify the
problems that novice learners faced in understanding OOP. An
online survey was carried out. Thirty two surveyees of age
between 18 to 28 participated in this survey. Some of them
already learnt OOP some years ago and some of them are
beginners to OOP. The survey consisted of four sections: the
profile of the surveyee , his motivation to learn OOP, his and
others’ difficulties faced in learning OOP and the tools they
have been using or using while learning OOP for the first
time.
In the profile section (first), data collected allowed us to
identify whether he is a male or female respondent. Morever,
it allows us to know the age and the highest qualitication of
the person. The variables in the profile section allowed us to
be able to know whether the person filling the form is an
expert or a beginner to OOP.
In the motivation section (second), the data collected
allowed us to know whether the surveyee still does want to
learn OOP or he is discouraged by the complexity of OOP
concepts.
The difficulties faced with OOP section (third) allowed us
to know how the surveyee finds OOP for novice learners. He
was asked to rate the complexity of the following topics for a
novice learner: inheritance, association and polymorphism.
The fourth section, allows us to identify those software
which are currently being used by most people. It was seen
that most of people who do not like OOP have been using
advanced IDE when they first started learning OOP. These
tools were complicated for them to work with and to learn
OOP.
The approach taken was to enhanced blueJ because it has a
simple user interface compared to others. Furthermore,