Thinking in Objects and their Collaboration: Introducing Object-Oriented Technology

Although many professionals in education believe that an ‘objects first’ approach is the best method of introducing object-oriented technology, there is no common agreement on how to start such courses. Current study programs often begin by teaching a chosen object-oriented programing language, where students are confronted by a large amount of syntactical detail. Instead of focusing on the basics of object-oriented technology, namely objects and their collaborations, difficulties in handling the details of the programing language lead to a very scattered knowledge of object-oriented concepts. This is dangerous, as learners are left with a set of unconnected knowledge fragments. Approaches which embed different knowledge fragments in an overall knowledge view are known as “cognitive apprenticeship” approaches. The main idea of cognitive apprenticeship is continuous practice. We present a learning environment for introducing object-oriented technology in upper secondary schools based on cognitive apprenticeship. We use a visual programing language to away from the details and provide tool support to aid practice. We present the learning sequencewhich is used and show the impacts it makes on the course structure in our experiment in the chosen object-oriented programming language The Joint Task Force on Computing Curricula IEEE Computer Society.

[1]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[2]  J. Borstler,et al.  Teaching OO concepts-a case study using CRC-cards and BlueJ , 2002, 32nd Annual Frontiers in Education.

[3]  Michael Kölling,et al.  Objects First with Java - A Practical Introduction Using BlueJ (5th Edition) , 2002 .

[4]  Said Hadjerrouit,et al.  A constructivist approach to object-oriented design and programming , 1999, ITiCSE '99.

[5]  Mordechai Ben-aft,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[6]  Ulrich Nickel,et al.  Integrating UML diagrams for production control systems , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[7]  John Daniels,et al.  Object principles (poster session): back to basics , 2000, OOPSLA '00.

[8]  Klaus Füller Objektorientiertes Programmieren in der Schulpraxis , 1999, INFOS.

[9]  Pm Jenkinson,et al.  Cognitive , 2020, Definitions.

[10]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[11]  Christian Holmboe,et al.  A cognitive framework for knowledge in informatics: the case of object-orientation , 1999, ITiCSE '99.

[12]  Susan E. Newman,et al.  Cognitive Apprenticeship: Teaching the Craft of Reading, Writing, and Mathematics. Technical Report No. 403. , 1987 .

[13]  Kent L. Beck,et al.  A laboratory for teaching object oriented thinking , 1989, OOPSLA '89.