84 research outputs found

    Visualizing programs with Jeliot 3

    Full text link

    Visualization/animation of programs based on abstract representations and formal mappings

    Get PDF
    In the context of Alma (a system for program visualization and algorithm animation), we use an internal representation-based on the concept of an attributed abstract syntax tree decorated with attribute values, a DAST-to associate (static) figures to grammar rules (productions) and to step over program dynamics executing state changes in order to perform its animation. We do not rely upon any source program annotations (visual/animation statements, or parameters), neither on any special visual data types. On account of such principle, the approach becomes source language independent. It means that we can apply the same visualizer and animator, that is the Alma's back-end, to different programming languages; all that we need is different front-ends to parse each program into the DAST we use. In this paper we discuss Alma design goals and architecture, and we present the two mappings that associate to productions figures and rewriting rules to systematically draw a visual representation (exhibiting data and control flow) of a given source program and to animate its execution.FC

    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

    Studi Komparatif Program Visual Dinamis untuk Pembelajaran Algoritma dan Pemograman Berorientasi Objek

    Get PDF
    As beginners, many first-year students have difficulty understanding object-oriented programming material. To help students learn algorithmic and object-oriented programming material researchers have developed visual programming (PV). Visual programming is a tool to facilitate learning programming. The concept of learning to use PV visualizes the work processes of algorithms and programming. This research aims to compare three dynamic PV tools for object-oriented learning programming that are the most studied. To determine the PV to be compared, a survey was conducted in an online journal database, such as IEEE explore, ACM, and several well-known online publishers. From the survey results, three dynamic PVs were chosen, most widely discussed, namely Jeliot 3, Ville and Jive. All three tools are installed and studied. Comparison results show that each dynamic PV has advantages on certain characteristics. The instructor can choose visual programming by considering the advantages of each PV

    Computer-supported Techniques to Increase Students Engagement in Programming

    Get PDF
    One of the main reasons that justify the student’s failure in (introductory) programming courses is the lack of motivation that impacts on the knowledge acquisition process, affecting learning results. As soon as students face the difficulties concerning the development of algorithms or the coding in a programming language, they give up and do not try harder to solve other problems; they think it is a demanding activity and feel frustrated. In this paper we describe in detail an experiment conducted to verify the effectiveness, in terms of the increase in motivation and in knowledge acquisition, of combining program Animation tools with the immediate feedback provided by Automatic Evaluations Systems.info:eu-repo/semantics/publishedVersio

    Combining program visualization with programming workspace to assist students for completing programming laboratory task

    Get PDF
    Numerous Program Visualization tools (PVs) have been developed for assisting novice students to understand their source code further. However, none of them are practical to be used in the context of completing programming laboratory task; students are required to keep switching between PV and programming workspace since PV’s features are considerably limited for developing programming solution from scratch. This paper combines PV with programming workspace to handle such issue. Resulted tool (which is named PITON) has 13 features extracted from PythonTutor (a program visualization tool), PyCharm (a programming workspace), and student’s feedbacks about PythonTutor. According to think-aloud and user study, PITON is more practical to be used than a combination of PythonTutor and PyCharm. Further, its features are considerably helpful; students rated these features as useful and frequently usedPeer Reviewe

    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

    The Use of Python Tutor on Programming Laboratory Session: Student Perspectives

    Get PDF
    Based on the fact that the impact of educational tools can only be accurately measured through student-centered evaluation, this paper proposes a long-term in-class evaluation for Python Tutor, a program visualization tool developed by Guo. The evaluation involves 53 students from 4 Basic Data Structure classes, which were held in the even semester of 2016/2017 academic year. It is conducted based on questionnaire survey asked to the students after they have used Python Tutor in their half of programming laboratory sessions. In general, there are three findings from this work. Firstly, Python Tutor helps students to complete programming laboratory tasks, specifically for Basic Data Structure material. Secondly, Python Tutor helps students to understand general programming aspects which are execution flow, variable content change, method invocation sequence, object reference, syntax error, and logic error. Finally, based on student perspectives, Python Tutor is a helpful tool positively affecting the students
    • …
    corecore