0% found this document useful (0 votes)
18 views1 page

Playing With Metaphors

Uploaded by

Anh-Tôn Duong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views1 page

Playing With Metaphors

Uploaded by

Anh-Tôn Duong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Playing with Metaphors: A Methodology to Design Video

Games for Learning Abstract Programming Concepts


Jeisson Hidalgo-Céspedes, Gabriela Marín-Raventós, Vladimir Lara-Villagrán
Centro de Investigaciones en Tecnologías de la Información y Comunicación (CITIC), Universidad de Costa Rica
{jeisson.hidalgo, gabriela.marin, vladimir.lara}@ucr.ac.cr

ABSTRACT computer programming. But their game concepts (tanks, crates...)


Learning to program a computer is a difficult task for many are not direct metaphors of abstract programming concepts. We
Computer Science students. Constructivism theory states that propose a methodology for developing video games where objects
learning is unavoidably done through association of new concepts represent simultaneously both worlds: a familiar real life concept
with existing ones. In order to learn abstract programming and an abstract programming concept. When students follow
concepts, like memory indirection and execution threads, students natural gameplay rules for those objects, they automatically learn
must build them upon life experience concepts. We hypothesize abstract programming rules. We illustrate our five step
that easing the association process by using metaphors, and letting methodology with an example of a puppetry game:
students program them directly through video games, can foster 1. Choose the abstract concepts to represent with metaphors.
learning of abstract concepts. We propose a methodology to We chose the concepts of concurrency and memory handling
design video games under this principle, and provide an example in C++ because they were reported as the most difficult and
using metaphors for difficult abstract programming concepts. useful topics to learn by our surveyed students.
2. Find colloquial concepts that resemble abstract ones. We
Categories and Subject Descriptors found puppetry fits the selected concepts (Figure 1). A
K.3.2 [Computers and education]: Computer and Information puppeteer resembles an execution thread that follows a script
Science Education – Computer science education (code segment). Puppets placed in the scenery (dynamic heap
segment) must be controlled through strings (pointers) from
Keywords the puppeteer's working area (stack segment). Each puppet
Learning; programming language; video game; metaphor must be handled by an independent puppeteer (concurrence).
Large puppets, like Chinese dragons, must be controlled by
1. PLAYING WITH METAPHORS two or more puppeteers (shared memory).
Constructivism theory states learning is done by association of
3. Build a game idea with colloquial concepts. We have
new concepts with existing ones [1]. When learning computer
designed a game that empowers students to be active
programming, students must mentally construct abstract concepts
playwrights, which build their own theatre plays.
like pointers and threads, by associating them with other concepts
4. Support other abstract concepts, if applicable. Our metaphor
acquired in their life experience. Because abstract concepts cannot
can also support debugging (e.g. run the script step by step)
be experienced by the senses, students must resort to imagination
and inheritance and polymorphism (e.g. create new puppets).
in order to make these associations. When left to the imagination
5. Implement and evaluate the game idea.
alone, these associations can be weak or incorrect.
Using this methodology, the puppetry metaphor was constructed
Association of abstract computer concepts can be established with and validated by professors. We are working on getting additional
ordinary concepts through metaphors. Teachers can use verbal or metaphors validated or, even better, generated by students.
illustrated metaphors, as Waguespack did with programming
concepts [3], and Forišek and Steinová with algorithms [2], 2. REFERENCES
without empirical evaluation of their strategies. Constructivism [1] Bogoyavlensky, D.N. and Menchinskaya, N.A. 2011. La
theory states students learn in active state; in other words working psicología del aprendizaje desde 1900 a 1960. Psicología y
directly with the metaphors in order to deduce, by themselves, the pedagogía. Ediciones Akal. 119–188.
fundamental principles of abstract concepts through ordinary
concepts. We hypothesize that representing metaphors of abstract [2] Forišek, M. and Steinová, M. 2012. Metaphors and analogies
programming concepts in a video game, and letting students for teaching algorithms. SIGCSE ’12, 15.
program them directly, can help students learn them better. [3] Waguespack, L.J. 1989. Visual metaphors for teaching
programming concepts. ACM SIGCSE Bulletin, 141–145.
Video game related systems such as Robocode, Greenfoot,
CodeCombat, and CodeSpells, have been developed for learning

Permission to make digital or hard copies of part or all of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. Copyrights for third-
party components of this work must be honored. For all other uses, contact
the Owner/Author. Copyright is held by the owner/author(s)
ITICSE '14, Jun 21-25 2014, Uppsala, Sweden.
ACM 978-1-4503-2833-3/14/06.
http://dx.doi.org/10.1145/2591708.2602661 Figure 1. Paper prototype of the game (script text not important)

348

You might also like