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.
If visualization is more effective when accompanied by narration, why not superimpose visualization on narration? This might result in better transfer of learning. We will present a general framework for such superimp...
详细信息
If visualization is more effective when accompanied by narration, why not superimpose visualization on narration? This might result in better transfer of learning. We will present a general framework for such superimposed visualization, called overlay visualization. The objectives for the design of our framework are 1) to separate the application from the visualization;and 2) to separate the specification from the rendering. We will describe a few applications of overlay visualization for programming and provide examples from our implementation of overlay visualization for software tutors called problets. The advantages of overlay visualization include: less cognitive load on the learner, and automatic support for both path and state visualization.
A 3D iteration space visualizer (ISV) is presented to analyze the parallelism in loops and to find loop transformations which enhance the parallelism. Using automatic program instrumentation, the iteration space depen...
详细信息
A 3D iteration space visualizer (ISV) is presented to analyze the parallelism in loops and to find loop transformations which enhance the parallelism. Using automatic program instrumentation, the iteration space dependency graph (ISDG) is constructed, which shows the exact data dependencies of arbitrarily nested loops. Various graphical operations such as rotation, zooming, clipping, coloring and filtering, permit a detailed examination of the dependence relations. Furthermore, an animated dataflow execution shows the maximal parallelism and the parallel loops are indicated automatically by an embedded data dependence analysis. In addition, the user may discover and indicate additional parallelism for which a suitable unimodular loop transformation is calculated and verified. The ISV has been applied to parallelize algorithmic kernel programs, a computational fluid dynamics (CFD) simulation code, the detection of statement-level parallelism and loop variable privatization. The applications show that the visualizer is a versatile and easy to use tool for the high-performance application programmer. (C) 2001 Academic Press.
EduVisor software visualization component is a new pedagogical tool specifically developed to address some wide-spread problems in teaching object-oriented technology to novice programmers. The visualization tool is i...
详细信息
EduVisor software visualization component is a new pedagogical tool specifically developed to address some wide-spread problems in teaching object-oriented technology to novice programmers. The visualization tool is integrated in a world-class IDE, and shows the students the structure of their own creations at runtime. EduVisor is based on a solid grounding in literature and over 25 years of combined experience in teaching a CS1 course. With this component we have set the goal of helping our students progress faster through the most difficult initial stages of programming.
We lay down plans to study how Inductive Reasoning Ability (IRA) affects the analyzing and understanding of program visualization (PV) systems. Current PV systems do not take into account the abilities of the user but...
详细信息
We lay down plans to study how Inductive Reasoning Ability (IRA) affects the analyzing and understanding of program visualization (PV) systems. Current PV systems do not take into account the abilities of the user but show always the same visualization independently of the changing knowledge or abilities of the student. Thus, we propose IRA as an important skill when comprehending animation, which can be used to model the students and thus to adapt the visualization for different students. As an initial step we plan to check if IRA correlates with ability to answer program related questions during program visualization. We discuss the possible benefits of using IRA modeling in adaptive PV.
We report the preliminary findings of a qualitative investigation into how students approach a program visualization tool, and whether the approach depends on how they are taught to use the tool. Volunteer students in...
详细信息
We report the preliminary findings of a qualitative investigation into how students approach a program visualization tool, and whether the approach depends on how they are taught to use the tool. Volunteer students in an undergraduate programming course were divided into two groups. One group was taught programming concepts explicitly using the tool, and required to use it to solve weekly exercises and projects, whereas the other group only used the tool on a voluntary basis. We identify those aspects of using the tool which the students find beneficial, and discuss the limitations of the animations provided by Jeliot 3.
Modern integrated development environments (IDEs) provide programmers with a variety of sophisticated tools for program visualization and manipulation. These tools assist the programmer in understanding legacy code an...
详细信息
Modern integrated development environments (IDEs) provide programmers with a variety of sophisticated tools for program visualization and manipulation. These tools assist the programmer in understanding legacy code and making coordinated changes across large parts of a program. Similar tools incorporated into an integrated proof environment (IPE) would assist proof developers in understanding and manipulating the increasingly larger proofs that are being developed. In this paper we propose some tools and techniques developed for software engineering that we believe would be equally applicable in proof engineering.
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.
A website featuring interactive examples bused to teach introductory programming to both on-campus and, recently, distance students is described. On-line notes are created using a pair of tools, Web-Writer++, an autho...
详细信息
ISBN:
(纸本)9781424410835
A website featuring interactive examples bused to teach introductory programming to both on-campus and, recently, distance students is described. On-line notes are created using a pair of tools, Web-Writer++, an authoring system for programming instructors, and the Teaching Machine, a program animator which is used to interactively display the examples. The tools allow the instructor in the classroom or the student on their own to step through computer programs written in C++ or Java. The animations that unfold are designed to build a deep understanding of how computers process programs, consonant with the kind of mental models we believe professional programmers hold. In-class versus distance experience will be discussed.
This paper describes SSEA (System for Studying the Effectiveness of Animations), an environment designed to support the empirical study of program visualizations.
This paper describes SSEA (System for Studying the Effectiveness of Animations), an environment designed to support the empirical study of program visualizations.
暂无评论