Towards an object‐oriented programming system for education

In this article, an ongoing research project conducted in the Computer Science department of the University of Vigo is described. Its main objective is to serve as a vehicle for learning object‐oriented programming. Although it is still in development, it has been successfully employed in a number of different courses. Its main characteristics are (a) support of prototype‐based object orientation, which is a model of object orientation that actually wraps the class‐based model; (b) future support for object persistence, which simplifies to the minimum all input/output issues; and (c) support of multiple platforms, through a portable bytecode. We think that the combination of all of these possibilities, the obtained results in its first use, and the further development of this project will lead to an interesting, useful tool which would be recommended for object‐oriented teaching. The simplicity of the prototype‐based model of object orientation, the dramatic decrease in complexity for programs due to the direct support of persistence, and all facilities naturally provided by the feature of multiplatform support makes it the ideal tool for learning, allowing the educator to stress on the actually important issues of object‐oriented programming. © 2006 Wiley Periodicals, Inc. Comput Appl Eng Educ 14: 243–255, 2006; Published online in Wiley InterScience (www.interscience.wiley.com); DOI 10.1002/cae.20079

[1]  Michael Kölling The Blue Language , 1999 .

[2]  W. Paul Cockshott,et al.  Layered implementations of persistent object stores , 1989, Softw. Eng. J..

[3]  D. Ungar,et al.  SELF: the power of simplicity (object-oriented language) , 1988, Digest of Papers. COMPCON Spring 88 Thirty-Third IEEE Computer Society International Conference.

[4]  Patrick Naughton,et al.  The Java Handbook , 1996 .

[5]  Malcolm P. Atkinson,et al.  A review of the rationale and architectures of PJama - a durable, flexible, evolvable and scalable orthogonally persistent programming platform , 2000, SMLI TR.

[6]  Jack Trout,et al.  The Power Of Simplicity , 1998 .

[7]  Randall B. Smith,et al.  Self: The power of simplicity , 1987, OOPSLA 1987.

[8]  Stéphane Ducasse,et al.  2nd Workshop on Object-Oriented Language Engineering for the Post-Java Era: Back to Dynamicity , 2004, ECOOP Workshops.

[9]  Marc Shapiro,et al.  PerDiS ―- a Persistent Distributed Store for Cooperative Applications , 1997 .

[10]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[11]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[12]  J. Lange,et al.  The power of simplicity , 2003, International journal of STD & AIDS.

[13]  Ronald Morrison,et al.  Orthogonally persistent object systems , 1995, The VLDB Journal.

[14]  Michael Kölling,et al.  The Problem of Teaching Object-Oriented Programming, Part 2: Environments , 1999, J. Object Oriented Program..

[15]  Adele Goldberg,et al.  SmallTalk 80: The Language , 1989 .

[16]  Niklaus Wirth The Programming Language Pascal (Reprint) , 2002, Software Pioneers.

[17]  Juan Manuel Cueva Lovelle,et al.  An Object-Oriented Abstract Machine as the Substrate for an Object-Oriented Operating System , 1997, ECOOP Workshops.

[18]  Ole Agesen,et al.  Towards a Universal Implementation Substrate for Object-Oriented Languages , 1996 .

[19]  Emilio García Roselló,et al.  First Impressions about Executing Real Applications in Barbados , 2001 .

[20]  Craig Chambers,et al.  Object-Oriented Multi-Methods in Cecil , 1992, ECOOP.

[21]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[22]  Bjarne Stroustrup,et al.  The Design and Evolution of C , 1994 .

[24]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..