A study of visualization in introductory programming (original) (raw)

Teaching programming using visualization

Teaching computer programming to young students is a major challenge. This paper describes a web-based course for teaching programming using visualization and a gaming theme. Concepts are taught using real world examples that the target students can identify with; in this way some of the problems related to understanding abstract concepts are alleviated and learning occurs in context. The full range of multimedia technology including animation, sound and video are used to immerse the student in an environment where learning is fun and visual display of the concepts reinforce learning. A gaming theme is used for formative assessment. Students are provided with 'game' activities such as "spot the error", "predict the output" and "put in order". These enhance critical thinking. They test comprehension and knowledge as well as higher order thinking skills.

A Proposed Framework For Visualization To Teach Computer Science

2007

Computer programming is considered a very difficult course by many computer science students. The reasons for the difficulties include cognitive load involved in programming, different learning styles of students, instructional methodology and the choice of the programming languages. To reduce the difficulties the following have been tried: pair programming, program visualization, different learning styles etc. However, these efforts have produced limited success. This paper reviews the problem and proposes a framework to help students overcome the difficulties involved.

Turtlet–Motivating Students with Visualization

The fundamentals of programming are a field that extensively uses different kinds of tools to enhance learning experience. These tools come in several sizes, offering wide range of different services or approaches to the teaching of introductory programming curricula. Even the basic taxonomy for CSE tools classifies over fifty different tools and software packages.

Teaching an Introductory Programming Course Through Computer Graphics - An Experimental Approach

Introduction to programming courses in many engineering departments are usually given with a C-based language for the novice programmer, most generally, a high level language is chosen for the student to adapt the department easily. The most common problem among students are the lack of visual outputs, hence it reduces the desire to programming. In this paper, 2 years of teaching programming through computer graphics are given. The study was carried out among 10th grade high school students and the results have shown that to enhance the enthusiasm towards programming courses and to increase the success in programming, computer graphics is advised to be given as an introductory programming language course by the students.

Creating Visualizations from Multimedia Building Blocks: A Simple Approach to Teaching Programming Concepts

SSRN Electronic Journal, 2000

Academics teaching programming are faced with the challenge of teaching dynamic concepts using static media. Despite multiple tools developed in the past to support learning of programming concepts, access to these tools is very limited and many educators have to create their own support materials and tools which is often time-consuming, complex and expensive. In this paper we share our experience of producing simple animations using widely and/or freely available software packages to develop small building blocks that are customizable and reusable and can be mixed and matched to meet the learning requirements of individual students. Positive student feedback from using these tools has encouraged the continued exploration of options for developing animations illustrating programming concepts.

Teaching Computer programming in the 21st Century

International Journal of Science and Technology Vol.1 No.8 ISSN 2224-3577, 2011

Over the years, research has shown that programming has proved to be a challenging task to many. Due to this, several program visualization tools have been developed to aid in teaching programming. This study aimed at assessing the impact of using programming visualization tools in the teaching and learning of computer Programming. An overview of the tools that were used during the study is given followed by review of literature on the benefits of PV tools in teaching Programming. The study is based on Edga Dale’s (1954) Cone of Experience, which forms the foundation of resource based learning theories. Literature reveals that the use of program visualization tools in teaching and learning Programming have posted positive results in various institutions. This is followed by a report of a study conducted using experimental research design approach. The same class was taught two programming introductory courses using BlueJ and Jeliot3 tools; and the performance of the students in the two courses was compared. In addition, during the classes, the covert-direct observation method was used to observe student interactions’ and behaviors as they programmed and solved problems during the lessons. Results revealed that these tools if effectively used can improve on the alertness of students, interest in the subject and ultimately positive results.

Evaluating the Effect of Program Visualization on Student Motivation

IEEE Transactions on Education, 2017

An increase in student motivation is often cited as an expected effect of software visualization, but, as far as the authors are aware, no controlled experiments have yet demonstrated this. This paper therefore presents a controlled evaluation of this effect, conducted within the framework of self-determination theory. Students were tasked with removing redundant recursion in a multiple recursive algorithm. The experimental group (N = 19) used the SRec program visualization system, while the control group (N = 17) could use any programming tool in which they were proficient, such as BlueJ or Eclipse. The increase in motivation was measured by the difference between student scores in pre-and post-tests of their motivation. Statistically significant increases were observed for the two more determined forms of motivation, intrinsic motivation (p = 0.01), and extrinsic motivation via identified regulation (p = 0.03). Student feedback about their subjective acceptance of SRec reinforced these results. These findings give experimental support to expectations for software visualization in terms of motivation. Several paths for future work are identified, in particular, the need for more experiments under various conditions to achieve deeper understanding of the motivational effect of program visualization.

Students’ responses to the use of an Interactive Multimedia Tool for Learning Computer Programming

2004

This paper describes the design the Dynamic Interactive Visualisation Tool in Teaching C (DIVTIC), using multimedia and visual imagery to provide learners with a step-by-step representation of program execution in the C language as a means of enhancing their understanding of programming structures and concepts. The levels of use and uptake of DIVTIC was explored among a cohort of undergraduate engineering students, 50 at Suranaree University of Technology (SUT) in Thailand. The findings are discussed and ...

The Effect of an Example-Based Dynamic Program Visualization Environment on Students’ Programming Skills

The purpose of this study was to investigate and compare the effect of the two computer-assisted learning systems named the Example-Based Dynamic Program Visualization Environment (EDPVE) and the Example-Based Static Program Visualization Environment (ESPVE) on undergraduate students' programming skills in an introductory programming course. The study was conducted using a quasi-experimental, non-equivalent control group design with 81 pre-service teachers in a Turkish university. Two classes were randomly assigned to use EDPVE(experimental group) and ESPVE(control group) system. The results of the experiments showed that: (1) there were a significant difference between EDPVE and ESPVE groups in favour of the EDPVE group; and (2) there were no significant difference between male and female students in EDPVE and ESPVE groups respectively. The findings of this study suggest that teaching and learning programming can be improved through the use of dynamic program visualization techniques.

Integration of visualization techniques and active learning strategy in learning Computer Programming: A proposed framework

This paper reviews the issues and problems faced by students in learning programming, thus recommend a conceptual framework to overcome the problem. Computer programming courses are said to be complex and difficult, particularly to novice students. Among the causes of students' failure in developing programming skills is their inability to visually illustrate the flow of the program code during the program execution. To overcome this problem, a Program Visualization (PV) is recognized as one of the available learning support tools that can help novice students in enhancing their understanding of the programming execution. Nevertheless, using the PV alone without the active engagement with the tools will not produce the optimal learning outcome on students' programming performance. Previous studies indicated that, active learning strategies are among the most effective strategies in learning programming. Apart from learning strategies, there is a requirement of active involvement of students in the learning process, the ability to think logically which affect their ability to solve problems, thus lead them to develop a program. In addition, using PV as learning aids is expected to increase the students' self-efficacy in learning assignment activity and overcome the challenges of learning. Consequently, it is also important that these aspects are viewed in studies related to the effectiveness of any instructional materials such as PV to enhance programming performance, particularly in finding approaches that can improve novices' self-efficacy.