Dr. Jeisson Hidalgo-Céspedes

Dr. Jeisson Hidalgo-Céspedes

Proyectos

Publicaciones

Effects of oral metaphors and allegories on programming problem solving

Descripción:

Metaphors of ordinary concepts are intensively used in computer science for naming abstract concepts and for designing users interfaces. Metaphors are mappings from a source domain (e.g., a stream) to a target domain (e.g., a sequence of bytes). Typically computing phenomena are explained using incoherent discourses at the source domain, formed by metaphors taken from a diversity of origins. Nonetheless, versatility of metaphors allows for the creation of coherent discourses in the origin domain that map the target computing discourse, and we call them allegories. The limited number of existing studies about this topic has compared only textual allegories, visual allegories, and the traditional unconnected metaphors. Although their findings are heterogeneous, equal effectiveness is the most frequent empirical result between these three types of metaphors. Furthermore, we have not found any study about oral allegories, in spite of oral being the most used modality for metaphors in computer science education. This article experimentally compares the effects of oral allegories and oral metaphors on a complex problem‐solving task. As in previous studies, our results did not find any significant differences on support or detriment of oral allegories. Our results support new metaphor theories posing that the context significantly influences the metaphors’ efficacy, and encourages future research about the interaction between context and allegories.

Tipo de publicación: Journal Article

Publicado en: Computer Applications in Engineering Education

A Precise Layout Manager for Vector Graphics

Descripción:

Automated layout is the use of software to determine the positions and sizes of visual elements that are part of an information presentation. As the amount of data that computers are able to process increases, automatic layout becomes more necessary. During the process of creating a program visualization, the authors needed a precise layout manager for scalable vector graphics that supported layers and animations. A literature review revealed the lack of a layout manager that satisfies these requirements. This paper reports the creation of a layout manager that uses floating-point arithmetic for precise and imperative arrangement of visual elements, that may be useful for other visual applications facing similar requirements.

Tipo de publicación: Conference Paper

Publicado en: 2019 IV Jornadas Costarricenses de Investigación en Computación e Informática (JoCICI)

Characterizing Extracurricular Effort on Concurrent and Distributed Programming Learning

Descripción:

The importance of concurrent and distributed programming is increasing on Computer Science curricula. This exploratory research identifies additional notions required by the official topics of "Parallel and Concurrent Programming" course, taught at the University of Costa Rica. This paper characterizes previous knowledge that students had about these notions and the extracurricular effort that they made to overcome the lack of notions. Findings show that students were able to overcome the lack of notions at expense of more extracurricular effort. Exploratory evidence indicates that students' election of professors in previous courses influenced their performance and extracurricular effort in the parallel programming course.

Tipo de publicación: Conference Paper

Publicado en: 2019 IV Jornadas Costarricenses de Investigación en Computación e Informática (JoCICI)

Operationalizing Intentionality to Play Hanabi with Human Players

Descripción:

The cooperative card game Hanabi has become of increasing interest in the community, since it combines partially hidden information with information exchange using restricted communication channels. In this paper, we describe AI agents that are designed to play the game with human players. Our agents make use of the fact that human players expect other players to act intentionally by formulating goals of their own and planning how to achieve them. They then use the available actions available to communicate their plan to the human player. On the flip side, our agents also interpret the actions performed by the human player as containing information about their plans. We present two different variants of our agent that perform this interpretation in different ways. Additionally, since part of human communication happens in subtle, indirect ways, we also demonstrate that our agent can use the timing of the human player's actions as additional information. In order to validate our agents, we have performed two separate experiments. One was done to validate the intentional component of the agents, while the other focused on the interpretation of received information. In this article, we also present the results obtained from these two experiments.

Tipo de publicación: Journal Article

Publicado en: IEEE Transactions on Games

Online Judge Support for Programming Teaching

Descripción:

Online programming judges are considered useful and sometimes indispensable tools to support competitive programming, professionals' recruiting, and programming education. In this last field, the scientific literature on these tools focuses on the learners' needs, but neglects the requirements of the professors, even though they are who mainly decide whether or not an educational tool is adopted in the courses they teach. This article collected 132 functional requirements for educative online judges, from the scientific literature and programming teachers with experience in the use of this type of tool. To know the degree of support, the requirements were grouped into 27 categories, and a requirements verification was performed with four available educative online judges reported in a recent systematic literature review. A low degree of satisfaction of requirements was found. This result encourages future research to create tools that better support teaching-learning processes and the requirements collected are a useful contribution as a starting point for such research.

Tipo de publicación: Conference Paper

Publicado en: 2020 XLVI Latin American Computing Conference (CLEI)

Concurrent and Distributed Pseudocode: A Systematic Literature Review

Descripción:

Pseudocode is a valuable resource used in programming education, software development, and scientific reports for designing algorithmic solutions as it is easy to write, understand, and modify. Since pseudocode is lacking in its ability to be tested, it is difficult to determine whether a pseudocode solution is correct or not. Software tools are specially required to reach this goal, e.g., helping professors find race conditions, deadlocks, or starvation issues while grading students’ concurrent pseudocode. Although there are various tools to work with sequential pseudocode, there is a lack of tools to work with concurrent pseudocode. This shortage motivated us to determine the state-of-the-art in notations and tools for testing concurrent and distributed pseudocode. We conducted a systematic literature review and found only a few related publications, confirming that this topic is understudied. We found and report about five software tools capable of interpreting concurrent or distributed pseudocode, and two software tools capable of verifying its correctness. As another result, no other literature review was found about this topic, conferring novelty to the contributions of this work.

Tipo de publicación: Conference Paper

Publicado en: 2021 XLVII Latin American Computing Conference (CLEI)

Evaluating a Plan Recognition Agent for the Game Pandemic with Human Players

Descripción:

Cooperation between AI agents and humans is of ever greater importance. In this paper we present an AI agent for the game Pandemic that was specifically designed to play cooperatively with a human player. Our agent utilizes planning to determine which actions to perform, and plan recognition to determine the current goal of its cooperator in order to assist them. We also present an experiment we performed with human participants, and how our agent performs at a level that is comparable to other AI agents playing with themselves, when playing with a human player, as well as the impact of plan recognition on how the participants perceive the AI agent.

Tipo de publicación: Conference Paper

Publicado en: 2021 IEEE Conference on Games (CoG)

Evaluation of an Online Judge for Concurrent Programming Learning

Descripción:

Online judges are tools that can significantly help the learning of programming. However, previous studies have found that existing tools provide little level of satisfaction of the teachers' and students' needs. One of these requirements is the learning of concurrent and distributed programming, despite the increasing importance of these computing paradigms. This article reports the implementation of an online judge prototype for concurrent programming and its evaluation through a quasi-experiment. Although no significant differences were found with respect to the traditional tools used in the course, indications were obtained that the students who used the online judge prototype produced solutions with fewer programming anomalies. Regarding motivational aspects, students reported a better user experience, especially those who were able to contrast the online judge against the traditional development tools used in the course.

Tipo de publicación: Conference Paper

Publicado en: 2023 XLIX Latin American Computer Conference (CLEI)