Elsevier

Computers & Education

Volume 142, December 2019, 103646
Computers & Education

Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms

https://doi.org/10.1016/j.compedu.2019.103646Get rights and content

Highlights

  • Students who learned with a block-based programming environment outperformed peers who used an isomorphic text-based tool.

  • In transitioning to Java, there was no difference in achievement between learners coming from block-based or text-based tools.

  • There were no significant differences in attitudes between block-based and text-based learners 10 weeks into learning Java.

  • A text-based introduction to coding did not engender more successful Java programming practices than a block-based approach.

  • The modality of the introductory tool (block or text-based) had no effect on student outcomes after 10 weeks of learning Java.

Abstract

Block-based programming languages are becoming increasingly common in introductory computer science classrooms across the K-12 spectrum. One justification for the use of block-based environments in formal educational settings is the idea that the concepts and practices developed using these introductory tools will prepare learners for future computer science learning opportunities. This view is built on the assumption that the attitudinal and conceptual learning gains made while working in the introductory block-based environments will transfer to conventional text-based programming languages. To test this hypothesis, this paper presents the results of a quasi-experimental classroom study in which programming novices spent five-week using either a block-based or text-based programming environment. After five weeks in the introductory tool, students transitioned to Java, a conventional text-based programming language. The study followed students for 10 weeks after the transition. Over the course of the 15-week study, attitudinal and conceptual assessments were administered and student-authored programs were collected. Conceptual learning, attitudinal shifts, and changes in programming practices were analyzed to evaluate how introductory modality impacted learners as they transitioned to a professional, text-based programming language. The findings from this study build on earlier work that found a difference in performance on content assessments after the introductory portion of the study (Weintrop & Wilensky, 2017a). This paper shows the difference in conceptual learning that emerged after five weeks between the block-based and text-based conditions fades after 10 weeks in Java. No differences in programming practices were found between the two conditions while working in Java. Likewise, differences in attitudinal measures that emerged after working in the introductory environments also faded after 10 weeks in Java, resulting in no difference between the conditions after 15 weeks. The contribution of this work is to advance our understanding of the benefits and limits of block-based programming tools in preparing students for future computer science learning. This paper presents the first quasi-experimental study of the transfer of knowledge between block-based and text-based environments in a high school setting. The lack of significant differences between the two introductory programming modalities after learners transition to professional programming languages is discussed along with the implications of these findings for computer science education researchers and educators, as well as for the broader community of researchers studying the role of technology in education.

Introduction

Block-based programming is quickly becoming the way that younger learners are being introduced to the field of computer science (Bau, Gray, Kelleher, Sheldon, & Turbak, 2017). Led by the popularity of tools such as Scratch (Resnick et al., 2009), Blockly (Fraser, 2015), and Alice (Cooper, Dann, & Pausch, 2000), millions of kids are engaging with programming through drag-and-drop graphical tools. For example, Code.org's Hour of Code initiative, which includes dozens of activities that incorporate block-based programming, has recently surpassed 500 million “hours served” and has reached learners in every country on the planet (Code.org, 2017). This highlights how the excitement around computer science is a global phenomenon. Due in part to the success of such tools and initiatives at engaging novices in programming, block-based programming environments are increasingly being incorporated into curricula designed for high school computer science classrooms. Examples of such curricula include Exploring Computer Science (Goode, Chapman, & Margolis, 2012), the Computer Science Principles project (Cuny, 2015), and Code.org's curricular offerings (Code.org Curricula, 2019).

