Innovation & Technology in Computer Science Education
Most of my research efforts focus on educational technologies and innovation in computer science education. Currently, i'm interested in the educational use of software visualization technologies.
Contents
- Program and algorithm visualization:
- Effortless Animation Construction
- Educational Effectiveness of Animations (updated 30-Jun-2009) - Compiler visualization:
- Visualization of syntax trees (updated 11-Aug-2009)
- Symbol Table Animation (updated 19-May-2011) - Other works & collaborations.
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 long-term evaluation of the construction process. We have compared three different scenarios: a typical one without animations, other just viewing animations, and the last one constructing animations. We carried out this evaluation in a functional programming course. Results showed that viewers and builders got better grades than typicals, and builders were strongly more motivated with the course than viewers and typicals.
Conclusions & further readings
Current conclusions:
- 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:
- 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.
[Top of Progam & Algorithm Visualization]
[Top of the page]
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.
Last work
Our last work has been a survey of systems and experiments with PAVs where learning improvements have been detected. 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.
Nowadays we are working on adding to this survey information about unsuccessful experiments.
Conclusions & further readings
Current 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:
- Detailed description of the study: published article.
[Top of Progam & Algorithm Visualization]
[Top of the page]
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 integrated the parser execution and visualization steps in the VASTview interface. After an observational evaluation with 5 students we noticed that the negative aspects detected in the previous evaluation have been improved.
Nowadays we are working on fixing bugs of error recovery and integrating steps regarding syntax specifications annotation and parser construction.
Conclusions & further readings
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.
Further readings:
- VAST web site.
- Error recovery visualization: published paper
- Educational evaluation: published article
- Usability evaluation: the published paper and the detailed technical report.
- Poster (PDF) presentation at SoftVis 2008.
[Top of Compiler Visualization]
[Top of the page]
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 & further readings
Current 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 .
[Top of Compiler Visualization]
[Top of the page]
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
- 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.
