Jeisson Hidalgo-Céspedes

dblp:147/2955 · DBLP profile ↗
← Back
8ranked-venue papers
6as first author
3since 2021 · last 2023
0000-0002-8223-0429ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Artificial intelligence and machine learning · 5 · 3 first-author · 3 since 2021Software engineering, systems software and programming languages · 4 · 3 first-author · 2 since 2021Databases, data management, data science and information retrieval · 4 · 3 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 3 · 3 first-author
YearPublicationVenuePosition
2023 Evaluation of an Online Judge for Concurrent Programming Learning
abstract
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.
Jeisson Hidalgo-Céspedes
CLEI1
2021 Concurrent and Distributed Pseudocode: A Systematic Literature Review
abstract
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.
Bryan Alexander Ulate-Caballero, Allan Berrocal, Jeisson Hidalgo-Céspedes
CLEI3
2021 Operationalizing Intentionality to Play Hanabi With Human Players
abstract
The cooperative card gameHanabihas become of increasing interest in the community, since it combines partially hidden information with information exchange using restricted communication channels. In this article, we describe artificial intelligence 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.
Markus Eger, Chris Martens 0001, Pablo Sauma Chacón, Marcela Alfaro Cordoba, Jeisson Hidalgo-Céspedes
IEEE Trans. Games5
2020 Online Judge Support for Programming Teaching
abstract
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.
Jeisson Hidalgo-Céspedes, Gabriela Marín Raventós, Marta Eunice Calderón Campos
CLEI1
2016 Learning principles in program visualizations: A systematic literature review
abstract
Program visualizations help students understand the runtime behavior of other programs. They are educational tools to complement lectures or replace inefficient static drawings. A recent survey found 46 program visualizations developed from 1979 to 2012 reported that their effectiveness is unclear. They also evaluated learner engagement strategies implemented by visualization systems, but other learning principles were not considered. Learning principles are potential key factors in the success of program visualization as learning tools. In this paper, we identified 16 principles that may contribute to the effectiveness of a learning tool based on Vygotsky's learning theory. We hypothesize that some of these principles could be supported by incorporating visual concrete allegories and gamification. We conducted a literature review to know if these principles are supported by existing solutions. We found six new systems between 2012 and 2015. Very few systems consider a learning theory as theoretical framework. Only two out the 16 learning principles are supported by existing visualizations. All systems use unconnected visual metaphors, two use concrete visual metaphors, and one implemented a gamification principle. We expect that using concrete visual allegories and gamification in future program visualizations will significantly improve their effectiveness.
Jeisson Hidalgo-Céspedes, Gabriela Marín Raventós, Vladimir Lara-Villagrán
FIE1
2015 Student understanding of the C++ notional machine through traditional teaching with conceptual contraposition and program memory tracing
abstract
In order to learn a programming language, a correct understanding of its notional machine is mandatory. Students acquire that comprehension mainly through visual and verbal explanations provided by professors, books, videos, and other instructional materials. This research applied the conceptual contraposition technique and program memory tracing technique to the prevalent teaching method in our country: the lecture. The understanding of the C++ notional machine was evaluated on students of a Programming II (CS2) course that implemented the mentioned methods. Results revealed that these techniques applied to the lecture are insufficient to help students develop satisfactory mental models of the C++ notional machine.
Jeisson Hidalgo-Céspedes, Gabriela Marín Raventós, Vladimir Lara-Villagrán
CLEI1
2014 Allegories for learning abstract programming concepts
abstract
Constructivism theory states that learning is unavoidably done through association of new concepts with existing ones. Although programming concepts are abstract metaphors of some colloquial concepts, they seem to be not enough to overcome learning difficulties. We hypothesize that interrelated systems of metaphors (allegories) of abstract programming concepts can ease the association process and improve student learning. Our research introduces allegoric development environments and proposes to experimentally evaluate their effects on learning of programming concepts reported as difficult by students.
Jeisson Hidalgo-Céspedes
ICER1
2014 Playing with metaphors: a methodology to design video games for learning abstract programming concepts
abstract
Learning to program a computer is a difficult task for many Computer Science students. Constructivism theory states that learning is unavoidably done through association of new concepts with existing ones. In order to learn abstract programming concepts, like memory indirection and execution threads, students must build them upon life experience concepts. We hypothesize that easing the association process by using metaphors, and letting students program them directly through video games, can foster learning of abstract concepts. We propose a methodology to design video games under this principle, and provide an example using metaphors for difficult abstract programming concepts.
Jeisson Hidalgo-Céspedes, Gabriela Marín Raventós, Vladimir Lara-Villagrán
ITiCSE1