15 research outputs found

    Visualizing programs with Jeliot 3

    Full text link

    Re-designing program animation

    Get PDF

    Proceedings of the Second Program Visualization Workshop, 2002

    Get PDF
    The Program Visualization Workshops aim to bring together researchers who design and construct program visualizations and, above all, educators who use and evaluate visualizations in their teaching. The first workshop took place in July 2000 at Porvoo, Finland. The second workshop was held in cooperation with ACM SIGCSE and took place at HornstrupCentret, Denmark in June 2002, immediately following the ITiCSE 2002 Conference in Aarhus, Denmark

    TRACING LEARNING ENVIRONMENT IN JAVA PROGRAMMING LANGUAGE

    Get PDF
    The visualisation approach is one of the programming learning styles that has been taken into account in programming education. A collection of visualisation tools has emerged with the aim of assisting novice programmers in learning how to program. Each tool has its own set of features that may or may not be helpful in gaining a better understanding. The methods that we used in this study are focused on using memory referencing and visualisation to clarify what happens during individual program statement executions. Understanding the efficacy of current instructional resources is a critical component of gathering students' requirements and needs for future improvement. The “Tracing Learning Environment” (TLE) is developed for novice programmers to help them trace the sequence of execution of a software program and the reserved place of data in the memory. The framework relies on using visualisation as the programs are run and to show the effect of each statement in the code. It provides an environment for learners to see what happens to the data while running the program. The specification of the TLE draws largely on research regarding the role of visualisation in teaching computer programming and associated literature on tools to support learning programming. The TLE framework has been evaluated by conducting an empirical study using a mixed-method approach with novice and expert participants. The study has included surveys, focus groups, and semi-structured interviews. Student performance was measured before and after using the visualisation tool and compared with a control group who participated in a standard teaching session only. Early findings highlighted the need to visualise the control of the execution of code, evaluation of expressions, represent the class hierarchy along with the importance of a good interface/usability of the tool and to consider the programming languages supported. The evaluation findings are in line with the literature surrounding the benefits of using visualisation in learning to program. The findings found visualisation increased the students’ performance and confidence. When compared to the regular lab activities, the visualisation contributed to better understanding and support for learning to program.Ministry of Education, Saudi Arabi

    Uma ferramenta para auxiliar no ensino de estruturas de dados como tipo de dado abstrato

    Get PDF
    Orientador : Beatriz Mascia DaltriniTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de ComputaçãoDoutorad

    Visual algorithm simulation

    Get PDF
    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 simulation. The roles considered includes users (i.e., learners and instructors), visualizers (those who specify the visualizations), programmers (those who wrote the original algorithms to be visualized), and the developers (those who continue to design and implement the Matrix framework). Finally, the effectiveness of the algorithm simulation exercises, the main application embodied in the framework, is studied. The current tool is utilized for delivering, representing, solving, and submitting tracing exercises that can be automatically assessed, and thus provides meaningful feedback on learners performance.reviewe

    University of Helsinki Department of Computer Science Annual Report 1998

    Get PDF

    Exploring student perceptions about the use of visual programming environments, their relation to student learning styles and their impact on student motivation in undergraduate introductory programming modules

    Get PDF
    My research aims to explore how students perceive the usability and enjoyment of visual/block-based programming environments (VPEs), to what extent their learning styles relate to these perceptions and finally to what extent these tools facilitate student understanding of basic programming constructs and impact their motivation to learn programming

    Efficient Use of Teaching Technologies with Programming Education

    Get PDF
    Learning and teaching programming are challenging tasks that can be facilitated by using different teaching technologies. Visualization systems are software systems that can be used to help students in forming proper mental models of executed program code. They provide different visual and textual cues that help student in abstracting the meaning of a program code or an algorithm. Students also need to constantly practice the skill of programming by implementing programming assignments. These can be automatically assessed by other computer programs but parts of the evaluation need to be assessed manually by teachers or teaching assistants.There are a lot of existing tools that provide partial solutions to the practical problems of programming courses: visualizing program code, assessing student programming submissions automatically or rubrics that help keeping manual assessment consistent. Taking these tools into use is not straightforward. To succeed, the teacher needs to find the suitable tools and properly integrate them into the course infrastructure supporting the whole learning process. As many programming courses are mass courses, it is a constant struggle between providing sufficient personal guidance and feedback while retaining a reasonable workload for the teacher.This work answers to the question "How can the teaching of programming be effectively assisted using teaching technologies?" As a solution, different learning taxonomies are presented from Computer Science perspective and applied to visualization examples so the examples could be used to better support deeper knowledge and the whole learning process within a programming course. Then, different parts of the assessment process of programming assignments are studied to find the best practices in supporting the process, especially when multiple graders are being used, to maintain objectivity, consistency and reasonable workload in the grading.The results of the work show that teaching technologies can be a valuable aid for the teacher to support the learning process of the students and to help in the practical organization of the course without hindering the learning results or personalized feedback the students receive from their assignments. This thesis presents new visualization categories that allow deeper cognitive development and examples on how to integrate them efficiently into the course infrastructure. This thesis also presents a survey of computer-assisted assessment tools and assessable features for teachers to use in their programming assignments. Finally, the concept of rubric-based assessment tools is introduced to facilitate the manual assessment part of programming assignments

    Semi-automatic generation of three-dimensional visual algorithm simulations

    Get PDF
    Algorithms and data structures constitute the theoretical foundations of computer science and are an integral part of any classical computer science curriculum. Due to their high level of abstraction, the understanding of algorithms is of crucial concern to the vast majority of novice students. To facilitate the understanding and teaching of algorithms, a new research field termed "algorithm visualisation" evolved in the early 1980's. This field is concerned with innovating techniques and concepts for the development of effective algorithm visualisations for teaching, study, and research purposes. Due to the large number of requirements that high-quality algorithm visualisations need to meet, developing and deploying effective algorithm visualisations from scratch is often deemed to be an arduous, time-consuming task, which necessitates high-level skills in didactics, design, programming and evaluation. A substantial part of this thesis is devoted to the problems and solutions related to the automation of three-dimensional visual simulation of algorithms. The scientific contribution of the research presented in this work lies in addressing three concerns: - Identifying and investigating the issues related to the full automation of visual simulations. - Developing an automation-based approach to minimising the effort required for creating effective visual simulations. - Designing and implementing a rich environment for the visualisation of arbitrary algorithms and data structures in 3D. The presented research in this thesis is of considerable interest to (1) researchers anxious to facilitate the development process of algorithm visualisations, (2) educators concerned with adopting algorithm visualisations as a teaching aid and (3) students interested in developing their own algorithm animations.Als fundamentale abstrakte Konzepte der theoretischen Informatik sind Algorithmen und Datenstrukturen ein integraler Bestandteil jedes klassischen Kurrikulums eines Informatik-Studiums. Aufgrund ihrer abstrakten Eigenschaften stellt das Verstehen der Arbeitsweise von Algorithmen für viele Studierende eine große Herausforderung dar. Um das Lernen, Lehren und Erforschen von Algorithmen und Datenstrukturen zu vereinfachen, wurde Anfang der 80er Jahre ein Forschungsgebiet namens Algorithmenvisualisierung geschaffen. Als Teildisziplin der Softwarevisualisierung befasst sich dieses Forschungsfeld mit der dynamischen Visualisierung des abstrakten Verhaltens von Algorithmen und den diesen zugrundeliegenden Datenstrukturen. Algorithmenvisualisierung gilt als ein modernes e-Learning- und e-Teaching-Instrument, das Computergraphiktechniken einsetzt, um das Verstehen, Vermitteln und Erforschen von Algorithmen zu erleichtern. Ein Hauptziel dieser Dissertation besteht darin, Ansätze zur Automatisierung von dreidimensionalen visuellen Algorithmensimulationen zu entwickeln und zu implementieren. Eine visuelle Simulation eines Algorithmus ist eine interaktive Animation seines Verhaltens und der Zustandsänderungen seiner Daten, der eine Echtzeitsimulation des Algorithmus zugrunde liegt. Der wissenschaftliche Beitrag dieser Arbeit besteht darin, die bislang unerforschten Probleme der vollautomatischen Visualisierung von Algorithmen zu identifizieren und zu analysieren, mögliche Lösungswege und -ansätze zu entwickeln und diese in eine zu schaffende Algorithmenvisualisierungsumgebung zu implementieren. Desweiteren präsentiert die Arbeit einen Ansatz zur Minimierung des Aufwands für die Entwicklung von visuellen Simulationen paralleler Algorithmen und einen Ansatz zur passiven Animation von Algorithmen zu NP-vollständigen Problemen. ..
    corecore