atas siie13

Upload: vitor-malaggi

Post on 07-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Atas SIIE13

    1/317

  • 8/18/2019 Atas SIIE13

    2/317

  • 8/18/2019 Atas SIIE13

    3/317

    15.ª edição do Simpósio Internacional de InformáticaEducativa (SIIE)

    Editores / EditorsMaria José Marcelino

    Maria Cristina Azevedo Gomes António José Mendes

    ISBN978-989-96261-3-3

    Copyright2013

  • 8/18/2019 Atas SIIE13

    4/317

    2

    Desde a sua primeira edição, em 1999, que o Simpósio Internacional de InformáticaEducativa granjeou um lugar de destaque no espaço ibero-americano no que se refereà área das Tecnologias da Informação e da Comunicação na Educação. Atualmente nasua 15ª edição, organizada pela Escola Superior de Educação do Instituto Politécnicode Viseu e que se realiza na cidade do mesmo nome, o Simpósio tem sido organizadoalternadamente e maioritariamente em Portugal e em Espanha, tendo também passadopor países como o Chile e Andorra.

    Convidámos três especialistas internacionais de renome a quem gostaríamos de deixaraqui o nosso especial agradecimento pelo seu valioso contributo para este fórum. Forameles o Professor John Potter, do London Knowledge Lab, Reino Unido, o Professor

     António Dias de Figueiredo, da Universidade de Coimbra, Portugal, e o ProfessorBaltasar Fernández-Manjón, da Universidade Complutense de Madrid, Espanha.

    Gostaríamos também de agradecer a todos os autores de trabalhos submetidos, num

    total de 108 trabalhos provenientes de 5 países, que foram revistos criteriosamente pelaComissão de Programa do Simpósio, processo do qual resultaram a aprovação de 46comunicações e 18 posters. Estes trabalhos são provenientes de Portugal,Espanha, Brasil, Chile e Peru. Um agradecimento também especial a quem acolheuesta edição do Simpósio, a Escola Superior de Educação do Instituto Politécnico deViseu, à Comissão de Programa e restantes revisores, à Comissão Organizadora,voluntários e a todos os patrocinadores que de alguma forma trabalharam e permitiramque o Simpósio se realize com êxito.

    Uma palavra ainda para as revistas Iberoamericana de Tecnologías del Aprendizaje, daSociedade de Educação do IEEE (IEEE EdSoc), e IE Comunicaciones, da Asociaciónpara el Desarrollo de la Informática Educativa (ADIE), e para a editora Springer, pornos terem dado a possibilidade de selecionar um conjunto de trabalhos para posterioredição.

    Desejamos a todos um excelente Simpósio onde possam de forma livre apresentar e

    colocar em confronto as vossas ideias e propostas das quais certamente nascerãooutras para futuras edições.Maria José Marcelino

  • 8/18/2019 Atas SIIE13

    5/317

    3

    Since its rst edition in 1999, the International Symposium on Computers in Education

    earned a reputable place in the Ibero-American space in the area of Information andCommunication Technologies in Education. Currently in its 15th edition, organized bythe School of Education at the Polytechnic Institute of Viseu, which is held in the city ofthe same name, the Symposium has been organized alternately and mainly in Portugaland Spain, having also gone through countries such as Chile and Andorra.

    We invited three renowned international experts to whom we would like to leave here ourspecial thanks for their valuable contribution to this forum. They are Professor JohnPotter, from the London Knowledge Lab, United Kingdom, Professor António Diasde Figueiredo, from the University of Coimbra, Portugal, and Professor BaltasarFernández-Manjón, from the Complutense University of Madrid, Spain.

    We would also like to thank all the authors of submitted proposals, a total of 108 papersfrom 5 countries, which were carefully reviewed by the Program Committee of the

    Symposium, a process which resulted in the approval of 46 communications and 18posters. These works are from Portugal, Spain, Brazil, Chile and Peru.

     A special thanks also to those who welcomed this Symposium edition, the School ofEducation at the Polytechnic Institute of Viseu, to the Program Committee and additionalreviewers, the Organizing Committee, volunteers and all the sponsors that somehowworked and allowed for the success of the Symposium.

     A word for the journals Iberoamericana de Tecnologías del Aprendizaje, of the EducationSociety of the IEEE (IEEE EdSoc), and IE Comunicaciones, of the Asociación para elDesarrollo de la Informática Educativa (ADIE), and for Springer publisher for givingus the possibility to select a group of papers for further publication.

    We wish you all a great Symposium where you can freely present and put in confrontyour ideas and proposals from which will certainly emerge new ones for future editions.

    Maria José Marcelino

  • 8/18/2019 Atas SIIE13

    6/317

    4

    Comissão de Programa / Program Committee

    Presidente / President:

    Maria José Marcelino (Universidade de Coimbra, Portugal)

     Alberto Cañas (University of West Florida, USA)

     Alda Pereira (Universidade Aberta, Portugal)

     Álvaro Figueira (Universidade do Porto, Portugal)

     Ana Amélia Carvalho (Universidade de Coimbra, Portugal)

     Anabela Gomes (InstitutoPolitécnico de Coimbra, Portugal)

     Ángel Velázquez Iturbide (Universidad Rey Juan Carlos, Spain)

     Antonio Bartolomé (Universitat de Barcelona, Spain)

     António Dias de Figueiredo (Universidade de Coimbra, Portugal)

     António José Mendes (Universidade de Coimbra, Portugal)

     António José Osório (Universidade do Minho, Portugal) António Moreira (Universidade de Aveiro, Portugal)

    Baltasar Fernández Manjón (Universidad Complutense de Madrid,

    Spain)

    Belmiro Rego (Instituto Politécnico de Viseu, Portugal)

    Carina González (Universidad de La Laguna, Spain)

    Carlos Brigas (Instituto Politécnico da Guarda, Portugal)

    Fernando Albuquerque Costa (Universidade de Lisboa, Portugal)

    Francisco José García Peñalvo (Universidad de Salamanca, Spain)

    Henrique Manuel Pires Teixeira Gil (Instituto Politécnico de Castelo

    Branco, Portugal)Ignacio Aedo Cuevas (Universidad Complutense de Madrid, Spain)

    Isabel Chagas (Universidade de Lisboa, Portugal)

    Isabel Fernández de Castro (Universidad del País Vasco, Spain)

    Isabel Pereira (Instituto Politécnico de Leiria, Portugal)

    Jaime Sánchez (Universidade do Chile, Chile)

    Jesús González Boticario (Universidad Nacional de Educación a

    Distancia, Spain)

    José Luís Ramos (Universidade de Évora, Portugal)

    José Luis Sierra (Universidad Complutense de Madrid, Spain)

    Juan Manuel Dodero Beardo (Universidad de Cádiz, Spain)Leonel Morgado (Universidade de Trás-os-Montes e Alto-Douro,

    Portugal)

    Lucila Santarosa (Universidade Federal do Rio Grande do Sul,

    Brazil)

    Luis Anido Rifón (Universidad de Vigo, Spain)

    Luis de la Fuente Valentín (Universidad de La Rioja, Spain)

    Manuel Ortega Cantero (Universidad de Castilla-La Mancha, Spain)

    Maria João Gomes (Universidade do Minho, Portugal)

    Maria João Loureiro (Universidade de Aveiro, Portugal)

    Maria João Silva (Instituto Politécnico do Porto, Portugal)Maria Teresa Pessoa (Universidade de Coimbra, Portugal)

    Maribel Pinto (Instituto Politécnico de Viseu, Portugal)

    Martín Llamas Nistal (Universidad de Vigo, Spain)

    Maximiliano Paredes Velasco (Universidad Rey Juan Carlos,

    Spain)

    Miguel Ángel Redondo Duque (Universidad de Castilla-La

    Mancha, Spain)

    Miguel Angel Sicilia (Universidad de Alcalá de Henares, Spain)

    Paulo Cysneiros (Universidade Federal de Pernambuco, Brazil)

    Ramon Fabregat Gesa (Universitat de Girona, Spain)

    Rosa M. Carro Salas (Universidad Autónoma de Madrid, Spain)

    Rosa Viccari (Universidade Federal do Rio Grande do Sul, Brazil)Scheila Martins (CISUC, Portugal)

    Vitor Teodoro (Universidade Nova de Lisboa, Portugal)

    Comissão Organizadora / Organizing Committee

    Presidente / President:

    Cristina Azevedo Gomes (Instituto Politécnico de Viseu, Portugal)

    Ivan Terra (IPV, Portugal)

    Luís Carvalheiro (IPV, Portugal)

    Luísa Augusto (IPV, Portugal)Marco Pinheiro (IPV, Portugal)

    Maria Figueiredo (IPV, Portugal)

    Nelson Gonçalves (IPV, Portugal)

    Pedro Ferreira (IPV, Portugal)

    Pedro Rito (IPV, Portugal)

    COMISSõES/ COMMITTEES

  • 8/18/2019 Atas SIIE13

    7/317

    /

    C / K

    Notas biográcas / Biographies ....................................................................................................................................10

    D,

    Designing and Delivering Adaptive Educational Games through Multi-touch Surfaces for Users with Cognitive

    Limitations (sessão 3.2) ...............................................................................................................................................12

    Familias de Visualizaciones de los Árboles de Recursión (sessão 6.1) ......................................................................18

    Introducing a Design-Preserving Implementation Strategy in a Compiler Construction Course (sessão 6.1) .............24

    OptimEx: Un Sistema para la Experimentación con Algoritmos de Optimización (sessão 6.1) ..................................30

    D ,

    Modelado Formal de Marco Instrucional Colaborativo CIF con Soporte para Moodle (sessão 7.1) ............................37

    P

     Architecture of a Learning Organizer with Metacognitive Support (sessão 5.1) ..........................................................44

    T W-

    Recursos didáticos digitais para auxiliar na aprendizagem da linguagem C (sessão 5.1) ..........................................51

    Una herramienta de aprendizaje colaborativo orientada a la formación de grupos (sessão 5.1) ................................56

    G

     A Serious Game about bullying (sessão 1.2) ...............................................................................................................63

    Dispositivos móveis mais utilizados por alunos do 3º CEB para jogar (sessão 1.2) ....................................................69

     A virtualização do corpo e os jogos eletrônicos: uma nova abordagem da segunda guerra mundial a partir do jogo

    brothers in arms: road to hill 30 (sessão de posters) ...................................................................................................75

    O Poder do Jogo como Mediador do Processo Ensino-Aprendizagem (sessão de posters) ......................................77

    R

    Educational Robotics: Introduction to Algorithms in the early years through the Topobo (sessão 1.2) ........................80

  • 8/18/2019 Atas SIIE13

    8/317

    F O S, O K O E R

    Comunidades de aprendizagem emergentes: uma abordagem à educação disruptiva (sessão 1.3) .........................86

    Castro Lusitano Virtual (sessão de posters) .................................................................................................................92

    “I’ll show you how!” Children’s learning about drawing and collaboration using MyPaint (sessão de posters) ............94

    OpenLab: o projeto de Software Livre da ESEV (sessão de posters) .........................................................................96

    E

    Five years of Communication Technologies use in Higher Education in Portugal: an overview (sessão 1.3) .............99

    U ICT

     As TIC no 1º Ciclo do Ensino Básico: Resultados de uma investigação na prática de ensino supervisionada (sessão

    4.2) ...............................................................................................................................................................................105

    Incorporación e inuencia de Facebook y el uso de las Tecnologías de Información y de Comunicación (TIC) en las

    actividades académicas del estudiante universitario, en el contexto de su vida cotidiana (sessão 4.1) ....................110

    Projeto Um Computador por Aluno: propondo e avaliando metodologias e modelos pedagógicos (sessão 2.1) ........116

    Uma história coletiva, a Web 2.0 e os computadores Magalhães: uma aliança em vias de extinção (sessão 4.1).....121

    Utilizing Gamication concepts tied with Social Networks to support students in programming classes (sessão 5.1) 127

    Sondar e Sentir o Ambiente para Desenvolver o Pensamento Abstrato: Avaliação das Potencialidades de Sensores

    Eletrónicos (sessão 2.2) ...............................................................................................................................................133

    WxMaxima como ferramenta de ensino e aprendizagem das séries de potências: opiniões de estudantes de engenharia

    de Sistemas Elétricos de Energia do ISEP (sessão 5.1) ...............................................................................................139

    Regressão Linear e Correlação: Experiência de aprendizagem baseada no modelo ABP (Aprendizagem Baseada em

    Problemas) (sessão de posters)...................................................................................................................................145

    Uma Proposta de Avaliação Pedagógica nos Cursos Semipresenciais de Formação Continuada. (sessão de

    posters) .....................................................................................................................................................................147

    I ICT T / L

    Dinamizar a biblioteca escolar com recurso a dispositivos móveis: uma experiência com alunos do 9º ano (sessão

    6.2) ...............................................................................................................................................................................150

    E-Portfólios e práticas de avaliação participadas. Um estudo na Educação Pré-Escolar (sessão 2.2) .......................156

  • 8/18/2019 Atas SIIE13

    9/317

    Empowering English language learners with Web 2.0 tools (sessão 7.2) ....................................................................160

    O papel da interação entre pares simétricos na construção de mapas conceituais (sessão 6.2) ..............................166

    Portal virtual Hands-on-Tec: recurso de autoria para professores da educação básica (sessão 2.1) .........................172

    Recursos digitais para o ensino-aprendizagem de Línguas Estrangeiras (ELE e FLE1) (sessão 2.1) ........................178

    O impacto de um protótipo multimédia na motivação para aprender língua portuguesa (sessão de posters) ...........183

    S ICT

     As TIC como ferramentas pedagógicas: estudo com alunos do 1º ciclo do ensino básico do distrito da guarda (sessão

    4.2) ...............................................................................................................................................................................186

    Conceções de crianças em idade pré-escolar sobre o Facebook (sessão 2.1) ...........................................................191

    Online Violence involving school-aged children: the disclosure of online experiences (sessão de posters) ...............196

    G,

    Tecnologias da comunicação em contextos pessoais e de aprendizagem: a inuência da dimensão do género nos

    alunos do ensino superior (sessão 4.1)........................................................................................................................199

    ICT

    MyDressRecommender: A Distributed Mobile Dress Recommender for Users with Special Needs (sessão 3.2) .......206

    Teclado virtual silábico-alfabético: tecnologia assistiva para pessoas com deciência física (sessão 3.2) .................212

    M-LEARNING: desaos e possibilidades com o uso dos tablets (sessão de posters)  ................................................218

    T ICT

     A formação TIC de educadores de infância: um estudo comparativo entre Portugal e Espanha (sessão 1.1) ...........221

    Elementos para formação continuada de professores em informática educativa nas escolas públicas brasileiras

    (sessão 1.1) ..................................................................................................................................................................227

    Formação de Professores em LMS: o Modelo Bietápico (sessão 2.1) ........................................................................233

    Mídias na sala de aula: o papel da formação continuada para o desenvolvimento de novas práticas pedagógicas

    (sessão 1.1) ..................................................................................................................................................................239

    Courseware SeRe - um recurso digital para a Educação para o Desenvolvimento Sustentável. Da conceção do

    recurso à formação de professores. (sessão de posters) ............................................................................................245

  • 8/18/2019 Atas SIIE13

    10/317

    Software Educativo «GCompris» no 1º Ciclo do Ensino Básico na área da Matemática: Resultados de uma investigação

    em contexto de sala de aula (sessão de posters) .........................................................................................................247

    TIC y Geometría. Concepciones de los alumnos estudiantes para maestros (sessão de posters) .............................249

    D

     A contribuição do uso das TIC no processo de ensino aprendizagem (sessão 1.3) ....................................................252

    Educação a Distância: relato de experiência algumas considerações sobre disciplinas semipresenciais (sessão 3.1) ... 258

    Estratégias de e-moderação num curso realizado em b-learning (sessão 3.1) ...........................................................264

    Modelos de produção adotados no desenvolvimento de cursos técnicos a distância (sessão 3.1) ...........................270

    O uso das TICs para comunicação da equipe de um curso de Pós-Graduação em Informática na Educação, em um

    modelo de gestão participativa (sessão 4.1) ................................................................................................................276

    Proposta de um novo standard para a avaliação da qualidade nos processos do e-learning (sessão 5.2) ................282

    Simulação e análise do software de autoria colaborativa de materiais educacionais hipermídia um contexto de TV

    Digital (sessão 6.2) .......................................................................................................................................................288

     A inclusão digital na formação inicial de professores a distância (sessão de posters) ...............................................294

    O aspecto cognitivo da comunicação e a teoria de Moore em um forum de discussão (sessão de posters) ..............296

    S W,

     Agile Development for Education effectiveness improvement (sessão 7.1) .................................................................299

    Proposta de Referencial a aplicar na Avaliação de Comunidades Online destinadas à Supervisão de Investigação

    (sessão 7.1) ..................................................................................................................................................................305

     Avaliação da Utilização de Comunidades Online na Supervisão de Investigação (sessão de posters) ......................311

    Uso das Redes Sociais por estudantes de jornalismo no processo aprendizagem (sessão de posters) ....................313

  • 8/18/2019 Atas SIIE13

    11/317

    9

    C / K

  • 8/18/2019 Atas SIIE13

    12/317

    10

    António Dias de Figueiredo

    Emeritus professor of Information Systems at the Faculty of Science and Technology

    of the University of Coimbra, Portugal, and an independent consultant and researcher

    on IT in Learning & Education and on the Socio-Technical Sustainability of Business,

    Innovation, Education, and IT.

    Baltasar Fernández-Manjón

     Associate professor in the Department of Software Engineering and Articial

    Intelligence (DISIA) at the Complutense University of Madrid (UCM). Dr. Fernán-

    dez-Manjón is also the Vice Dean of Research and Foreign Relationships at the

    Computer Science School of this university. He co-leads the Complutense e-learn-

    ing research group .

    John Potter 

    Senior Lecturer in Education and New Media in the Department of Curriculum,

    Culture and Media at the London Knowledge Lab. He is currently the departmental

    postgraduate research tutor and was formerly the programme leader for the MA

    Media, Culture & Education.

    Notas biográcas / Biographies

  • 8/18/2019 Atas SIIE13

    13/317

    11

    D,

  • 8/18/2019 Atas SIIE13

    14/317

    12

    Designing and Delivering Adaptive Educational Gamesthrough Multi-touch Surfaces for Users with

    Cognitive LimitationsMiguel

    Miguel Moraleda, Rosa M. CarroDepartment of Computer Science, Universidad Autónoma de Madrid

    Francisco Tomás y Valiente, 1128049 Madrid, Spain

    +34 91 497 [email protected], [email protected]

    ABSTRACTIn this paper we present our work on designing and delivering

    adaptive educational games for people with cognitive limitationsto be trained on issues related to personal appearance (e.g., how todress appropriately for different types of events and other aspectsrelated to hygiene and correct behaviors). The game interface is based on multi-touch surfaces, which contributes to userengagement, making the learning experience more attractive.When interacting with a game, each exercise is dynamicallygenerated for each user on the fly, according to both his/hercognitive and his/her performance when interacting with previousones. In this paper we describe how games are generated, as wellas the results of a case of study in which a group of real users withcognitive limitations interacted with diverse games through amulti-touch surface.

    Categories and Subject DescriptorsK.3.1 Computer Uses in Education

    H.1.2 User/Machine Systems

    H.5.2 User Interfaces

    General TermsHuman Factors, Experimentation, Design.

    KeywordsEducational games, multi-touch surfaces, users with cognitive

    limitations, adaptive systems, personal appearance.

    1. MOTIVATIONToday's society is quite technocratic, and advances fly faster thanfashion. What some years ago seemed to be utopian ideas,nowadays has become real. This is the case, for example, of multi-touch interfaces, a technology that is gradually invading our lives.However, this does not mean that these technologies are asexploited as they could. So far, society is not taking as muchadvantage of them as possible, either for economic reasons because their potential is disregarded, or because of a lack oftraining. An example of this situation is related to teaching andtraining. The power and potential of interactive activities, e.g., foreducation are extremely broad. However, there is still a lack of

    fresh air in teaching, and a need of new arts and renewedstrategies that encourage the students to learn. Even in what we believe our modern society, these burdens are still winning the battle, in most of the cases, instead of revolutionizing and givingrise to something really new. A slightly different context is that ofspecial education. In this context, it is firmly believed that ICTscan serve as a mean for innovation and user stimulation. The high potential of interactive activities is also recognized. However,most of the teachers in charge of training people with cognitivelimitations have not the technical abilities needed to develop andexploit these possibilities, such as, e.g., the use of multi-touchinterfaces. In other cases, it is not possible to afford funding large-scale professional developments. According to [1], although therehas been a progress in technology acquisition and use by peoplewith intellectual disabilities, an underutilization of technologiesacross the population remains.

    Focusing on the collective of people with special needs,we find a lot of possibilities in which making use of technologycan contribute to enhance people’s living, regarding both trainingand assistance [2].

    People with cognitive limitations usually present some difficultiesto carry out some activities in their daily life. One of thesedifficulties deals with choosing the right clothes for attendingcertain events (which is sometimes difficult also for people withno cognitively related barriers). For example, one can choosehis/her best clothes for attending a job interview, because of theimportance of this event, but maybe these clothes would be moreappropriate for attending a wedding instead of that interview. Thesame happens with image and behavior. One can think that arelaxed attitude is good in an interview, so that the interviewerdoes not know that he/she is nervous, but an excessive relaxationcan be improper. It is not difficult to neglect or to choose wrongoptions when dealing with these issues. Therefore, a good trainingto this respect is essential, and multimedia can play a key role inthis training. For example, the work presented in [3] describes acomputer-based program developed to teach children withintellectual disabilities hand washing skills.

    The work presented in this paper focuses on helping people withcognitive limitations to reinforce their knowledge on issuesrelated to the subject “Personal appearance”, through playinggames through multi-touch interfaces. Personal appearance can bedefined as the outward or visible aspect of a person. One can passa lot of information about oneself to those around through

  • 8/18/2019 Atas SIIE13

    15/317

    13

     personal appearance, without verbal communication. In thecurrent era, all information that we disclose is transcendent, so bytaking care of personal image (in terms of hygiene, behavior andso on) one can influence the impressions and emotions producedin others, to some extent. Regarding the basic elements that makeup one’s image, three main categories can be established:clothing, personal care (hygiene) and behavior. The combinationof these three aspects makes up the information that a person'stransmits to those around him/her. Therefore, the games that wehave developed so far deal with the three of them.

    Figure 1: Personal appearance

    Each game comprises a set of exercises to be solved. Thecomponents of each exercise are selected on the fly, depending onthe user or group of users’ cognitive limitations, and proposechallenges adapted to their capabilities. We have developed asystem that supports dynamic game generation and its delivery, aswell as an authoring tool to facilitate the creation andconfiguration of games. Finally, we have developed a monitoringmodule that shows, though a graphical interface, all the datarelated to game playing, including the performance of each player when playing the games. It supports the analysis of game playing,as well as checking the evolution of each user’s performance

    along the time.

    We have provided descriptions for several games and have testedthem with young people with cognitive limitations coming to theUniversidad Autonoma de Madrid (UAM) to be trained (for twoyears) to achieve labor and social integration in the framework ofthe Promentor Programme [4]. According to their trainers, one oftheir limitations deals with choosing the adequate clothes to wear,according to the activities to carry out as well as to the placeswhere these activities take place.

    The rest of the paper is organized as follows: section 2 presentssome related work in this area. Section 3 describes thecomponents and functioning of the system created for dynamicgame generation. Section 4 presents some cases of use with real

     people with cognitive limitations. Section 5 shows the resultsobtained. Finally, section 6 comprises the conclusions of thiswork and some directions for future work.

    2. RELATED WORK In this section, we present some of the technologies andapplications developed in the context of multi-touch surfaces foreducation. In particular, we focus on some of the best known andmore related to our work: Jclic [5], e-adventure [6] and Dedos [7].

    Jclic [5] is a well-known tool for creating educational games formulti-touch interfaces. It includes a game player and an editor thatallows the creation of different types of games and their

    distribution through the Internet. These games follow linearsequences. It does not support dynamic variation of the gamesaccording to the user profile or performance.

    E-adventure [6] provides an authoring tool along with an onlinegaming system to create and deliver virtual environments thatrepresent real situations from which the students are expected to

    learn. Although giving rise to very nice games regarding theinterface, it does not support variations according to the user profile or performance either.

    Dedos [7] is a platform for creating and delivering educationalgames for multi-touch interfaces, which combines the existence ofan editor to create different types of games and a system to deliverthese games. It has been successfully tested by users with Downsyndrome. The game sequencing is the same for all the users thatinteract with them, that is, it is not possible to specify adaptationcapabilities for the games generated.

    As it can be seen, these three developments have some commonfeatures that lead to success in this context. They support bothgame authoring and delivering, through an authoring tool and a

    game player. Although the types of games supported are pre-established, the authors have certain freedom when creating thegames. However, none of them either contains or allows theauthor to specify adaptation criteria, so that the game sequencingcan vary according to features such as the student’s level ofcognitive limitation or his/her performance in previous games.This feature makes it possible to provide a personalized learningexperience to each user, which is one of the goals of this work.

    3. GAME GENERATIONThe work presented in this paper consists of two mainapplications, as shown in figure 2. The first one is an authoringtool. It facilitates the creation of adaptive games, that is, thespecification of the game features along with the adaptationcriteria, as well as the uploading of all the multimedia elements to be joined and shown during game playing. The second one is thegame player itself, which generates each exercise to be solveddynamically, by choosing the statement and the correspondingmultimedia contents. The separation of these two elements isessential, since the needs regarding not only functionality but alsointerfaces are different. The actors of this system involve, basically, the person(s) in charge of specifying the game features,who will use the authoring tool, and the final users that willinteract with the games. It is imperative that the person in chargeof creating the games is specialist on people with cognitivelimitations, so as to maximize the utility of the application.

    Figure 2. Main components

  • 8/18/2019 Atas SIIE13

    16/317

    14

    3.1 Special Requirements and DesignWhen designing the game player, it is important to consider that itis aimed at people with cognitive limitations. This involves aseries of specific requirements [8]. Some of the aspects covered in[8] are not taken into account in this development, since we havefocused on the collective mentioned in section 1 and we have

    received some feedback from the specialist that work with them inthe context of Promentor training program for labor incorporation[4]. For example, the inclusion of a character that guides the usersalong the games was considered somehow childish andunnecessary for the target group of users, even if the characterwere an adult.

    When thinking on the interface, as well as on the specific gamesto be delivered by the system, one interesting aspect to consider isrelated to the texts and elements shown, which must provideeasily understandable information. This requirement has beensatisfied following the European Association [9] advices:

    - Using a simple and direct language.

    - Expressing only one idea per sentence.

    - Avoiding jargon, abbreviations and initials.

    - Structuring the text in a clear and coherent way.

    - Using positive language.

    - Using active voice better than passive.

    - Using elements preferably press instead of dragging.

    - No spelling mistakes in the texts.

    Therefore, in order to adapt the system to intellectually limited people, we have combined well-known studies on the creation ofapplications for people with special needs, with suggestionsreceived from those experts on special education that contributedto this project.

    Regarding the interface requirements, it must fit in multi-touchsurfaces with different sizes. Moreover, as stated above, both theinterface and the elements to be shown there must be simple, easyto understand and adapted for being used by autonomous peoplewith different levels of cognitive limitations. Details about howthese requirements have been satisfied will be given in the nextsubsections.

    3.2 Game AuthoringThe authoring tool supports the specification of the different typesof games, which lead to different playing modes, all of themconfigurable regarding thematic, interaction mode, etc.

    When interacting with multi-touch surfaces, there are manydifferent strategies that may be used for game resolution,regarding interface manipulation. We studied which types ofinteractions are more suitable for people with cognitivelimitations. The research conducted in [7] shows that the peoplewith Down syndrome involved in that study had difficulties whendragging items through multi-touch surfaces, although at the endof the experiments they finally managed to do it. Our partners,experts on special education, confirmed us that this should not bea great barrier for the target group of this work, although it is notas simple as selecting elements. Therefore, the types of interactionsupported by the system for game playing, keeping in mind thespecial requirements for the final user collective, are:

    Press: The users only need to press the answer(s) that theyconsider correct.

    Drag&drop: The users must match the correct answers with themultimedia object that acts as destination, according to the gamestatement. Therefore, they must drag and drop elements within theinterface.

    Regarding the thematic, the games can be:

    Dress up games: Games addressing the issue of dressingappropriately.

    Personal Care Games: Games addressing personal care issues(e.g., hygiene, combing and so on).

    Behavior Games: Games addressing how to behave in differentsituations (attitudes, gestures, and so on).

    Game Blend: Mixture of games related to dressing, personalcaring and behaving.

    These four types of games can be combined with differentinteraction modes (press, drag&drop) to give rise to differentspecific games to be solved.

    Some more either specific or amusing types of games have beenforeseen, and, therefore, the authoring tool supports their creation.These are, so far:

    Sorting: The user must order the elements shown in the interface by dragging them to certain areas marked as answer destination.The order established by the user is evaluated. The author onlyneeds to specify the order among the elements.

    Bin Games: Mixture of games regarding thematic, withdrag&drop interactions, whose goal is for the users to choose thecorrect answers and send those incorrect to a trash shown in theinterface.

    Carrousel Games: In this case, the thematic and interaction of the

    game can be whichever from those above. Once the user hassolved the game, a carousel of pictures in motion is presented, andthe user is asked to select a particular image by pressing on it.This game mode is aimed at stimulating the players, grab their attention and, in the meanwhile, contribute to train their skillsregarding multi-touch interaction, in particular, clicking elementsin motion.

    Puzzles: Jigsaws are also supported. An image is divided intoseveral pieces and the user has to compose the image again. Theimages shown are related to personal appearance. The goal of thistype of game is double-sided. Firstly, it aims to provide the users adifferent way of having fun in this context, breaking the potentialmonotony of other types of games, similar among them. Secondly,this type of game allows them to practice on dragging items to

    specific positions across the table.With respect to individual versus team interactions, three types ofgames are supported:

    Individual Games: Each user is identified and interacts with thegames by his/her own.

    Cooperative Games: The users form teams and workcooperatively on a common goal.

    Competitive Games: The users form teams, and two teamscompete to solve the same problem first.

    Finally, the level of difficulty of the games can rely on the problem statements themselves, the number of options given tothe user as potential answers, the rate between right/wrong

  • 8/18/2019 Atas SIIE13

    17/317

    15

    answers, the options themselves (their correctness can be more orless obvious regarding the problem statement), the interactionmode, and so on.

    The authoring tool allows the authors to specify the level ofdifficulty of the types of games to be delivered, according to anyof the previously mentioned features or other. They can also

    establish the criterion for the users to move from one level to thenext/previous. In general, all the settings are configurable, so thatthe authors, experts on special education, can set them accordingto the user collective, to the specific problems and answers provided, to the system behavior desired, etc.

    In order to create a set of games, the specialists must, firstly,upload or select the multimedia elements (normally images orvideos) that will be part of the game. Each element must belabeled with those attributes relevant for the game goals. Forexample, in the case of clothing games, thick sweat pants areappropriate to play sports when it is cold. Therefore, the imagecorresponding to this piece of cloth must be labeled as “sport”,“cold” and “down” (clothing lower part).

    Once all the multimedia elements have been tagged, the authorcan create the games by providing specific statements of problemsto be solved, and marking the type of game and interaction modedesired. In addition, he/she must label the problem accordingly.For example, if the problem is “Select the appropriate clothing togo jogging when it is cold outside”, the labels to be marked on theinterface should be, on one hand, “sport” and “cold”, and, on theother hand, “positive”, to indicate that the expected answers mustfit the statement (this is done to distinguish the previous questionfrom: “Select the clothing that is not appropriate to go joggingwhen it is cold outside”).

    It is worth to remark that the potential answers for a specificstatement are selected by the system automatically. There is noneed for the author to associate answers to statements, but only toset the game level. Once a multimedia element has been labeled, itcan be used either as right answer for those statements matching positively (sports, winter) or as wrong answer for the others. Thesystem stores all the information provided previously and allowsits reuse, so that multimedia elements only need to be taggedonce. Finally, statements and multimedia elements are selected onthe fly to compose the games dynamically, as will be explained inthe next subsection.

    3.3 Game Dynamic GenerationOnce all the specifications have been provided, the systemgenerates the games at runtime, starting from them. The way ofrelating statements and potential answers is illustrated in figure 3.

    It consists, basically, on matching statement and answer labels.The procedure is the following:

    1. It selects one correct answer at the beginning, randomly fromthose whose labels fit those of the statement. While the quotaof right answers is not satisfied, it selects another onerandomly (obviously, checking that it has not been selected before).

    2. Once the right answers have been selected, it selects onewrong, randomly. The procedure to be followed is similar tothat for right answers.

    3. Afterwards, in case that the statement embraces severalobjectives, the system checks whether any incorrect answer 

    may fit any of the individual objectives. If this is the case, itreplaces this answer by another one, to make it clearer.

    4. Finally, it mixes the answers to be presented along with thestatement.

    Figure 3. Selection of potential answers for a statement

    As it has been mentioned in the previous section, the interfacemust be simple and fit in different sizes of multi-touch surfaces.The interface is composed by four areas (see figure 4). In thestatement area, a textual and concise description of the problem to

     be solved will be shown. The objective area contains imagesassociated to the statement to illustrate the question. When thegame interacting mode is that of drag&drop, this area is thedestination to which the user must drag the answers. In theresponse area, all the options given to the user as potentialanswers to the problem are shown. The size of these three areas isadjusted automatically depending on the number of elements ineach of them and also considering the device size. Finally, thestarting menu area contains a button to access to the main menu. Itis located in the lower right part of the interface. Through themain menu, the users can vary the number of players within thecurrent game or close the game.

    Figure 4: Parts of the interface

    Response Area

    Starting Menu

    Objective area

    Statement area

  • 8/18/2019 Atas SIIE13

    18/317

    16

    One issue to resolve is that of distributing the correspondingelements in them. The system works with relative (instead ofabsolute) layout positions. In case that it detects a risk ofoverlapping, it takes actions to overcome it. For example, if agame is expected to offer ten potential responses and, in a specificdevice, only eight of them fit, then the system reduces the numberof potential answers while maintaining the proportion betweencorrect and incorrect answers as much as possible.

    Regarding the adaptation supported for each user when interactingwith the application, the system stores the user actions wheninteracting with each game, and generates the next ones accordingto that information. More specifically, it counts the number of problems solved successfully and wrong within a period of time.Once the balance between the number of successes and failuresaccumulated within that period reaches a threshold, the systemassumes that the player dominates this level and upgrades it.Otherwise, if the user tendency is to fail, the level is set lower. Asit has been mentioned above, the author can establishes theadaptation criteria through the authoring tool, includinginformation such as the period length for updating the level, if

    necessary, and so on.

    3.4 MonitoringDuring game execution, the system stores all the actions performed by the students and the events occurring in the game asa series of logs. We have developed a monitoring module that presents the data in a clear and simple way. It generates differentgraphical representations of the interaction data. It facilitates oneto inspect the results of each game, the progress of each player,and so on. When the game system is closed, it sends an e-mail tothe person in charge of the game, including all the logs collectedduring the session.

    4. CASE OF STUDYWe have tested this work with real users with cognitivelimitations, enrolled in the Promentor employability program [4].They take several courses to be trained to achieve labor and socialintegration, at UAM. Thirty students are enrolled in this program:fifteen of them are first year students, while the other fifteen are inhis second year.

    4.1 SetupAs stated in section 1, the games developed for this case of studyare intended to support training on aspects related to personalappearance, including clothing, personal care (hygiene) and behavior. The tests were conducted in the classrooms where thoseusers attend their classes at UAM. We have used a multi-touch

    table, model MT460 MultiTouch Cell 46” Full HD LCD, thatuses DI (Diffused Illumination) multi-touch technology.

    The participants are people with different levels of cognitivelimitations, which range from mild to moderate, as indicated bytheir scores on the WAIS test [10]. They have kindly agreed to participate in this work, interact with the games in differentsessions and give feedback about the whole experience. Theyalready have knowledge about personal appearance issues, butthey need to strengthen it, particularly for dealing with new ornon-daily events, such as a job interview, the first day at work or around table. More details about the needs of this collective weregiven in the motivation section.

    4.2 Testing sessionsTesting was done in four different sessions, each of them lookingfor different purposes.

    Session 1: The students made contact with the multi-touch table.They interacted individually with mixed games regarding thematic(clothing and grooming) as well as interaction mode (pressing,drag&drop). They also made sorting, bin, carrousel games, and puzzles (one of each). In this session the goal was to check thefeasibility of the proposal.

    Session 2: The schedule of activities was the same as that insession 1, but with different students (note that the specific gamesare composed on the fly and, therefore, it is almost impossible toget exactly the same games generated, but their type andconfiguration was the same). Thanks to the student availability,this session was longer. The number of games played was higherand their difficulty increased along the time. The goal here was, besides confirming the feasibility of the proposal, collecting moredata for further analysis.

    Session 3: The schedule of activities was similar to the previous

    ones, although the game thematic focused on personal appearancewithin the labor sphere. New students were selected to performthese games individually. In this session, a new goal wasincorporated to the previous ones: checking whether the studentshave more difficulties when the context relates to working (e.g.,choosing clothes to go working to a certain place showed in a picture).

    Session 4: In this session, teams (pairs) were formed withstudents who had already interacted with the games previously, to play (mixed) games cooperatively).

    All the students started at the lowest level, assuming that we didnot know anything about them, in order to check whether theadaptive system was able to take them from one level to another.

    Finally, they filled in a questionnaire about the whole experience(playing games to enhance their abilities regarding personalappearance, interacting with a multi-touch surface, and so on).

    5. RESULTSThe data collected shows that the users had no special difficultieswhen interacting with the multi-touch surface. Although at the beginning the time spent on solving an exercise was longer, thistime got reduced as soon as they got familiarized with thetouchable interface.

    Regarding thematic, in the first two sessions we observed thatthey had no troubles when asked to select clothing for events present in their agendas quite frequently (e.g., attending a class or playing sports). According to the experts on special education, themost difficult events for them where those related to working.That is why we focused on this sphere in the third session. In thatsession we observed that, even if they had to think a little bit moretheir selections, the results were reasonably good too.

    With respect to the type of interactions, drag&drop took themmore time, in general, than pressing. Sorting took longer than anyother type of game. Regarding puzzles, it is remarkable that themotivation and performance when making them did not dependon their cognitive limitation levels. Students from session threewere highly motivated to play this type of games. Most of themmanaged to make the puzzles quite quickly, and some of them

  • 8/18/2019 Atas SIIE13

    19/317

    17

    asked for more puzzles to solve, with more complexity that those proposed by the system previously.

    The results when working cooperatively did not show relevantdifferences. However, more testing needs to be done in order toget a valid conclusion. Regarding competitive games, we also planto work with them and to do further research on the type of games

    that lead to better results.In the survey, they expressed their satisfaction when using themulti-touch-table as part of their training (they claimed to haveenjoyed it a lot). They highlighted what we realized after thesecond session: that they were able to solve problems related tofrequent events quite satisfactorily. They found the surfaceinterface easy to use and correct, and described these sessions asan interesting experience to repeat in the future, proposing thecreation of games to be played through the multi-touch surfacerelated to thematic areas such as ecology or environmental issues.

    6. CONCLUSIONS AND FUTURE WORK We have created one system able to generate and deliver games

    intended for users with cognitive limitations. In addition, we havedeveloped an authoring tool that allows experts on specialeducation to create games easily by: selecting the types of gamesdesired; providing statements for the exercises; uploadingmultimedia materials; and labeling both statements and materials.The specific problems to be solved are generated on the flyaccording to all those components and their labels, taking intoaccount configuration parameters as well as the user level, whichis updated by the system as well (see section 5 for more details).

    We have shown the feasibility of this work by testing it with realusers with cognitive limitations. The results obtained so far aresatisfactory (see section 5). Although the users enjoyed playing allthe games, the fact that they solved quite correctly those related tofrequent events in their daily life suggests that this type of systemis useful for training them for unforeseen or new situations, suchas meetings, round tables, job related issues (interviews, first daysat work), and so on.

    We got surprised when we observed no correlation between theusers’ score in the WAIS test [10] and their performance whensolving puzzles. However, more testing needs to be done to reachgeneral conclusions. In terms of adaptation, we would also like to perform tests with other groups of users with cognitivelimitations, to check whether we get good results as well.

    The games developed so far can be used for people with orwithout cognitive limitations. Their delivery can be supported bydifferent types of multi-touch surfaces, since the interface has been developed to adapt automatically to the device in which thegames are shown. Moreover, the system is modular and highlycustomizable, not only because it allows the specification ofdifferent games related to personal appearance, but also becausegames related to any topic can be defined in a quite easy way,thanks to the label-matching approach followed.

    As future work, we plan to test the system with other groups ofusers with cognitive limitations, and the authoring and monitoringtools with experts on special education. One step further would beadapting the applications developed for other technologies, suchas Kinect, which will prevent users from the difficulties that mightencounter when interacting with multi-touch surfaces. Finally, asa complement to training, we have developed an assistant to helpthose users with major difficulties to choose appropriate clothes

    whenever they need it in their daily life, according to the events planned in their agenda and to the weather conditions [11]. Thisassistant is able to give recommendations directly to the user or to present appropriate pieces of clothing (selected among those inthe user closet) so that the user can choose the ones he/she prefer.

    7. ACKNOWLEDGMENTSThis work has been funded by the Spanish Ministry of Scienceand Education, project ASIES (TIN2010-17344) and ComunidadAutonoma de Madrid, project E-Madrid (S2009/TIC-1650). Ourthanks to PRODIS for their support.

    8. REFERENCES[1] Shea Tanis E.S., Palmer, S., Wehmeyer, M., Davies, D.K.,

    Stock, S.E., Lobb, K., and Bishop, B. 2012. Self-ReportComputer-Based Survey of Technology Use by People With Intellectual and Developmental Disabilities. Intellectual and Developmental Disabilities: February 2012, Vol. 50, No. 1,53-68

    [2] Martín, E., Haya, P. and Carro R.M. 2013. User modelingand adaptation for daily routines. Providing assistance to people with special needs. Human Computer Interactionseries, vol.7138. Springer-Verlag.

    [3] Choi, K.-S., Wong, P.-K., and Chung, W.-Y. 2012. Usingcomputer-assisted method to teach children with intellectualdisabilities handwashing skills. Disability and Rehabilitation: Assistive Technology, 7(6), 507-516

    [4] PRODIS Foundation, Promentor Program.http://www.fundacionprodis.org/v2/programas/promentor/30.06.2013.

    [5] JClick. Available at: http://clic.xtec.cat/es/jclic/. 30.06.2013

    [6] del Blanco, Á., Torrente, J., Moreno-Ger, P., and Fernández-

    Manjón, B. 2011. Enhancing adaptive learning andassessment in virtual learning environments with educationalgames. Intelligent Learning Systems and Advancements inComputer-Aided Instruction: Emerging Studies, 144-163.

    [7] Rosado, S., Roldán-Álvarez, D., Martín, E., Haya, P.A.,García-Herranz, M., Sánchez-Alonso, A., and Berdud, M.L.2013. Actividades Educativas en Mesas Multicontacto paraAlumnos con Discapacidad Intelectual. Proceedings of the XIV International Conference on Human-Computer Interaction, Interacción 2013.

    [8] González, J. L. , Cabrera, M. J., Gutiérrez, F. L. Padilla , N.,and Paderewski, P. 2009. Design of videogames in specialeducation. New Trends on Human-Computer Interaction:

     Research, development, New Tools and Methods. Macías,José A.; Granollers, Toni; Latorre, Pedro (Eds.), Springer-Verlag, London, 43-52

    [9] Karreman, J., Geest van der, and T, Buursink, E. 2007.Accessible Website Content Guidelines for Users withIntellectual Disabilities. Journal of Applied Research in Intellectual Disabilities, 20 (6). 510-518

    [10] Wechsler, D. 1955. Manual for the Wechsler Adult Intelligence Scale.

    [11] Rojo, J.A. and Carro, R.M. 2013. MyDressRecommender: aDistributed Mobile Dress Recommender for Users withSpecial Needs. Proceedings of the XV InternationalSymposium on Computers in Education (this issue).

  • 8/18/2019 Atas SIIE13

    20/317

    18

    Familias de Visualizaciones de los Árboles de RecursiónJ. Ángel Velázquez Iturbide, Antonio Pérez Carrasco

    Departamento de Lenguajes y Sistemas Informáticos IEscuela Técnica Superior de Ingeniería Informática

    Universidad Rey Juan CarlosC/ Tulipán s/n, 28933 Móstoles, Madrid, Spain

    {angel.velazquez,antonio.perez.carrasco}@urjc.es

    ABSTRACTProponemos el concepto de familia de visualizaciones como unconjunto de visualizaciones que muestran el resultado deejecutar sucesivas veces un algoritmo con valores consecutivosde los datos de entrada. Nuestro objetivo es mejorar lacomprensión de la redundancia presente en numerososalgoritmos con recursividad múltiple. Las potenciales ventajasde una familia de visualizaciones son: mejor comprensión del

    algoritmo y más fácil análisis de su redundancia. Tambiéndescribimos cómo hacer un buen uso de las familias devisualizaciones, distinguiendo entre dos clases de algoritmos.

    Categories and Subject DescriptorsD.3.3 [Programming Languages]: Language Constructs andFeatures – recursion; K.3.1 [Computers and Education]:Computer Uses in Education; K.3.2 [Computers andEducation]: Computer and Information Science Education –computer science education.

    General TermsAlgorithms, Documentation, Design, Human Factors.

    KeywordsAnimación de programas, recursividad, árboles de recursión,casos de prueba.

    1. INTRODUCCIÓNLa visualización de programas [7] es un recurso muy utilizado

     para mejorar la comprensión de los programas, tarea difícil porsu carácter abstracto. La animación de algoritmos [7] es similar

     pero con dos características distintivas: alto nivel de abstracción(mayor que el de código fuente) y carácter dinámico. Tanto lavisualización de programas como la animación de algoritmos sehan utilizado principalmente con fines docentes, habiéndoseestudiado diversos problemas en su uso: eficacia educativa,

    adopción por los profesores, esfuerzo de creación, etc.En este artículo nos basamos en una aproximación a la creaciónsin esfuerzo de animaciones de algoritmos mediante el uso de

    técnicas de visualización de programas, donde:

    • La visualización de los estados relevantes de la ejecución deun algoritmo se genera como efecto colateral de la misma.

    • El formato de las visualizaciones tiene el mismo nivel deabstracción que el diseño de un algoritmo.

    Esta aproximación se ha implementado en el sistema SRec, que

    es un sistema diseñado para la visualización y animación de larecursividad [12]. SRec soporta varios formatos gráficos,destacando los árboles de recursión. También soporta una granvariedad de funciones de interacción [11].

    En el artículo proponemos el concepto de familia devisualizaciones como un conjunto de visualizaciones quemuestran el resultado de ejecutar sucesivas veces un algoritmocon valores consecutivos de los datos de entrada. Nuestroobjetivo es mejorar la comprensión de la redundancia presenteen numerosos algoritmos con recursividad múltiple. En lasección siguiente presentamos la propuesta, así como una guía

     para desarrollar las familias de visualizaciones en dos clases dealgoritmos. La sección tercera relaciona las familias devisualizaciones con otros trabajos en animación de algoritmos.

    Finalmente presentamos nuestras conclusiones y un conjunto decuestiones abiertas a trabajos futuros.

    2. FAMILIAS DE VISUALIZACIONES DELOS ÁRBOLES DE RECURSIÓNPresentamos primero la motivación y definición de familia devisualizaciones y después analizamos cómo concretar sucreación para dos clases de algoritmos.

    2.1 MotivaciónHay algoritmos muy ineficientes con recursividad múltiple. Estasituación se da cuando el número de subproblemas distintos es

     polinómico mientras que el número de subproblemas generados(es decir, de llamadas recursivas) es exponencial o factorial. La

    explicación de esta situación es que hay subproblemas que segeneran (y resuelven) numerosas veces.

    Encontramos esta situación en numerosas ocasiones, destacandola formulación recursiva de los algoritmos de programacióndinámica. Su diseño siempre incluye una primera fase deanálisis de la redundancia a partir de sus árboles de recursión[1][6] y otra fase posterior para su eliminación. Como resultado,los algoritmos de programación dinámica son eficientes (esdecir, tienen complejidad polinomial).

    Veamos las dos dificultades principales para el análisis deredundancia a partir de árboles de recursión.

  • 8/18/2019 Atas SIIE13

    21/317

    19

    2.1.1 Elección de los Datos de Entrada para el AnálisisSea la conocida serie de los números de Fibonacci en Java:

    public static int fib (int n) {if (n==0 || n==1)

    return 1;

    elsereturn fib(n-1) + fib(n-2);

    }

    La Figura 1 muestra su árbol de recursión para n=4. Cada nododel árbol representa una llamada recursiva, con los parámetrosen la mitad superior (en la figura, en azul) y el resultado en lainferior (en rojo). La raíz del árbol representa la llamada inicial.De cada nodo surgen tantos arcos a nodos del nivel inferiorcomo llamadas recursivas realice. Los arcos aparecen deizquierda a derecha en orden cronológico de realización de susllamadas recursivas correspondientes. En la figura, la llamadainicial tiene n=4 como parámetro y finalmente dará un resultadode 5. Esta llamada inicial a su vez hace dos llamadas con

     parámetros sucesivos 3 y 2.

    Figura 1. Árbol de recursión de fib(4)

    En este árbol se observa que los casos básicos fib(0) y fib(1) sonllamados 2 y 3 veces respectivamente, y el caso recursivo fib(2),2 veces. El árbol es suficiente para comprobar que hayredundancia puesto que hay un caso recursivo que se ejecutamás de una vez. Sin embargo, quizá convenga tener unaevidencia mayor que la proporcionada por una sola llamadarecursiva repetida. Por tanto, sería mejor dibujar el árbol derecursión para un parámetro mayor, como n=5 o n=6.

    2.1.2 Comprensión del Algoritmo RecursivoEl algoritmo anterior es de fácil comprensión pero no es éste elcaso de los algoritmos recursivos planteados para problemas deoptimización y que son la base para desarrollar algoritmos de

     programación dinámica. En este caso, los alumnos tienendificultades para comprender las decisiones básicas de sudiseño: organización de la construcción de la solución en etapasy las decisiones posibles a tomar en cada etapa.

    Por ejemplo, sea el problema de la mochila 0/1 [2][4][8], que puede resolverse mediante el siguiente algoritmo recursivo:

    public static int mochila01(int[] ps, int[] bs, int c) {

    return m(ps, bs, c, 0, c);}

    private static int m(int[] ps, int[] bs, int c,int i, int p) {

    if (i==ps.length)return 0;

    else if (p

  • 8/18/2019 Atas SIIE13

    22/317

    20

     Nuestra hipótesis es que una familia de visualizaciones proporciona una visión más completa de la redundancia delalgoritmo, permitiendo superar más fácilmente las dificultadesantes señaladas:

    • Elección de datos de entrada. Al contener varios árboles derecursión, es muy probable que contenga árboles adecuados

     para el análisis de redundancia.

    • Comprensión del algoritmo. El hecho de que los árboles derecursión contenidos en una familia tengan parámetrossucesivos facilita apreciar el patrón de transición de cada

    árbol al siguiente. Por tanto, debería ser más fácil para elalumno comprender las razones de este patrón, es decir, lasdecisiones en las que se basa el algoritmo.

    2.3 Clases de Familias de Árboles deRecursiónAunque todas las familias de árboles de recursión satisfacen lamisma definición, las características de cada algoritmocondicionan las decisiones de diseño de cada familia. Acontinuación damos unas pautas de diseño para los dos casosmás importantes que hemos encontrado.

    2.3.1 Familia de Árboles que Dependen delTamaño de los Datos de Entrada

    Es el caso más sencillo. Se trata de algoritmos cuyo procesorecursivo depende solamente del tamaño de los datos de entrada.Un ejemplo representativo es la serie de Fibonacci, ya que cadaactivación depende simplemente del valor de su parámetro n.

    Veamos otro problema conocido, el de cambio de monedas [2],en el que se pide el número mínimo de monedas necesario paradar el cambio de cierta cantidad c  de dinero. Es un problemaresoluble mediante un algoritmo voraz en ciertos casos pero queen general debe ser resuelto con otras técnicas. El algoritmorecursivo siguiente es la versión inicial para una solución de

     programación dinámica.

    Las unidades monetarias se definen en el array unidades, sinmás restricciones que la última debe ser unitaria. Por sencillez,las unidades están ordenadas en orden decreciente de valor,desde 200 (la moneda de 2€) hasta 1 (de 1 céntimo).

    El método principal llama a un método auxiliar cm  que va probando, con cada unidad monetaria, todas las formas posiblesde cambiar el dinero disponible. Al ser la última unidadmonetaria la unidad, las llamadas recursivas del último nivelcambian el dinero c  que queda con c monedas de un céntimo.Los demás casos corresponden a casos recursivos, donde se

     prueban todos los cambios posibles para la cantidad c  y launidad monetaria unidadesi actuales.

    static int[] unidades ={200, 100, 50, 20, 10, 5, 2, 1};

    public static int cambiarMonedas (int c) {return cm(0,c);

    }

    private static int cm (int i, int c) {if (i==unidades.length-1)

    return c;else {

    int menor = Integer.MAX_VALUE;for (int j=0; j

  • 8/18/2019 Atas SIIE13

    23/317

    21

    c=1 c=2 c=3 c=4 c=5 c=6

    c=14

    Figura 4. Parte de una familia de árboles de recursión para el problema de cambio de moneda, con c de 1 a 6 y c=14

  • 8/18/2019 Atas SIIE13

    24/317

    22

    c=3 c=4 c=5 c=6

    c=39Figure 5. Parte de una familia de árboles de recursión para el problema de la mochila 0/1, con c de 3 a 6 y c=39

    2.3.2 Familia de Árboles que Dependen delContenido de los Datos de EntradaHay algoritmos cuyo proceso recursivo depende del contenido delos datos de entrada. La diferencia entre esta clase de algoritmos yla anterior es similar a la que se da, en los algoritmos de divide yvencerás, entre la ordenación por mezcla (sólo depende deltamaño del vector) y la rápida (depende también de su contenido).

    En esta clase, los árboles de dependencia tienen formas másirregulares, al depender del contenido de los datos de entrada.

    Algunos ejemplos de algoritmos son:• Problema de la mochila 0/1 (subsección 2.1.2): el proceso

    recursivo depende de los pesos de los objetos y de lacapacidad de la mochila.

    • Subsecuencia común más larga [3]: depende de las doscadenas de caracteres a comparar.

    • Alineación de secuencias [5]: similar al anterior.

    En este caso, es mejor intentar que los árboles de recursiónmostrados sean lo menos dispares posible. Para ello, puede fijarseun valor para todos los parámetros menos uno, que es el que varía.

    Sea el problema de la mochila 0/1 de nuevo. Los parámetros quecontrolan el proceso recursivo son los pesos de los objetos y lacapacidad libre de la mochila. Para reducir la variación de losárboles, vamos incrementando la capacidad en la unidad. El valormínimo de la capacidad es el mayor con el que no cabe ningúnobjeto. Para que la variación se aprecie mejor, los pesos de losobjetos solamente difieren en la unidad y se disponen en ordendecreciente. El valor máximo de la capacidad será igual a la sumade los pesos de los objetos.

    En la Figura 5 incluimos una familia para el problema de la

    mochila 0/1 con seis objetos de pesos  p={9,8,7,6,5,4} y beneficios b={8,2,5,7,1,4}. La primera visualización correspondeal caso en que no cabe ningún objeto en la mochila (c=3) ysucesivamente hay una posibilidad más que considerar. La últimavisualización corresponde al caso en que todos los objetos podríanmeterse simultáneamente en la mochila (c=39).

    Puede observarse que los árboles de las dos familias mostradastienen una estructura similar, muy diferente de la de otrosalgoritmos recursivos múltiples con redundancia, como la serie deFibonacci. El parecido de estos árboles de recursión se debe a quesus algoritmos se estructuran en etapas, de forma que en cada

  • 8/18/2019 Atas SIIE13

    25/317

    23

    etapa se prueba con todas las posibilidades para un candidato.Para el problema de cambio de monedas, los candidatos son lasunidades monetarias, pudiéndose escoger un número variable deunidades. Para el problema de la mochila 0/1, los candidatos sonlos objetos, que sólo pueden introducirse o no en la mochila(opciones respectivas 1 y 0).

    3. TRABAJOS RELACIONADOSEs frecuente encontrar una secuencia de visualizaciones parailustrar el comportamiento de un algoritmo, mostrando lasecuencia de estados de su ejecución con ciertos datos de entrada.Sin embargo, una secuencia de visualizaciones del resultado delalgoritmo para distintos datos de entrada es atípica.

    La situación se comprende mejor si la analizamos en un marcogeneral. En un trabajo anterior [9], propusimos un espacio devisualizaciones con 4 dimensiones: tiempo de ejecución,algoritmo, representación gráfica y datos de entrada. Dichoespacio define un hipercubo de visualizaciones estáticas que, conuna interfaz adecuada, permite mostrarlas simultáneamente oanimadas. En particular, podría mostrarse una secuencia devisualizaciones en cualquiera de las siguientes dimensiones:

    • Tiempo. Corresponde a la usual ejecución de un algoritmo.

    • Algoritmo. Corresponde a “múltiples algoritmos”, en que semuestra la ejecución de varios algoritmos simultáneamente.

    • Representación gráfica. Corresponde a “múltiples vistas”, enque se muestra la información de una ejecución con variosformatos, normalmente con distintos niveles de abstracción.

    • Datos de entrada. Corresponde a una “familia devisualizaciones”, como hemos presentado en este artículo.

    Los únicos trabajos que conocemos que encajan en esta últimacategoría son HalVis [4] y GreedEx [10]. En el primer caso cadaalgoritmo se ilustra con tres juegos de datos con característicasmuy dispares. En el segundo, el sistema GreedEx muestra los

    resultados de ejecutar distintos datos, pero en formato tabular(sólo utiliza un formato gráfico para visualizar la ejecución conun conjunto de datos de entrada).

    4. CONCLUSIONESHemos mostrado una forma novedosa de presentar los árboles derecursión. Esperamos obtener mejoras de comprensión y análisisal usarlos con algoritmos con recursividad múltiple redundante.También hemos mostrado cómo usarlos de forma provechosa condistintas clases de algoritmos, según que sus árboles de recursióndependan sólo del tamaño de sus parámetros o también de sucontenido. Por falta de espacio, no hemos podido mostrar otrocaso interesante, pero menos importante: mostrar el efecto sobreel proceso recursivo de algunas decisiones de codificación del

     propio algoritmo recursivo.Se presentan muchas cuestiones abiertas que merece la penaexplorar. Primera, sólo podremos afirmar su utilidad si realizamosuna evaluación de eficacia educativa con alumnos; nuestraintención es realizarla en otoño de 2013 en una asignatura dealgoritmos avanzados. Segunda, tenemos desarrollada unacolección de familias, que podemos ampliar y publicar en la web.Tercera, es interesante estudiar si las familias resultan útiles paraotras clases de algoritmos, p.ej. de divide y vencerás. Cuarta, elsistema SRec permite exportar visualizaciones generadas duranteuna ejecución. Para soportar la creación de familias devisualizaciones, debería pedir al usuario un rango de parámetros y

    que generara automáticamente la familia a partir de lavisualización del estado final de cada ejecución. Por último, seríaútil evaluar si una familia es más útil presentada como unasecuencia de visualizaciones estáticas o en forma de animación(incluso con transiciones continuas con efecto de morphing ).

    5. AGRADECIMIENTOSEste trabajo se ha financiado con el proyecto TIN2011-29542-C02-01 del Ministerio de Economía y Competitividad.

    6. REFERENCIAS[1] Bird, R. S. 1980. Tabulation techniques for recursive

     programs. ACM Computing Surveys 12, 4 (diciembre 1980)403-417. DOI= 10.1145/356827.456831.

    [2] Brassard, G. and Bratley, P. 1996. Fundamentals of Algorithmics. Prentice-Hall.

    [3] Cormen, T. H., Leiserson, C. E., Rivest, R. L. and Stein, C.2009. Introduction to algorithms, 3ª ed. The MIT Press,Cambridge, MA, EE.UU.

    [4] Hansen, S., Schrimpsher, D. and Narayanan, N.H. 2002.Designing educationally effective algorithm animations. Journal of Visual Languages and Computing  13, 3, 291-317.DOI= 10.1006/jvlc.2002.0236.

    [5] Kleinberg, J. and Tardos, É. 2006. Algorithm Design.Pearson Addison-Wesley.

    [6] Pettorossi, A. 1984. A powerful strategy for derivingefficient programs by transformation. In Proceedings of the

     ACM Symposium on Lisp and Functional Programming .LFP’84. ACM, New York, NY, EE.UU., 273-281. DOI=10.1145/800055.802044.

    [7] Price, B., Baecker, R. and Small, I. 1998. An introduction tosoftware visualization. In Software Visualization, Stasko, J.,Domingue, J., Brown, M. H. and Price, B. A. (eds). The MIT

    Press, Cambridge, MA, EE.UU., 3-27.

    [8] Sahni, S. 2005. Data Structures, Algorithms and Applications in Java. Silicon Press, Summit, NJ, EE.UU.

    [9] Velázquez-Iturbide, J. Á. 2011. Characterizing time andinteraction in a space of software visualizations. In

     Proceedings of the 6 th Program Visualization Workshop(Darmstadt, Alemania, 30 junio 2011). PVW’11. TechnicalReport TUD-CS-2011-0153, Technische UniversitätDarmstadt, Germany, 43-51.

    [10] Velázquez-Iturbide, J. Á., Debdi, O., Esteban-Sánchez, N.and Pizarro, C. 2013. GreedEx: A visualization tool forexperimentation and discovery learning of greedyalgorithms. IEEE Transactions on Learning Technologies 6,

    2 (Abril-Junio 2013), 130-143. DOI= 10.1109/TLT.2013.8.[11] Velázquez-Iturbide, J. Á. and Pérez-Carrasco, A. 2010.

    InfoVis interaction techniques in animation of recursive programs. Algorithms 3, 1 (Marzo 2010), 76-91. DOI=10.3390/a3010076.

    [12] Velázquez-Iturbide, J.Á., Pérez-Carrasco, A. and Urquiza-Fuentes, J. 2008. SRec: An animation system of recursion foralgorithm courses. In Proceedings of the 13th AnnualConference Innovation and Technology in Computer Science

     Education (Madrid, Spain, June 2008). ITiCSE’08. ACM, New York, NY, EE.UU., 225-229. DOI=10.1145/1384271.1384332.

  • 8/18/2019 Atas SIIE13

    26/317

    24

    Introducing a Design-Preserving Implementation Strategyin a Compiler Construction Course

    Daniel Rodríguez-CerezoFac. Informática

    Universidad Complutense de MadridC/ Prof. José García Santesmases s/n

    28040 Madrid (Spain)+34913947506

    [email protected]

    José-Luis SierraFac. Informática

    Universidad Complutense de MadridC/ Prof. José García Santesmases s/n

    28040 Madrid (Spain)+34913947548

     [email protected]

    ABSTRACTStudents of Compiler Construction courses often find it difficultto develop the practical projects that usually complement thesecourses. These projects typically consist of the development of acompiler for a reduced, but complete, programming language. Inorder to make our students aware of the importance of systematicengineering approaches, when addressing the projects they must

    clearly separate the specification and implementation aspects.Thus, first they must specify their compilers by using attributegrammars. Then they must develop their processors from thesespecifications by means of systematic transformations. During this

     process, students can make different mistakes that can hinder their progress. In order to address this problem, we have re-designedour pedagogical strategy to promote design-preservingimplementations. For this purpose, we have developed a tinylibrary that, when used along with a parser generation tool, makesit possible to develop an initial executable language processor bydirectly encoding the specification. In this paper we describe this

     pedagogical strategy, as well as different assessment experiencesconducted with instructors and students.

    Categories and Subject DescriptorsK.3 [Computers and Education]: (K.3.1) Computer Issues inEducation – Computer-assisted Instruction (CAI); (K.3.2)Computer and Information Science Education – Computer scienceeducation. D.3 [Programming Languages]: (D.3.4) Processors –Translator writing systems and compiler generators.

    General TermsHuman Factors, Languages.

    KeywordsImplementation Strategy, Education in Compiler Construction,Attribute Grammars, Parser Generators.

    1. INTRODUCTIONSuccessful Compiler Construction courses rely on a balanced

    combination of theory and practice. Both aspects are equallyimportant and complementary, because without the practical partof the course, students could not understand the differenttheoretical aspects taught in lectures. In fact, for these courses,instructors usually propose the implementation of a compiler for a

     programming language as a final project for students. Althoughthe language proposed is usually a reduced and simplified versionof other full-flagged programming languages (e.g., PASCAL orC), in our experiences teaching one of these courses at theComplutense University of Madrid (UCM), Spain, we haverealized that the students find it difficult to complete the project,which is endemically considered to be a complex task [7]. Indeed,while we have observed that students are usually able to

    understand and master each technique, concept and tool presentedin lectures separately, we have also realized that they havedifficulties in figuring out how these elements can be appliedtogether in order to develop a working language processor.

    In order to help students overcome these difficulties we promote atop-down learning approach in our course. First, we adopt asoftware engineering perspective, by describing the global tasksthat make up the development process model that students mustadopt to build a compiler. Then, we use these tasks tocontextualize each concept taught in lectures. Also, in this processmodel we clearly separate the specification aspects of a language

     processor (lexicon, syntax, static semantics and translation) fromthose related to implementation. Then, we instruct our students onhow the implementation of the language processor can beobtained from the specification by performing different systematictransformation steps. However, these steps are usually laboriousand potentially error-prone for novices. Thus students can makemistakes, which may delay the production of an initial workingversion of the processor. This fact can potentially discouragestudents, since they fail to get real implementations from theirspecifications.

    In order to overcome the aforementioned shortcomings, we havedesigned a new approach oriented to minimizing the chance tomake mistakes, and therefore the time to obtain a workingimplementation. This approach, which is described in this paper,

     proposes a method that promotes straightforward patterns forencoding the specification designed by the students, thereforeaccelerating the production of the first executable version of their

     processors.

    The most widely-used approach to laboratory projects in CompilerConstruction courses is to implement a reduced programminglanguage (e.g., COOL [2] or MINIML [4]). Although ourapproach has been applied to programming languages, it isactually extensible to any other computer language. In addition,typical Compiler Construction courses introduce specialized

    language implementation tools (e.g., parser generators likeJavaCC [10], CUP [3] or ANTLR [14]), as well as IDEsspecialized in language implementation (e.g., ANTLRWorks [5],or XText [6]) to help students face the complexities of CompilerConstruction. Our approach can guide how to make use of thesetools for educational purposes. Finally, there are several tools(e.g., LISA [12] or Silver [18]) able to generate workingimplementations from attribute grammar specifications. Ourapproach is not intended to substitute these tools, but as a distinctand somewhat complementary approach, aiming to combine theirstrengths with the pragmatism of conventional parser generators.

  • 8/18/2019 Atas SIIE13

    27/317

    25

    The rest of the paper is organized as follows. Section 2contextualizes the approach by describing the learning setting inwhich it is applied. Section 3 details the approach itself. Section 4reports on the assessment of this approach from three different

     perspectives: teacher assessment, student assessment andeducational efficacy. Finally, section 5 provides some conclusionsand lines of future work.

    2. CONCEPTUAL BACKGROUNDIn our courses we thoroughly promote the use of two grammar-

     based formalisms for specifying and implementing language processors: attribute grammars and translation schemata.

     Attribute grammars constitute a widely used formalism forspecifying the syntax and semantics of programming languages[9][13]. Figure 1 shows an example of attribute grammarformalizing the evaluation of simple arithmetic expressions. Fromthis example it is apparent how an attribute grammar is formed bythe following components:

    s → expr  s.v = expr.v

    expr.m = initMem();expr → expr+ term

    expr0.v = expr1.v + term.vexpr1.m = expr0.mterm.m = expr0.m

    expr → termexpr.v = term.vterm.m = expr.m

    term → term * factterm0.v = term1.v * fact.vterm1.m = term0.mfact.m = term0.m

    term → factterm.v = fact.vfact.m = term.m

    fact → NUM   fact.v = toInt(NUM.lex)fact → ID  fact.v = getVal(ID.lex, fact.m)

    Figure 1 Attribute grammar specification of an arithmetic

    expression language• Syntactic symbols, which represent syntactic constructions.

    There are two types: terminal symbols related to the simpleststructures in the language (such as NUM, + or * in Figure 1),and non-terminal symbols associated to composite structuresin the language (such as expr, term or  fact in Figure 1).

    • Syntactic rules (expr → expr  + term  in Figure 1), whichdetermine the structure of non-terminal symbols.

    • Semantic attributes, which are associated to the syntacticsymbols. These attributes are further divided into twocategories:  synthesized attributes (v  of expr  in Figure 1),which keep the semantic meaning of the symbols, andinherited attributes (m  of expr  in Figure 1), which keep

    contextual information needed to compute such meanings.• Semantic equations (expr0.v = expr1.v + term.v in

    Figure 1), which are associated to each syntactic rule. Theseequations determine how to compute the value of thesynthesized attributes of the rule’s left-hand side (LHS), andof the inherited attributes of the rule’s right-hand side (RHS).

    Translation schemata, in turn, are another extension of context-free grammar that augments syntactic rules with  semantic actions:chunks of code in a host programming language to be executedduring parsing [1]. These actions can consult and update  semanticvalues that augment the parsing state. There are many types of

    translation schemata, but the following two are especiallyrelevant:

    •  Bottom-up translation schemata. These schemata assign asemantic action to each syntactic rule, which will beexecuted when the rule is used in a reduction  during a

     bottom-up recognition of the input sentence1 [1]. Figure 2(a)

    shows an example concerning the specification in Figure 1. Ituses a YACC-like notation to refer to the semantic values ($$refers to the semantic value of the rule’s LHS, and $i thesemantic value of the ith symbol in the RHS). This kind ofdescription is related with YACC [17], Bison [11] or CUP[3] tools.

    (a)global m = initMem();s → expr{$$.v = $1.v;}

    expr → expr+ term{$$.v = $1.v + $2.v}

    expr → term{$$.v = $1.v}

    term → term * fact{$$.v = $1.v * $2.v}

    term → fact

    {$$.v = $1.v}fact → NUM   {$$.v = toInt($1.lex)}fact → ID  {$$.v =

    getVal($1.lex, m)}--0—

    (b)global m = initMem();

    s(↑v) → expr(v)expr(↑vE) →  {local vT;}

    term(vT)rexpr(vT, vE)

    rexpr(↓vRi,↑vR) →  {local vT;}

    + term(vT)rexpr(vRi+vT,vR)

    rexpr(↓vRi,↑vR) →  {vR = vRi;}

    term(↑vT) → {local vF;}fact(vF)rfact(vF, vT)

    rterm(↓vRi,↑vR) →  {local vF;}

    * fact(vT)rterm(vRi*vF,vR)

    rterm(↓vRi,↑vR) → {vR = vRi;}

    fact(↓vF) →  {local n;}

    NUM (n){vF = toInt(n);}

    fact(↓vF) →  {Local i;}

    ID(i)  {vF = getVal(I,m);} 

    Figure 2(a) Description of a bottom-up translatorimplementing the specification in Figure 1 with a translation

    scheme, (b) a translation scheme for an equivalent top-downtranslator (↓↓↓↓ precedes input parameters, and ↑↑↑↑ precedesoutput ones)

    • Top-down translation schemata. These schemata interleavesemantic actions in the rule’s RHS, which are executed asthey are discovered during the top-down recognition of theinput sentence2 [1]. In addition, if recursive descent parsing[1] is used, semantic values can be represented by addinginput and output parameters to the syntactic symbols (in thecase of terminal symbols, the output parameters -the onlyones allowed- will be provided by the scanner). Figure 2(b)shows one of these top-down translation schemata based onthe specification of Figure 1. Schemata of this kind are used

     by JavaCC [10] or ANTLR [14] to generate parsers.

    Finally, it is worthwhile to notice that, while attribute grammarsdeclare  the meaning of the symbols by using equations,translation schemata describe how this meaning must actually becomputed during parsing. Thus, attribute grammars result in ahigher-level formalism than translation schemata. In particular, in

    1A bottom-up parser recognizes input sentences by substituting rule RHSsfor the corresponding LHSs (these operations are known as reduceoperations)

    2A top-down parser recognizes sentences by rule expansions  (rule LHSsare replaced with the corresponding RHSs) and terminal matching onthe next symbol in the input.

  • 8/18/2019 Atas SIIE13

    28/317

    26

    an attribute grammar it is not necessary to worry about the orderin which the semantic attributes must actually be computed(indeed, this order can be deduced from the dependencies amongattributes established by the semantic equations). On the otherhand, translation schemata strongly rely on the execution order ofsemantic actions, since this order is determined by the parsingmethod. In consequence, attribute grammars are more suitable for

    the specification stage, while translation schemata are more suitedfor implementation purposes.

    3. DESIGN-PRESERVINGIMPLEMENTATION APPROACHWe have observed how, among all the activities addressed by ourstudents for the construction of language processors, it is in

     grammar transformation  where they find most difficulties.Indeed, this activity is not trivial at all. For instance, if theimplementation is based on top-down parsing, it will be necessaryto transform the underlying context-free grammar to eliminateleft-recursion and (maybe) left-factoring [1] (the translationscheme in Figure 2(b), which implements the specification inFigure 1, is an example). Even worse, in addition to syntacticrules, these transformations will also affect semantic equations,which can imply each semantic attribute. In consequence, the

     process is error-prone, difficult to assimilate by students, anddifficult to apply as the size of the specification increases, as is thecase with the non-trivial languages used in laboratory projects.Thus, while we consider grammar transformation a valuableactivity from a pedagogical point of view, it is also necessary toevaluate the trade-offs introduced by its complexity to students,which can become a worrisome de-motivational factor.

    In order to address these shortcomings, we have introduced anovel implementation technique focused on the direct encoding ofthe attribute grammar on a parser generation tool. While theresulting implementation may not be as efficient as the oneobtained with