Learning object-oriented design and programming is
challenging for novices, especially for student who have
already familiar with procedural language paradigm. The
shift from procedural to object-oriented paradigm is a
difficult task. We faced the problems emanating from such a