findings from both the survey and background study
concluded that class-diagram is a better choice for learning
OOP. BlueJ consists of class-diagrams which look simple to
users. As blueJ is the simplest tool among all the existing
ones, it was easier to progressively add features to it. This will
ultimately allow us to achieve our goal of displaying features
according to user’s proficiency level. Newer is the learner
with OOP concepts, the lesser features will be displayed to
him. Easier is the learner with OOP concepts, more features
will be displayed to him.
C. Results of the findings
Programming is not an easy task. We should not only do
the efforts of understanding the problem to solve, but we
should also structure it and code it in defined syntax. This
complexity of programming is found to be difficult by
students. Students like to code. 27 (84%) out of 32 people
surveyed, like object-oriented programming, 26 (81%)
respondents find object-oriented programming difficult for
novice learners. 16% of the students claimed that they do not
like OOP and they find it difficult to learn.
Concepts such as polymorphism, inheritance and
association are found to be complex for novice learners. Our
survey required respondents to rate the level of complexity of
each of these OOP concepts. The rating set (1-3) was of
increasing difficulty. Rating 1 meant the concept was easy.
Rating 2 meant the concept was fairly difficult. Rating 3
meant the concept was very difficult to be taught to a novice.
15 people found inheritance relatively simple compare to
association and polymorphism. Association is seen to be more
difficult compared to inheritance. It is perceived to be less
difficult compared to polymorphism. Finally, Polymorphism is
seen to be a very difficult topic to be introduced to a novice.
The following 3 figures show the result of the survey carried
out: