Visual program simulation in introductory programming education

    Research output: ThesisDoctoral ThesisMonograph

    Abstract

    This thesis formulates and evaluates a pedagogical technique whose goal is to help beginners learn the basics of computer programming. The technique, visual program simulation (VPS), involves the learner in interactive simulations in which the learner takes on the role of the computer as the executor of a program. The student uses a given visualization of a so-called notional machine, an abstract computer, to illustrate what happens in memory as the computer processes the program. The purpose of these simulations is to help the beginner learn to reason about program execution, a skill whose development has been identified as a major challenge in introductory programming education. VPS promotes effective learning by seeking to cognitively engage the learner with a visualization. It can be made practical through visualization software. VPS software may also automatically assess students' simulations and provide personal feedback, which is a valuable asset especially in the large classes that are typical of introductory courses. The thesis contributes to VPS in four ways. First, it formulates the concept of visual program simulation and outlines its underpinnings in terms of learning theory. Second, it presents a new software prototype that facilitates the use of VPS in practice. Third, it reports on a preliminary empirical evaluation of VPS and the software in the context of an introductory programming course. Fourth, it makes recommendations on the use of VPS in teaching and the further development of VPS tools, which arise from the empirical work. The findings from a mixed-methods evaluation of VPS suggest that it is a promising pedagogical approach that helps many students learn programming. At the same time, the evaluation highlights certain important weaknesses. The purpose of VPS is not obvious to many students. Care must be taken to ensure that students develop a rich understanding of what VPS is and what they stand to gain from it. For best results, it is recommended that VPS be tightly integrated into the teaching and learning environment. The results from a controlled experiment further indicate that the short-term learning benefits of a VPS assignment are heavily dependent on which interactions the assignment demands from students. This implies that extreme care must be taken in the design of VPS systems and specific assignments so that required user interactions are aligned with intended learning goals. On a more general level, the thesis serves as an example of educational tool development that is grounded in learning theory and informed by empirical evaluations. A fairly broad review of the literature on learning and teaching introductory programming is also contributed.
    Translated title of the contributionVisuaalinen ohjelmasimulaatio ohjelmoinnin alkeisopetuksessa
    Original languageEnglish
    QualificationDoctor's degree
    Awarding Institution
    • Aalto University
    Supervisors/Advisors
    • Malmi, Lauri, Supervisor
    Publisher
    Print ISBNs978-952-60-4625-9
    Electronic ISBNs978-952-60-4626-6
    Publication statusPublished - 2012
    MoE publication typeG4 Doctoral dissertation (monograph)

    Keywords

    • visual program simulation
    • introductory programming education
    • novice programmers
    • program visualization
    • interactive visualization for education

    Fingerprint Dive into the research topics of 'Visual program simulation in introductory programming education'. Together they form a unique fingerprint.

    Cite this