Data Scientist


Program Visualisation for Novice Programmers

Providing novice programmers with a concrete model of an abstract machine and displaying program execution on that machine improves their acquisition of programming skills and knowledge.

Publications

The Efficacy of a Low-Level Program Visualization Tool for Teaching Programming Concepts to Novice C Programmers.
Smith, P. A., & Webb, G. I.
Journal of Educational Computing Research, 22(2), 187-215, 2000.
[PDF] [Bibtex]

@Article{SmithWebb00,
Title = {The Efficacy of a Low-Level Program Visualization Tool for Teaching Programming Concepts to Novice C Programmers},
Author = {P. A. Smith and G. I. Webb},
Journal = {Journal of Educational Computing Research},
Year = {2000},
Number = {2},
Pages = {187-215},
Volume = {22},
Audit-trail = {Link to pdf via Baywood Publishing Company},
Keywords = {Program Visualisation},
Publisher = {Baywood Publishing},
Related = {program-visualisation}
}
ABSTRACT 

Evaluation of Low-Level Program Visualisation for Teaching Novice C Programmers.
Smith, P. A., & Webb, G. I.
Proceedings of the Seventh International Conference on Computers in Education (ICCE ’99), Amsterdam, pp. 385-392, 1999.
[PDF] [Bibtex] [Abstract]

