JxLogo is an undergraduate student project developed at Padua University and entirely realized in Java. It adds an object oriented extension to the Logo language and it integrates in the environment an effective graphical interface and useful tools. The introduction of this extension makes it arise some general questions about its educational motivations, as pointed out in the introduction. Then the paper discusses how the object oriented component can effectively support Logo users of different ages in learning complex concepts. The power of the proposed approach is showed through the introduction of the Role abstraction as a form of dynamic inheritance, in contrast with the traditional static inheritance based on derivation between classes. Such an abstraction is introduced through the known Role Object Pattern: two implementations of this pattern are presented, one that uses the JxLogo language constructs, and another based on the TurtleRole class that is provided at low level. Both levels of implementation permit to add transitory behaviours and attributes to the Turtle basic class. Other relevant elements of the environment are also presented, specifically how events are currently supported. Finally some didactic motivations try to answer to the questions aforementioned and to justify the introduction of advanced programming issues as accessible learning options.

Turtles with Roles: an application of an Object Oriented Pattern in JxLogo

MORO, MICHELE
2007

Abstract

JxLogo is an undergraduate student project developed at Padua University and entirely realized in Java. It adds an object oriented extension to the Logo language and it integrates in the environment an effective graphical interface and useful tools. The introduction of this extension makes it arise some general questions about its educational motivations, as pointed out in the introduction. Then the paper discusses how the object oriented component can effectively support Logo users of different ages in learning complex concepts. The power of the proposed approach is showed through the introduction of the Role abstraction as a form of dynamic inheritance, in contrast with the traditional static inheritance based on derivation between classes. Such an abstraction is introduced through the known Role Object Pattern: two implementations of this pattern are presented, one that uses the JxLogo language constructs, and another based on the TurtleRole class that is provided at low level. Both levels of implementation permit to add transitory behaviours and attributes to the Turtle basic class. Other relevant elements of the environment are also presented, specifically how events are currently supported. Finally some didactic motivations try to answer to the questions aforementioned and to justify the introduction of advanced programming issues as accessible learning options.
2007
Proceedings of the 11th European Logo Conference
9788089186204
File in questo prodotto:
Non ci sono file associati a questo prodotto.
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11577/1780291
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact