Research

Currently, I'm working in the project: iProg: New generation of tools based on emerging interactive technologies for programming education (subproject New student-centered environments for learning programming: From primary education to the university). I've also worked in the JuxtaLearn project (FP7 funfed). My research interests focus on two related areas:

Technology Enhanced Learning & CS Education

Most of my research efforts focus on educational technologies and innovation in computer science education. I'm interested in block based programming, the educational use of software visualization technologies, Video Based Learning and CSCL.

Computer Supported Collaborative Learning - CSCL


Social Approach in Educational Enviroments

Description
We are studying the use the social network approach in educational networks. The framework of this research line is the JuxtaLearn project. The main topic of this project is learning threshold concepts through video creation and sharing. At the moment, our contribution to this project is the design and development of an educational social network.
We have developed ClipIt, an educational environment designed from the social network approach. ClipIt allows students to upload and share videos and educational materials. In addition it support discussions and ratings of uploaded videos. ClipIt is accesible at: http://clipit.es/
Last work
We are using the JuxtaLearn approach in many different scopes. My last experience is with a Language Processors course, where students have to produce videos about concepts regarding LR parsers. Although it hasn't finished, students' impression seems to be positive.
Conclusions
  • Both, teachers and students, agree that this approach helps students to understand threshold concepts.
  • Students identify as useful facilities in the platform the group private workspaces and the commenting tools.
  • Students' satisfaction is high, in fact they recommend the use of this approach in more subjects.
Further readings:

Program and algorithm visualization


Effortless Animation Construction

Description
We have developed an IDE for functional programming called WinHIPE. It facilitates visualizing execution steps, and also effortless construction of web-based animations. Animations have also textual explanations. Visualizations can be either algorithm or functional program visualizations, depending on the configuration of the visualization system.
Effortless animation construction with WinHIPE is an engaging process that helps students learning the visualized concepts. We have empirically tested both effortlessness and learning outcomes.
Last work
Our last work has been a global study of the construction process, made of short-term and long-term evaluations. We have compared three different scenarios: a typical one without animations, other just viewing animations, and the last one constructing animations. A general conclusion of this work is that animations actually improve learning in terms of some educational aspects: short-term and long-term knowledge acquisition, and drop-out rates.
Conclusions
  • Animations actually improve learning in terms of some educational aspects: short-term and long-term knowledge acquisition, and drop-out rates.
  • As it has been detected in other works, motivation of students is clearly improved with animation construction tasks.
  • As we have detected learning improvements, animation construction tasks can also be pedagogycally effective.
  • Explanations and narrations within animations also improve learning.
Further readings:

Educational Effectiveness of Animations

Description
Program and algorithm visualizations (PAVs) have been being used in educational environments with mixed results. First, they were used supposing that they should improve learning. But when researchers tried to test the educational impact of PAVs the results were not clear. Hundhausen, Douglas and Stasko (2002) reviewed 24 experiments about the educational use of algorithm animations, their main conclusion was that the use of visualizations by the students is more important than what visualizations show to them.
Thus, there has been a growing interest in the different ways that students use PAVs. One of the most important works is the engagement levels taxonomy created by Naps et al. (2003). But the educational impact of these engagement levels are not clear enough.
Our work tries to deepen in the impact of visualizations on the student's learning process. Based on own experiences and previous works we are considering many factors that could affect to the learning outcomes. We have surveyed a total of 18 PAV systems that were subjected to 33 evaluations. We have analyzed both usability and educational evaluations. Regarding the educational evaluations, we analyze these experiments based on the student's level of engagement with the visualizations. Also we have surveyed other features within these experiments, e.g. narrative contents, feedback on student's actions or advanced interfaces. There are some features present in most of these, successful, experiments. Therefore they should be taken into account as important factors affecting pedagogical effectiveness of PAVs.
Last work
Our last work has been comparative study of three different uses of program animations .
Conclusions
  • Half of the systems have only been tested for usability, and those were shallow inspections.
  • Script-based systems seem to be well suited for the viewing, responding, and changing engagement levels.
  • Compiler-based systems do well for the construction and presenting engagement levels.
  • Narrative and textual contents are present in most of the successful experiments.
  • Regarding the responding engagement level, feedback to students' answers is also important.
  • Regarding the construction engagement level, a student centered approach when designing PAV construction kits seems to be an important factor.
Further readings:

Compiler visualization

Visualization of Syntax Trees

