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.- Block based programming
- Computer Supported Collaborative Learning - CSCL:
- Program and algorithm visualization:
- Compiler visualization:
- Other works & collaborations
Computer Supported Collaborative Learning - CSCL
Social Approach in Educational Enviroments
DescriptionWe 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.
- The JuxtaLearn project website.
- Description and evaluation of an early version of ClipIt: paper at IEEE FIE 2014.
- Description of the 3rd version of ClipIt: demo at ECTEL 2014.
Program and algorithm visualization
Effortless Animation Construction
DescriptionWe 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.
- Detailed description of the WinHIPE environment.
- Detailed description of the web-based animation construction process.
- Details and evaluation of the the effortless approach of the animation construction process.
- A short-term pedagogycal evaluation in a Algorithm Design and Analysis course.
- Short-term and long-term evaluations in a Functional Programming course.
- Global study of the construction approach.
Educational Effectiveness of Animations
DescriptionProgram 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.
- Detailed description of the survey: published article.
- Detailed description of the comparative study: published article.
Compiler visualization
Visualization of Syntax Trees
DescriptionLanguage 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.
- VAST web site.
- Error recovery visualization: EDUCON 2010 paper and published article
- Educational evaluation: published article
- Usability evaluation: the published paper and the detailed technical report.
- Poster (PDF) presentation at SoftVis 2008.
Symbol Table Animation
DescriptionWe 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:
- A brief description of SOTA.
- A brief description of the first evaluation.
- Description of the second evaluation: published paper and technical report .
Other works & collaborations
Algorithm VisualizationI 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 production and use of questionnaires.
- Taska, an interface for electronic books.
- A workflow approach to the use and automatic generation of 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.
- Description of the R-Zoom technique.
- Evaluation details in Engineering the User Interface From Research to Practice.
RZ-Layout
DescriptionRZ-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.