This special issue presents extended versions of six papers presented at the 5th program visualization Workshop (PVW’08). The articles deal with many of the issues relevant to program and algorithm visualization in e...
详细信息
This special issue presents extended versions of six papers presented at the 5th program visualization Workshop (PVW’08). The articles deal with many of the issues relevant to program and algorithm visualization in education. This foreword introduces these issues to better understand the challenges addressed by every article, and their relevance, as well as the articles featured. These issues are evaluation of program and algorithm visualization, integration of visualization and narratives into hypertextbooks, embedding of interactive quizzes into visualizations, and several classes of program visualization.
Computer science core instruction attempts to provide a detailed understanding of dynamic processes such as the working of an algorithm or the flow of information between computing entities. Such dynamic processes are...
详细信息
Computer science core instruction attempts to provide a detailed understanding of dynamic processes such as the working of an algorithm or the flow of information between computing entities. Such dynamic processes are not well explained by static media such as text and images, and are difficult to convey in lecture. The authors survey the history of visualization in computer science education, focusing on artifacts that have a documented positive educational assessment. Changes in how computing technology has affected the development and uptake of such visualization artifacts in computer science education, and how recent technology changes are leading to progress in developing online hypertextbooks are then discussed.
This thesis formulates and evaluates a pedagogical technique whose goal is to help beginners learn the basics of computer programming. The technique, visual program simulation (VPS), involves the learner in interactiv...
详细信息
This thesis formulates and evaluates a pedagogical technique whose goal is to help beginners learn the basics of computer programming. The technique, visual program simulation (VPS), involves the learner in interactive simulations in which the learner takes on the role of the computer as the executor of a program. The student uses a given visualization of a so-called notional machine, an abstract computer, to illustrate what happens in memory as the computer processes the program. The purpose of these simulations is to help the beginner learn to reason about program execution, a skill whose development has been identified as a major challenge in introductory programming education. VPS promotes effective learning by seeking to cognitively engage the learner with a visualization. It can be made practical through visualization software. VPS software may also automatically assess students'' simulations and provide personal feedback, which is a valuable asset especially in the large classes that are typical of introductory *** thesis contributes to VPS in four ways. First, it formulates the concept of visual program simulation and outlines its underpinnings in terms of learning theory. Second, it presents a new software prototype that facilitates the use of VPS in practice. Third, it reports on a preliminary empirical evaluation of VPS and the software in the context of an introductory programming course. Fourth, it makes recommendations on the use of VPS in teaching and the further development of VPS tools, which arise from the empirical *** findings from a mixed-methods evaluation of VPS suggest that it is a promising pedagogical approach that helps many students learn programming. At the same time, the evaluation highlights certain important weaknesses. The purpose of VPS is not obvious to many students. Care must be taken to ensure that students develop a rich understanding of what VPS is and what they stand to gain from it. For best results, it is recom
In this paper, we report a study on the differences of using a program visualization tool collaboratively or independently. We conducted a study, where students were divided randomly into two groups: the treatment gro...
详细信息
ISBN:
(纸本)9781612844695
In this paper, we report a study on the differences of using a program visualization tool collaboratively or independently. We conducted a study, where students were divided randomly into two groups: the treatment group used a visualization tool called ViLLE in collaboration with another student, while the control group used the tool alone. During the study, we recorded screen captures and students' conversations. Our previous results confirmed that the treatment group outperformed the control group in the post-test in questions related to functions and in total score. Thus, we now annotated and tagged students' actions in answering the exercises, trying to find out an explanation for the difference in learning results. The results show, that the students working in collaboration spent more time answering the difficult exercises than the students working alone, and moreover, spent more time in higher level of engagement, both relatively and absolutely measured. Furthermore, we found out that the students working in pairs discussed the most when in the higher level of engagement and that almost all discussion was related to the exercise they were doing.
We propose Observer architecture for program visualization. The principles of Observer architecture are modular, model-driven visualization with one-directional coupling, hierarchical delegation, message-passing and a...
详细信息
We propose Observer architecture for program visualization. The principles of Observer architecture are modular, model-driven visualization with one-directional coupling, hierarchical delegation, message-passing and archival by visualizers. The architecture is scalable. The resulting visualization can be distributed and modified independent of the model. The Observer architecture has been implemented in online tutors for programming called problets.
Based on previous research, it seems that the activities performed by and the engagement of the students matter more than the content of the visualization. One way to engage students to interact with a visualization i...
详细信息
Based on previous research, it seems that the activities performed by and the engagement of the students matter more than the content of the visualization. One way to engage students to interact with a visualization is to present them with prediction questions. This has been shown to be beneficial for learning. Based on the engagement taxonomy and benefits of the question answering during the algorithm visualization, we propose to implement an automatic question generation into a program visualization tool, Jeliot 3. In this paper, we explain how the automatic question generation can be incorporated into the current design of Jeliot 3. In addition, we provide various example questions that could be automatically generated based on the data obtained during the visualization process.
Jeliot is a program animation system for teaching and learning elementary programming that has been developed over the past decade, building on the Eliot animation system developed several years before. Extensive peda...
详细信息
Jeliot is a program animation system for teaching and learning elementary programming that has been developed over the past decade, building on the Eliot animation system developed several years before. Extensive pedagogical research has been done on various aspects of the use of Jeliot including improvements in learning, effects on attention, and acceptance by teachers. This paper surveys this research and development, and summarizes the experience and the lessons learned. (C) 2011 Elsevier Ltd. All rights reserved.
Developers navigate and reason about call graphs throughout investigation and debugging activities. This is often difficult: developers can spend tens of minutes answering a single question, get lost and disoriented, ...
详细信息
ISBN:
(纸本)9781457712456
Developers navigate and reason about call graphs throughout investigation and debugging activities. This is often difficult: developers can spend tens of minutes answering a single question, get lost and disoriented, and erroneously make assumptions, causing bugs. To address these problems, we designed a new form of interactive call graph visualization - REACHER. Instead of leaving developers to manually traverse the call graph, REACHER lets developers search along control flow. The interactive call graph visualization encodes a number of properties that help developers answer questions about causality, ordering, type membership, repetition, choice, and other relationships. And developers remain oriented while navigating. To evaluate REACHER'S benefits, we conducted a lab study in which 12 participants answered control flow questions. Compared to an existing IDE, participants with REACHER were over 5 times more successful in significantly less time. All enthusiastically preferred REACHER, with many positive comments.
The tasks of programming include complex knowledge and skills that is, from understanding problems to evaluating validity of program. Novice students often face difficulties in learning programming due to various issu...
详细信息
ISBN:
(纸本)9783642222023
The tasks of programming include complex knowledge and skills that is, from understanding problems to evaluating validity of program. Novice students often face difficulties in learning programming due to various issues and the nature of the subject, which can be vague and invisible. A survey was conducted on 294 students from two universities to study novices' problems in dealing with tracking the logical flow and writing a simple code. The average score for tracking and writing skills were quite disappointing. Students were only able to master the static part of programming knowledge. They lacked the knowledge in understanding and tracing the dynamic behavior of the program. This research attempts to propose a model to shift the internal working memory load of students through integrated visualization tools that can reveal the dynamic behavior of programs and related concepts that appear in each level of program abstractions.
visualization tools have proven to be useful for enhancing novice programmers' learning. However, existing tools are typically tied to particular programming languages, and tend to focus on low-level aspects of pr...
详细信息
ISBN:
(纸本)9781920682699
visualization tools have proven to be useful for enhancing novice programmers' learning. However, existing tools are typically tied to particular programming languages, and tend to focus on low-level aspects of programming such as the changing values of variables during program code execution. In this paper we present a new program visualization tool, which provides a language-independent view of learning programming. Moreover, program execution can be viewed in two languages simultaneously. Complete with role information of variables, the tool supports the learning process at a more abstract level, thus emphasizing the similarities of basic programming concepts and syntax in all imperative programming languages.
暂无评论