Abstract:
Loud discussions concerning various ways of teaching object-orientation have taken place without much empirical evidence for any position. This paper reports qualitative observations of learning of object-oriented programming in an introductory course. The students were found to cope reasonably well with the object-oriented concepts, and they had learnt procedural programming first. However, when modelled the real world domain to be represented in the program, they imagined the model and coded it without explicit analysis and design.
Their problems may be attributed to the high complexity generated by the five different areas of attention the students have to cope with. In addition to representing the problem domain in the program execution, they have to design the other components of the program, like user interface and file handling, and relate these to the reality model.
Three ways of improving teaching are suggested, making the areas of attention and the ways to relate them more explicit for the students, forcing modelling by means of a tool, and reducing complexity by means of programming environments that visualize objects and their behaviour.
Their problems may be attributed to the high complexity generated by the five different areas of attention the students have to cope with. In addition to representing the problem domain in the program execution, they have to design the other components of the program, like user interface and file handling, and relate these to the reality model.
Three ways of improving teaching are suggested, making the areas of attention and the ways to relate them more explicit for the students, forcing modelling by means of a tool, and reducing complexity by means of programming environments that visualize objects and their behaviour.