Object-oriented design: a responsibility-driven approach
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
A cognitive framework for knowledge in informatics: the case of object-orientation
ITiCSE '99 Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education
Communications of the ACM
UML 2001: a standardization odyssey
Communications of the ACM
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Do we really teach abstraction?
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Encapsualtion and reuse as viewed by java students
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Programming in context: a model-first approach to CS1
Proceedings of the 35th SIGCSE technical symposium on Computer science education
The quarks of object-oriented development
Communications of the ACM - Next-generation cyber forensics
How intuitive is object-oriented design?
Communications of the ACM - Web searching in a multilingual world
Effective preparation for design review: using UML arrow checklist leveraged on the Gurus' knowledge
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Another approach for the teaching of the foundations of programming using UML and Java
CEA'09 Proceedings of the 3rd WSEAS international conference on Computer engineering and applications
Teaching software modeling in computing curricula
Proceedings of the final reports on Innovation and technology in computer science education 2012 working groups
Hi-index | 0.00 |
Abstract thinking is a vital skill when learning computer science. Object technology and the concepts it is based upon make this skill even more crucial. However, previous research works show that students in top universities as well as experienced practitioners in industry encounter difficulties in thinking in abstract terms while practicing object oriented development. In this paper we suggest an iterative teaching methodology for supporting students in learning object oriented concepts. The suggested methodology is based on familiarizing students with modeling languages and tools at the early stages of their learning and iterating between model and code. We theoretically examine the contribution of modeling languages, in particular UML, to abstract thinking and consequently to the understanding of object oriented concepts and present some observations acquired during a trial execution of this methodology in a university course.