@InProceedings{SmithWebb99,
Title = {Evaluation of Low-Level Program Visualisation for Teaching Novice C Programmers},
Author = {P. A. Smith and G. I. Webb},
Booktitle = {Proceedings of the Seventh International Conference on Computers in Education (ICCE '99)},
Year = {1999},
Address = {Amsterdam},
Editor = {G. Cumming and T. Okamoto and L. Gomez},
Pages = {385-392},
Publisher = {IOS Press},
Volume = {2},
Abstract = {While several program visualisation tools aimed at novice programmers have been developed over the past decade there is little empirical evidence showing that novices actually benefit from their use (Mulholland, 1995). Bradman (Smith & Webb, 1998) is a low-level program visualisation tool. We present an experiment that tests the efficacy of Bradman in assisting novice programmers learn programming concepts. We show that students with access to this lowlevel program visualisation tool achieved greater understanding of some programming concepts than those without access.},
Audit-trail = {pdf on file is early stage with corrections},
Keywords = {Program Visualisation},
Location = {Chiba, Japan},
Related = {program-visualisation}
}
ABSTRACT While several program visualisation tools aimed at novice programmers have been developed over the past decade there is little empirical evidence showing that novices actually benefit from their use (Mulholland, 1995). Bradman (Smith & Webb, 1998) is a low-level program visualisation tool. We present an experiment that tests the efficacy of Bradman in assisting novice programmers learn programming concepts. We show that students with access to this lowlevel program visualisation tool achieved greater understanding of some programming concepts than those without access.

Overview of a Low-Level Program Visualisation Tool for Novice Programmers.
Smith, P. A., & Webb, G. I.
Proceedings of the Sixth International Conference on Computers in Education (ICCE ’98), Berlin, pp. 213-216, 1998.
[PDF] [Bibtex] [Abstract]

@InProceedings{SmithWebb98,
Title = {Overview of a Low-Level Program Visualisation Tool for Novice Programmers},
Author = {P. A. Smith and G. I. Webb},
Booktitle = {Proceedings of the Sixth International Conference on Computers in Education (ICCE '98)},
Year = {1998},
Address = {Berlin},
Pages = {213-216},
Publisher = {Springer-Verlag},
Abstract = {As a programming novice attempts to attain expertise in programming she must develop adequate mental models and knowledge structures of the programming process. Unfortunately, many of the computerised tools to which novice programmers have access are designed by expert programmers for experts and as such do not meet the needs of novices. Low-level program visualisation tools make explicit the internal workings of program execution and as such can serve as conceptual models onto which novices can assimilate information about programming. This paper discusses the need for such a tool, what features such a tool may include and gives a brief description of an evaluation of a low-level program visualisation tool developed at Deakin University.},
Audit-trail = {Reconstructed paper posted Nov 05},
Keywords = {Program Visualisation},
Location = {Beijing},
Related = {program-visualisation}
}
ABSTRACT As a programming novice attempts to attain expertise in programming she must develop adequate mental models and knowledge structures of the programming process. Unfortunately, many of the computerised tools to which novice programmers have access are designed by expert programmers for experts and as such do not meet the needs of novices. Low-level program visualisation tools make explicit the internal workings of program execution and as such can serve as conceptual models onto which novices can assimilate information about programming. This paper discusses the need for such a tool, what features such a tool may include and gives a brief description of an evaluation of a low-level program visualisation tool developed at Deakin University.

Transparency Debugging with Explanations for Novice Programmers.
Smith, P. A., & Webb, G. I.
Proceedings of the Second International Workshop on Automated and Algorithmic Debugging (AADEBUG’95), 1995.
[PDF] [Bibtex] [Abstract]

ABSTRACT Novice programmers often find programming to be a difficult and frustrating task. Because of their lack of experience in programming novices have different needs to experts when it comes to debugging assistants. One way a debugging assistant could be tailored to novices, as proposed by Eisenstadt, is to provide them with an explicit model of how their program works and, hence encourage them to find errors for themselves. We discuss such a transparency debugger, Bradman, that we have been developing to assist novice programmers understand and debug their C programs. We also present the results of an experiment, conducted on volunteer novice programmers, in which approximately half of the students had access to an explanation of each statement as it was executed and the other half did not. We show that access to such explanations provided beneficial results for a significant number of students.

Reinforcing a Generic Computer Model for Novice Programmers.
Smith, P. A., & Webb, G. I.
Proceedings of the Seventh Australian Society for Computers in Learning in Tertiary Education Conference (ASCILITE ’95), Melbourne, 1995.
[PDF] [Bibtex] [Abstract]

@InProceedings{SmithWebb95b,
Title = {Reinforcing a Generic Computer Model for Novice Programmers},
Author = {P. A. Smith and G. I. Webb},
Booktitle = {Proceedings of the Seventh Australian Society for Computers in Learning in Tertiary Education Conference (ASCILITE '95)},
Year = {1995},
Address = {Melbourne},
Publisher = {ASCILITE},
Abstract = {Novices often find learning their first programming language to be a frustrating and difficult process. They have difficulties in developing and debugging their programs. One of their problems is that their mental model of how the computer works is inadequate. In this paper we discuss a programming assistant, called Bradman, which we are currently developing. It is aimed at novice programmers and designed to reinforce a concrete mental model of how the computer works as a program is executed. It shows explicitly how program states change as statements in the procedural language C are executed. It does this by means of graphical display together with contextualised verbal explanations of each statement.},
Keywords = {Program Visualisation},
Location = {Melbourne, Australia}
}
ABSTRACT Novices often find learning their first programming language to be a frustrating and difficult process. They have difficulties in developing and debugging their programs. One of their problems is that their mental model of how the computer works is inadequate. In this paper we discuss a programming assistant, called Bradman, which we are currently developing. It is aimed at novice programmers and designed to reinforce a concrete mental model of how the computer works as a program is executed. It shows explicitly how program states change as statements in the procedural language C are executed. It does this by means of graphical display together with contextualised verbal explanations of each statement.

Recent progress in the Development of a Debugging Assistant for Computer Programs.
Smith, P. A., & Webb, G. I.
A Future Promised: Proceedings of the Fifth Australian Society for Computers in Learning in Tertiary Education Conference (ASCILITE ’92), pp. 351-356, 1992.
[PDF] [Bibtex] [Abstract]

@InProceedings{SmithWebb92,
Title = {Recent progress in the Development of a Debugging Assistant for Computer Programs},
Author = {P. A. Smith and G. I. Webb},
Booktitle = {A Future Promised: Proceedings of the Fifth Australian Society for Computers in Learning in Tertiary Education Conference (ASCILITE '92)},
Year = {1992},
Editor = {. B. Chia and R. Pennell and R. Sims},
Pages = {351-356},
Abstract = {We present recent progress in the development of a debugging assistant for helping novices debug their computer programs. Bradman, which is still in the implementation phase, is an interactive system which builds two models of the user's program - one reflecting what the program actually does and the other reflecting what the programmer intended to do. Conflicts between these two models are used by Bradman to find bugs in the program.},
Keywords = {Program Visualisation},
Location = {Sydney, Australia},
Related = {program-visualisation}
}
ABSTRACT We present recent progress in the development of a debugging assistant for helping novices debug their computer programs. Bradman, which is still in the implementation phase, is an interactive system which builds two models of the user's program - one reflecting what the program actually does and the other reflecting what the programmer intended to do. Conflicts between these two models are used by Bradman to find bugs in the program.

Debugging Using Partial Models.
Smith, P. A., & Webb, G. I.
Simulation & Academic Gaming in Tertiary Education, The Proceedings of the Eighth Annual Conference of ASCILITE (ASCILITE ’91), Launceston, pp. 581-590, 1991.
[PDF] [Bibtex] [Abstract]

@InProceedings{SmithWebb91,
Title = {Debugging Using Partial Models},
Author = {P. A. Smith and G. I. Webb},
Booktitle = {Simulation \& Academic Gaming in Tertiary Education, The Proceedings of the Eighth Annual Conference of ASCILITE (ASCILITE '91)},
Year = {1991},
Address = {Launceston},
Editor = {R. Godfrey},
Pages = {581-590},
Publisher = {University of Tasmania},
Abstract = {We present initial work on an expert system that will help users to debug their Pascal programs. This system asks the user questions concerning attempts to build a 'partial model' of the program - a model of those aspects of the program likely to relate to the error. This contrasts with previous systems in which a complete model of the user's program is built and compared to templates of correct versions of the program. The advantages of this approach are greater flexibility, greater student involvement in the debugging process and lower computational overheads. },
Keywords = {Program Visualisation},
Location = {Launceston, TAS, Australia},
Related = {program-visualisation}
}
ABSTRACT We present initial work on an expert system that will help users to debug their Pascal programs. This system asks the user questions concerning attempts to build a 'partial model' of the program - a model of those aspects of the program likely to relate to the error. This contrasts with previous systems in which a complete model of the user's program is built and compared to templates of correct versions of the program. The advantages of this approach are greater flexibility, greater student involvement in the debugging process and lower computational overheads.