Description
Language processors topics are founded on formal languages theory, thus a good design of language traslators is closely related to the understanding of the construction process of syntax trees. The use of visualization is not new in this subject. We have found three kind of tools: highly theoretical, just visualization tools and parser generators with visualization capabilities. The two first have a drawback, one has to use two tools for the same topics without connecting theory and practice in the same tool. The last one is almost a good solution, but one has to "marry" with the tool and adapt the course to it.
We have developed VAST - Visualization of Syntax Trees. This tool is aimed to visualize syntax trees independently from the parser generator used by the students. The users have to annotate a syntax specification with simple API calls to VASTapi, generate and compile the parser and, when the parser is executed visualizations are automatically generated and visualized with the visualization interface VASTview. The current version supports LR and LL parsers, error recovery included. We have used VAST with ANTLR and CUP.
Students can see the result of their parsers with a usable interface. In a first informal usability inspection with two students, we observed that students felt quite comfortable with the tool and were enthusiastic with the posibility of seeing their own parsers in action. Then, we conducted a formal usability inspection of VAST with 59 students. Students had a positive opinion about the graphical interface of VAST but they noticed some problems during the parser compilation.
Other people involved: this proyect has been the core of the Dr. Francisco J. Almeida-Martínez's Ph.D. dissertation (March 2011).
Last work
We have enhanced VAST to produce educational visualizations regarding syntax error recovery strategies. We have detected that students who used the enhanced tool improved their performance developing syntax specifications with error recovery.
Conclusions
Current conclusions:
  • VASTview is easy to use and has a good quality. Also students are satisfied with it and think that their learning process has been improved.
  • The separated design VASTapi/VASTview is quite useful for teachers, while the integrated (parser execution-visualization) design is useful for students.
  • The visualizations of error recovery strategies with VAST help students improving their performance developing parser specifications including error recovery.
Further readings:

Symbol Table Animation

Description
We have developed SOTA, an educational tool focused on visualizing the structure of the symbol table during program compilation. It shows three synchronized views: the source code being compiled, the structure of the symbol table, and a list of messages describing operations performed on its struture.
Last work
Our work has been a controlled (control/treatment groups) evaluation of SOTA. It is the second evaluation, in the first one we didn't find significant learning improvements, probably the test was too easy and the tasks too simple. In this evaluation we have used more active tasks, and have tested students' skills on writing parser specifications regarding symbol table management. We have detected significant improvements of a 22%.
Conclusions
  • Students who used SOTA designed better traslators for symbol table management.
  • Students who used SOTA seem to be more confident about their knowledge.
  • Students who used SOTA think that it helps them to study symbol table concepts.

Further readings:

Other works & collaborations

Algorithm Visualization
I have participated in the ITiCSE Algorithm Visualization working group. I have contributed to the design of XML tools and specifications for algorithm animations, and its integration with other educational tools, such as hypertext books or courseware.
Design and evaluation of educational tools
  • SRec, a visualization software that supports analysis of recursive algorithms.
  • AMO, an interactive tool that helps learning the backpack algorithm.
Web-based learning materials

Human-Computer Interaction

An important part of educational technologies is the interaction between students and educational software. I'm interested in the use of information visualization techniques, and usability analysis.

Information visualization techniques

R-Zoom

R-Zoom is a Focus+Context information visualization technique. It has been integrated in the WinHIPE IDE to facilitate program and algorithm animation construction.
With R-Zoom, the user can obtain a global view of the execution of a program -the context- while accessing to the details of a specific execution stage -the focus-. R-Zoom is designed to keep visual appearance and location of the focus and the context elements as far as possible.
Last work
Our last work has been a comparative evaluation against an overview+detail approach to solve the same problem: global view of execution + detailed view of a specefic execution stage. We carried out this evaluation in a functional programming course during one session. Results showed that experienced users where significantly more effective and efficient if they use R-Zoom. Also users' satisfaction is absolutly better for R-Zoom.
Due to these results we are developing a generic Java API with the features of R-Zoom. It is designed as a Java Layout called RZ-Layout
>Conclusions
  • Adding focus+context features to zoom and pan interfaces has improved effectiveness and efficiency. These improvenments are significantly better than those achieved with the addition of overview+detail features.
  • Users felt more confortable with the focus+context augmented interface.
Further readings

RZ-Layout

Description
RZ-Layout is a generic API to display information in large scale workspace. This system has been written in Java and implements a new layout, which works with a new and generic component named RZ-Component. Distribution of the components which are added to a container is the main task of the RZ-Layout.
RZ-Component is an interface that has certain methods which must be written by the API's user. The most important feature of the RZ-Component is the fact of having two different ways to display. Thanks to this, RZ-Layout can choose which RZ-Component's display show. The fact of working with this type of component makes the layout to be generic, so it can display any kind of element.
Other people involved: this proyect wouldn't have been possible without the effort of Francisco J. Almeida-Martínez.
Last work
We have evaluated the use of RZ-Layout to develop a number interfaces. The expertise of the programmer was high.
Conclusions
  • The effort dedicated to develop the interfaces is constant.
  • Most of the development time is dedicated to the elements to be visualized rather than their layout.

Other works & collaborations

Usability evaluations

I have participated in the design and execution of usability evaluations of other educational environments: ClipIt, SRec, AMO (early version of GreedEx).