Many uses of block-based tools in formal educational contexts presuppose that such tools will help prepare students for later instruction in text-based languages (Armoni, Meerbaum-Salant, & Ben-Ari, 2015; Brown et al., 2016; Dann, Cosgrove, Slater, Culyba, & Cooper, 2012). This transition is often a part of the larger computer science trajectory where block-based introductory courses are intended to prepare students for the transition to professional, text-based languages. This can be seen in how the transition has been studied to date (e.g. Armoni et al., 2015; Dann et al., 2012; Powers, Ecott, & Hirshfield, 2007). This assumption was also echoed by the high school students who participated in the study presented in this work, who made statements such as “[block-based programming] is a good start, then once we know the commands and everything, we can move on to Java” and “[block-based programming] is getting us ready for what we're going to be doing”. While work has been done focusing on learning that happens while using block-based tools (e.g. Franklin et al., 2017; Grover & Basu, 2017; Weintrop & Wilensky, 2015a), less work has rigorously tested the transition from block-based introductory tools to text-based languages in formal settings (Blikstein, 2018; Shapiro & Ahrens, 2016). A systematic review of the literature on the role of visual programming concluded that there is uncertainty concerning the effectiveness of block-based languages when looking beyond introductory contexts (Noone & Mooney, 2018). This question is of great importance given the growing role of block-based tools in K-12 education around the world and their impact on the teaching and learning of computer science (Blikstein, 2018; Caspersen, 2018).

This paper seeks to understand if and how the modality used (block-based versus text-based) prepares learners for conventional text-based languages. This line of inquiry is consequential for both the research community as it is an open question that can inform future research on design and learning, as well as practitioners who are tasked with making decisions around learning environments and pedagogy in their classrooms every day. More specifically, this paper answers the following research question:

In high school introductory computer science classes, how does the modality used for introductory programming instruction (block-based versus text-based) impact learners when they transition to a professional text-based programming language?

This paper presents the results of a quasi-experimental study designed to answer this question. The study took place in two high school computer science classrooms and compares isomorphic block-based and text-based programming environments. Students spent five weeks working in either a block-based or text-based version of the same introductory programming environment before transitioning to Java. The same teacher taught both classes and students in each condition used the same curriculum and had the same time-on-task. The findings from the first five weeks of the study are reported in (Weintrop & Wilensky, 2017a). This work is a continuation of that paper, specifically focusing on what happened after leaving the introductory environments and moving to Java. To understand how the design of introductory tools prepare learners for programming in professional programming languages, we present comparative outcomes of content assessments, attitudinal surveys, and investigate programming practices that emerged after the transition to Java.

Section snippets

Block-based programming

Block-based programming is a visual programming paradigm that utilizes a programming-primitive-as-puzzle-piece metaphor to make the act of programming more accessible and intuitive for novices (Bau et al., 2017; Good, 2018). The block-based programming approach is becoming increasingly widespread. Duncan, Bell, and Tanimoto (2014) reviewed 47 introductory programming environments and found 28 of the environments used the block-based approach to programming, including 19 of the 24 environments

Study design and data collection strategy

This paper seeks to answer the following research question: In high school introductory computer science classes, how does the modality used for introductory programming instruction (block-based versus text-based) impact learners when they transition to a professional text-based programming language? To answer it, we conducted a quasi-experimental study during the first 15 weeks of the school year in two introductory programming classes. The two classes followed the same curriculum but used

Results

This paper seeks to understand how introductory programming modality (block-based versus text-based) impacts learners when they move on to learning a professional text-based programming language. For this work, we operationalize “impact” by looking at three interrelated dimensions of learning to program: conceptual understanding, attitudes towards programming, and programming practices. In focusing on these three aspects, we seek to understand how the knowledge, dispositions, and practices that

Discussion

The main contribution of this work is the finding that after seeing differences emerge between students working in block-based and text-based introductory environments, these difference fade after learners transition to a professional text-based environment. This lack of difference is true across conceptual, attitudinal, and programming practices dimensions. This is a significant finding as introductory computing curricula and environments designed for novices are becoming increasingly

Conclusions

While block-based languages have exploded in popularity, relatively little research has been done to show that students learning in these environments are effectively transitioning emerging understandings and practices to more traditional text-based languages like Java (Blikstein, 2018). The goal of this work is to explore this transition in a high school classroom setting to understand if and how modality facilitates this transition. Versions of this question have been answered in various ways

