Results 1 - 10
of
166
Exploring the role of visualization and engagement in computer science education
- ACM SIGCSE Bulletin
, 2003
"... Visualization technology can be used to graphically illustrate various concepts in computer science. We argue that such technology, no matter how well it is designed, is of little educational value unless it engages learners in an active learning activity. Drawing on a review of experimental studies ..."
Abstract
-
Cited by 121 (25 self)
- Add to MetaCart
(Show Context)
Visualization technology can be used to graphically illustrate various concepts in computer science. We argue that such technology, no matter how well it is designed, is of little educational value unless it engages learners in an active learning activity. Drawing on a review of experimental studies of visualization effectiveness, we motivate this position against the backdrop of current attitudes and best practices with respect to visualization use. We suggest a new taxonomy of learner engagement with visualization technology. Grounded in Bloom’s wellrecognized taxonomy of understanding, we suggest metrics for assessing the learning outcomes to which such engagement may lead. Based on these taxonomies of engagement and effectiveness metrics, we present a framework for experimental studies of visualization effectiveness. Interested computer science educators are invited to collaborate with us by carrying out studies within this framework.
Visualizing Programs with Jeliot 3
- In Proceedings of the International Working Conference on Advanced Visual Interfaces
, 2004
"... We present a program visualization tool called Jeliot 3 that is designed to aid novice students to learn procedural and object oriented programming. The key feature of Jeliot is the fully or semi-automatic visualization of the data and control flows. The development process of Jeliot has been resear ..."
Abstract
-
Cited by 48 (14 self)
- Add to MetaCart
(Show Context)
We present a program visualization tool called Jeliot 3 that is designed to aid novice students to learn procedural and object oriented programming. The key feature of Jeliot is the fully or semi-automatic visualization of the data and control flows. The development process of Jeliot has been research-oriented, meaning that all the different versions have had their own research agenda rising from the design of the previous version and their empirical evaluations. In this process, the user interface and visualization has evolved to better suit the targeted audience, which in the case of Jeliot 3, is novice programmers. In this paper we explain the model for the system and introduce the features of the user interface and visualization engine. Moreover, we have developed an intermediate language that is used to decouple the interpretation of the program from its visualization. This has led to a modular design that permits both internal and external extensibility.
Program animation based on the roles of variables
- In The Proceedings of the 2003 ACM Symposium on Software Visualization
, 2003
"... Abstract Computer programming is a difficult skill for many students and visualizations may be used to foster learning. This paper presents a program animation system, PlanAni, that is based on the concept of the roles of variables. Roles represent schematic uses of variables that occur in programs ..."
Abstract
-
Cited by 23 (5 self)
- Add to MetaCart
Abstract Computer programming is a difficult skill for many students and visualizations may be used to foster learning. This paper presents a program animation system, PlanAni, that is based on the concept of the roles of variables. Roles represent schematic uses of variables that occur in programs over and over again, and a set of nine roles covers practically all variables in novice-level programs. PlanAni has been tested in a teaching experiment comparing traditional teaching with role-based teaching and animation. The results of a semi-structured interview with the teacher indicate that students like to work with the animator and that the system clarifies many concepts in programming.
JAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses
- In Proceedings of the 34 th ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE 2003
, 2003
"... We present JAWAA 2.0, a scripting language for creating animations easily over the web. JAWAA includes primitives, easy creation of data structures and operations on these structures, and an editor for easy creation of complex objects. We show how to use JAWAA in a range of computer science courses ..."
Abstract
-
Cited by 22 (0 self)
- Add to MetaCart
(Show Context)
We present JAWAA 2.0, a scripting language for creating animations easily over the web. JAWAA includes primitives, easy creation of data structures and operations on these structures, and an editor for easy creation of complex objects. We show how to use JAWAA in a range of computer science courses including CS 0, CS 1, CS 2 and advanced courses. Instructors can quickly build animations for demos in lecture, and students can enhance their programming projects with an animation.
Creating Animation for Presentations
- ACM SIGGRAPH /Eurographics Symposium on Computer Animation
, 2003
"... Creating Animation for Presentations by Douglas Zongker Chair of Supervisory Committee: Professor David H. Salesin Computer Science & Engineering In recent years the use of computer-generated slides to accompany live presentation has become increasingly common. There is a potential for usin ..."
Abstract
-
Cited by 20 (0 self)
- Add to MetaCart
(Show Context)
Creating Animation for Presentations by Douglas Zongker Chair of Supervisory Committee: Professor David H. Salesin Computer Science & Engineering In recent years the use of computer-generated slides to accompany live presentation has become increasingly common. There is a potential for using computer graphics to increase the effectiveness of this type of presentation. The hardware for generating and projecting complex scenes and animation is in place, yet few efforts have been made in creating software to fully utilize these capabilities.
Effective Features of Algorithm Visualizations
"... Many algorithm visualizations have been created, but little is known about which features are most important to their success. We believe that pedagogically useful visualizations exhibit certain features that hold across a wide range of visualization styles and content. We began our efforts to ident ..."
Abstract
-
Cited by 19 (4 self)
- Add to MetaCart
Many algorithm visualizations have been created, but little is known about which features are most important to their success. We believe that pedagogically useful visualizations exhibit certain features that hold across a wide range of visualization styles and content. We began our efforts to identify these features with a review that attempted to identify an initial set of candidates. We then ran two experiments that attempted to identify the e#ectiveness for a subset of features from the list. We identified a small number of features for algorithm visualizations that seem to have a significant impact on their pedagogical e#ectiveness, and found that several others appear to have little impact. The single most important feature studied is the ability to directly control the pace of the visualization. An algorithm visualization having a minimum of distracting features, and which focuses on the logical steps of an algorithm, appears to be best for procedural understanding of the algorithm. Providing a good example for the visualization to operate on proved significantly more e#ective than letting students construct their own data sets. Finally, a pseudocode display, a series of questions to guide exploration of the algorithm, or the ability to back up within the visualization did not show a significant e#ect on learning.
Visual Algorithm Simulation
, 2003
"... Understanding data structures and algorithms, both of which are abstract concepts, is an integral part of software engineering and elementary computer science education. However, people usually have difficulty in understanding abstract concepts and processes such as procedural encoding of algorithms ..."
Abstract
-
Cited by 16 (8 self)
- Add to MetaCart
Understanding data structures and algorithms, both of which are abstract concepts, is an integral part of software engineering and elementary computer science education. However, people usually have difficulty in understanding abstract concepts and processes such as procedural encoding of algorithms and data structures. One way to improve their understanding is to provide visualizations to make the abstract concepts more concrete. This thesis presents the design, implementation and evaluation for the Matrix application framework that occupies a unique niche between the following two domains. In the first domain, called algorithm animation, abstractions of the behavior of fundamental computer program operations are visualized. In the second domain, called algorithm simulation, the framework for exploring and understanding algorithms and data structures is exhibited. First, an overview and theoretical basis for the application framework is presented. Second, the different roles are defined and examined for realizing the idea of algorithm
Teaching roles of variables in elementary programming courses.
- In Proceedings of the Ninth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE’04),
, 2004
"... ABSTRACT Computer programming is a difficult skill for many students and new methods and techniques to help novices to learn programming are needed. This paper presents roles of variables as a new concept that can be used to assist in learning and gives detailed instructions on techniques to presen ..."
Abstract
-
Cited by 16 (2 self)
- Add to MetaCart
(Show Context)
ABSTRACT Computer programming is a difficult skill for many students and new methods and techniques to help novices to learn programming are needed. This paper presents roles of variables as a new concept that can be used to assist in learning and gives detailed instructions on techniques to present roles to novices. These techniques are based on current learning theories and they have been used in a classroom experiment comparing traditional teaching with rolebased teaching. The results suggest that the introduction of roles provides students a new conceptual framework that enables them to mentally process programs in a way similar to that of good code comprehenders; the use of role-based animation seems to assist in the adoption of role knowledge and expert-like programming skill.
Constructive and Collaborative Learning of Algorithms
, 2003
"... This research began by investigating the literature on student learning from algorithm animations and conducting experimental studies of an algorithm visualization system. The results led us to develop CAROUSEL (Collaborative Algorithm Representations Of Undergraduates for Self-Enhanced Learning), u ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
(Show Context)
This research began by investigating the literature on student learning from algorithm animations and conducting experimental studies of an algorithm visualization system. The results led us to develop CAROUSEL (Collaborative Algorithm Representations Of Undergraduates for Self-Enhanced Learning), using which students created expository representations of algorithms, shared their representations with others, evaluated each other's representations and discussed them. The system and the activities of representation creation, sharing, evaluation and discussion that it supports were then studied in three experiments, which are summarized. They show a significant positive relationship between these constructive and collaborative activities and algorithm learning, which suggests that this is a beneficial pedagogical approach for introductory courses on algorithms.
Algorithm visualization: A report on the state of the field
- In SIGCSE ’07: Proceedings of the ThirtyEighth SIGCSE Technical Symposium on Computer Science Education
, 2007
"... We present our findings on the state of the field of algorithm visualization, based on extensive search and analysis of links to hundreds of visualizations. We seek to answer questions such as how content is distributed among topics, who created algorithm visualizations and when, the overall quality ..."
Abstract
-
Cited by 14 (3 self)
- Add to MetaCart
(Show Context)
We present our findings on the state of the field of algorithm visualization, based on extensive search and analysis of links to hundreds of visualizations. We seek to answer questions such as how content is distributed among topics, who created algorithm visualizations and when, the overall quality of available visualizations, and how visualizations are disseminated. We have built a wiki that currently catalogs over 350 algorithm visualizations, contains the beginnings of an annotated bibliography on algorithm visualization literature, and provides information about researchers and projects. Unfortunately, we found that most existing algorithm visualizations are of low quality, and the content coverage is skewed heavily toward easier topics. There are no effective repositories or organized collections of algorithm visualizations currently available. Thus, the field appears in need of improvement in dissemination of materials, informing potential developers about what is needed, and propagating known best practices for creating new visualizations.