References (93)

  • M. Berland et al.

    Using learning analytics to understand the learning pathways of novice programmers

    The Journal of the Learning Sciences

    (2013)
  • C. Bishop-Clark et al.

    Programming in pairs with alice to improve confidence, enjoyment, and achievement

    Journal of Educational Computing Research

    (2006)
  • J. Blanchard

    Hybrid environments: A bridge from blocks to text

  • P. Blikstein

    Pre-college computer science education: A survey of the field

    (2018)
  • P. Blikstein et al.

    Programming pluralism: Using learning analytics to detect patterns in the learning of computer programming

    The Journal of the Learning Sciences

    (2014)
  • N.C.C. Brown et al.

    Future Directions of Block-based Programming

  • A. Bruckman et al.

    Georgia computes!: Improving the computing education pipeline

  • M. Caspersen

    Teaching programming

  • D.C. Cliburn

    Student opinions of alice in CS1

  • Code.org

    The 5th Hour of Code is here! Code.org

    (2017)
  • Code.org Curricula

    Code.org

    (2019)
  • L. Cohen et al.

    Research methods in education

    (2007)
  • S. Cooper et al.

    Alice: A 3-D tool for introductory programming concepts

    J. Comput. Sci. Coll.

    (2000)
  • J. Cuny

    Transforming K-12 computing education: An update and a call to action

    ACM Inroads

    (2015)
  • B.A. Danielak

    How electrical engineering students design computer programs

    (2014)
  • W. Dann et al.

    Mediated transfer: Alice 3 to Java

  • B. Dorn et al.

    Empirical validation and application of the computing attitudes survey

    Computer Science Education

    (2015)
  • C. Duncan et al.

    Should your 8-year-old learn coding?

  • M.P. Fay et al.

    Wilcoxon-mann-whitney or t-test? On assumptions for hypothesis tests and multiple interpretations of decision rules

    Statistics Surveys

    (2010)
  • T. Flowers et al.

    Empowering students and building confidence in novice programmers through Gauntlet

  • D. Franklin et al.

    Using Upper-Elementary Student Performance to Understand Conceptual Sequencing in a Blocks-based Curriculum

  • N. Fraser

    Ten things we’ve learned from Blockly

  • D. Garcia et al.

    The beauty and Joy of computing

    ACM Inroads

    (2015)
  • R. Garlick et al.

    Using alice in CS1: A quantitative experiment

  • J. Good

    Novice programming environments: Lowering the barriers, supporting the progression

  • J. Goode et al.

    Beyond curriculum: The exploring computer science program

    ACM Inroads

    (2012)
  • S. Grover et al.

    Measuring student learning in introductory block-based programming: Examining misconceptions of loops, variables, and boolean logic

  • S. Grover et al.

    Designing for deeper learning in a blended computer science course for middle school students

    Computer Science Education

    (2015)
  • B. Harvey

    Computer science logo style: Beyond programming

    (1997)
  • C. Hill et al.

    Floors and Flexibility: Designing a programming environment for 4th-6th grade classrooms

  • M. Homer et al.

    Lessons in combining block-based and textual programming

    J. Vis. Lang. Sentient Syst.

    (2017)
  • C.S. Horstmann

    Java concepts: Early objects

    (2012)
  • K. Howland et al.

    Learning to communicate computationally with flip: A bi-modal Programming Language for game creation

    Computers & Education

    (2014)
  • J. Jackson et al.

    Identifying top Java errors for novice programmers

  • M.C. Jadud

    A first look at novice compilation behaviour using BlueJ

    Computer Science Education

    (2005)
  • M.C. Jadud et al.

    Flexible, reusable tools for studying novice programmers

  • Cited by (69)

    • Linguistic Pedagogical Approaches to Transfer in Computer Science

      2024, SIGCSE 2024 - Proceedings of the 55th ACM Technical Symposium on Computer Science Education
    • Programming Language Knowledge Transfer that Teachers Observe in their Classrooms

      2024, SIGCSE 2024 - Proceedings of the 55th ACM Technical Symposium on Computer Science Education
    View all citing articles on Scopus
    View full text