NowComment
2-Pane Combined
Comments:
Full Summaries Sorted

Computational thinking in programming with Scratch in primary schools: A systematic review

Author: Janne Fagerlund, Päivi Häkkinen, Mikko Vesisenaho, Jouni Viiri

Fagerlund, Janne, et al. “Computational Thinking in Programming with Scratch in Primary Schools: A Systematic Review.” Wiley Online Library, John Wiley & Sons, Ltd, 8 May 2020, onlinelibrary.wiley.com/doi/10.1002/cae.22255.

0 General Document comments
0 Sentence and Paragraph comments
0 Image and Video comments


Abstract

New Conversation
Paragraph 1 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 1, Sentence 1 0
No sentence-level conversations. Start one.

Computer programming is being introduced in educational curricula, even at the primary school level. One goal of this implementation is to teach computational thinking (CT), which is potentially applicable in various computational problem-solving situations. However, the educational objective of CT in primary schools is somewhat unclear: curricula in various countries define learning objectives for topics, such as computer science, computing, programming or digital literacy but not for CT specifically. Additionally, there has been confusion in concretely and comprehensively defining and operationalising what to teach, learn and assess about CT in primary education even with popular programming akin to Scratch. In response to the growing demands of CT, by conducting a literature review on studies utilising Scratch in K–9, this study investigates what kind of CT has been assessed in Scratch at the primary education level. As a theoretical background for the review, we define a tangible educational objective for introducing CT comprehensively in primary education and concretise the fundamental skills and areas of understanding involved in CT as its “core educational principles”. The results of the review summarise Scratch programming contents that students can manipulate and activities in which they can engage that foster CT. Moreover, methods for formatively assessing CT via students’ Scratch projects and programming processes are explored. The results underpin that the summarised “CT-fostering” programming contents and activities in Scratch are vast and multidimensional. The next steps for this study are to refine pedagogically meaningful ways to assess CT in students’ Scratch projects and programming processes.

New Conversation
Paragraph 2 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 6 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 7 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 8 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 9 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 2, Sentence 10 0
No sentence-level conversations. Start one.

1 INTRODUCTION

New Conversation
Paragraph 3 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 3, Sentence 1 0
No sentence-level conversations. Start one.

The ubiquity of computing and computer science (CS) has expanded rapidly in modern society [1]. Meanwhile, countries such as Finland, England and Estonia have incorporated computer programming as a compulsory topic in primary education (K–9) [27, 39]. Programming with Scratch, a graphical, block-based programming language, is especially popular in this age group, thus providing a potentially impactful context for educational research. However, several scholars regard programming education not as an end in itself but essential—though nonexclusive—for fostering computational thinking (CT) (i.e., supporting the cognitive tasks involved in it) [23]. CT is an umbrella term that embodies an intellectual foundation necessary to understand the computational world and employ multidimensional problem-solving skills within and across disciplines [56, 61].

New Conversation
Paragraph 4 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 4, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 4, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 4, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 4, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 4, Sentence 5 0
No sentence-level conversations. Start one.

Despite its popularity, there has been some shortcomings and uncertainty surrounding CT in terms of, for instance, teacher training needs concerning the aims and intents of CT education. In fact, curricula in different countries pose various educational objectives for such topics as CS, computing, programming or digital literacy but not for CT specifically [27]. Relatedly, there have been shortcomings in concretising what to teach, learn and assess regarding CT in schools, although previous literature portrays particular concepts and practices (e.g., “Algorithms”, “Problem decomposition”) that can shape students’ skills and understanding in CT and contribute to its educational objective [8, 34]. However, CT potentially learnt while programming with tools as Scratch has been typically perceived as, for instance, the code constructs that students use in their projects, which can be asserted to represent mere programming competence instead of the predictably higher level CT. When using such tools as Scratch, various programming contents that students manipulate and programming activities in which they engage can foster the skills and areas of understanding involved with CT in different ways. Previous literature has not systematically and thoroughly investigated how the practical programmatic affordances in Scratch can represent and foster the manifold skills and areas of understanding associated with CT as described in its core concepts and practices.

New Conversation
Paragraph 5 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 5, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 5, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 5, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 5, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 5, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 5, Sentence 6 0
No sentence-level conversations. Start one.

The aims of this study are to contextualise CT comprehensively in the Scratch programming environment for teaching and learning in primary school classrooms and explore the assessment of CT through Scratch in this context. In practice, a literature review for studies involving assessments in Scratch in K–9 is conducted. As a theoretical background, we define a tangible educational objective for CT in the context of programming in primary education based on previous literature. Moreover, as a springboard for investigating the skills and areas of understanding included in CT in Scratch, we concretise CT’s core educational principles (CEPs)—fundamental computational facts, conceptual ideas, and techniques that students can learn—from CT concepts and practices presented in earlier research. The goals of the review are to gather Scratch programming contents and activities, use the CEPs as a lens to view them specifically as “CT-fostering” contents and activities, and explore ways in which they could be formatively assessed in classroom settings.

New Conversation
Paragraph 6 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 6, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 6, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 6, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 6, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 6, Sentence 5 0
No sentence-level conversations. Start one.

2 COMPUTATIONAL THINKING THROUGH PROGRAMMING IN PRIMARY EDUCATION

New Conversation
Paragraph 7 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 7, Sentence 1 0
No sentence-level conversations. Start one.

2.1 An educational objective

New Conversation
Paragraph 8 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 8, Sentence 1 0
No sentence-level conversations. Start one.

Wing [61, 62] originally defined CT as “the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can effectively be carried out by an information-processing agent”. Michaelson [43] underlined that CT is a way of understanding problems whereas CS provides concepts for CT in search of a praxis. Aho [1] revisited Wing’s original definition and emphasised that solutions pertinent to CT are namely algorithmic. However, CT still has no solid core definition [24]. It has been viewed as a competence [58], a thought process [1, 62], a set of skills [61] and a problem-solving process [54]. However, the consensus is that it draws on disciplinary concepts and models central to CS and utilises the power of computing [56].

New Conversation
Paragraph 9 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 9, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 9, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 9, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 9, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 9, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 9, Sentence 6 0
No sentence-level conversations. Start one.

The purpose of primary education is to learn about the world and to prepare for subsequent studies and working life. Although CT’s transferability across problem-solving contexts has been questioned [14], Wing [61] posited that CT as a collection of transversal skills and knowledge is necessary for everyone. Lonka et al [33] underlined that students, regardless of their future profession, should learn to identify the central principles and practices of programming and understand how they influence everyday life.

New Conversation
Paragraph 10 0
profile_photo
Jul 29
mirseda K (Jul 29 2021 6:58AM) : Learning about the world through Scratch more

I totally agree that besides what profession you will do in the future, Scratch and computational thinking helps everyone to connect with the world ad giving answers to problems. Using Scratch for me was a game-changer, I was able to introduce to my students and instead wasting their time playing in computer they use Scratch to improve their skills how to create a project or how to invent a game that requires some skills.

New Conversation
Paragraph 10, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 10, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 10, Sentence 3 0
No sentence-level conversations. Start one.

To include CT’s such essential characteristics and purposes [33, 53, 56, 61] tangibly in primary education, we define the following educational objective for it: students learn to understand what computing can/cannot do, understand how computers do the things that they do and apply computational tools, models and ideas to solve problems in various contexts. According to recent reviews of curricula in various countries, such educational ideas are relevant in schools via CS education, programming or embedded within different subjects, but not for CT specifically [27, 39]. By exploring computing, students should also gain certain attitudes and perspectives, such as understanding computational ethics [33]. However, this study limits its scope by focusing on CT’s key concepts and practices, which have been often highlighted in previous literature to characterise fundamental areas of understanding in computing and skills in computational problem-solving.

New Conversation
Paragraph 11 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 11, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 11, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 11, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 11, Sentence 4 0
No sentence-level conversations. Start one.

Definitions for the key concepts and practices in CT have varied throughout previous literature. For instance, in the context of Scratch, Brennan and Resnick [9] presented a concrete CT framework that comprised concepts (e.g., loop, variable), practices (e.g., debugging, iteration) and perspectives (e.g., expressing, questioning). Although meaningful for CT, such context-specific frameworks may be unsuitable for framing CT across programming contexts and promoting deeper learning. [24] Therefore, based on prior research framing CT concepts and practices in a broader fashion, we concretise the fundamental skills and areas of understanding involved in CT as its core educational principles (CEPs) as a background.

New Conversation
Paragraph 12 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 12, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 12, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 12, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 12, Sentence 4 0
No sentence-level conversations. Start one.

2.2 Core educational principles

New Conversation
Paragraph 13 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 13, Sentence 1 0
No sentence-level conversations. Start one.

Several studies have framed CT’s key concepts and practices more generally in programming, computing or CS in various ways. CT is an elusive term that continues finding clear borders, and it involves areas that could be interpreted to be more in its “central” or “peripheral zones”. Concise views of CT can be rather programming-centric and omit potentially essential areas in the general-level CT. In turn, generous views may overlap with other competence areas, such as math. By framing our view of CT based on several previous works, we strive to adopt a relatively generous rather than a concise view. The motivation is that the more generous views have been adopted less often, and they can expand our understanding of the potentially meaningful borders of CT assessment through Scratch in K–9 and be feasibly reduced to the extent, as needed.

New Conversation
Paragraph 14 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 14, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 14, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 14, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 14, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 14, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 14, Sentence 6 0
No sentence-level conversations. Start one.

Settle and Perkovic [51] developed a conceptual framework to implement CT across the curriculum in undergraduate education. In 2009, the International Society for Technology in Education and the Computer Science Teachers Association [3] devised an operational definition for CT concepts and capabilities to promote their incorporation in K–12 classrooms. In the aftermath of computing having been introduced in British schools in 2014, Czismadia et al [13] developed a framework for guiding teachers in teaching CT-related concepts, approaches and techniques in computing classrooms. Relatedly, Angeli et al [2] designed a K–6 CT curriculum comprising CT skills and implications for teacher knowledge. To demystify CT’s ill-structured nature, Shute et al [53] reviewed CT literature and showed examples of its definitions, interventions and assessments in K–12. Similarly, Hsu et al [28] reviewed prior literature and discussed how CT could be taught and learned in K–12. To further illuminate CT’s application in different contexts, Grover and Pea [24] elaborated what concepts and practices CT encompasses.To concretise the skills and areas of understanding associated with CT concepts and practices in these works as atomic elements to enable their systematic contextualisation in Scratch, the definitions of the concepts and practices can be summarised to include CT’s CEPs for teaching and learning at the primary school level.

New Conversation
Paragraph 15 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 15, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 15, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 15, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 15, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 15, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 15, Sentence 6 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 15, Sentence 7 0
No sentence-level conversations. Start one.
  • Abstraction. A range of digital devices can be computers that run programmes [13, 24]. Programming languages, algorithms and data are abstractions of real-world phenomena [13, 24, 28]. Solving complex problems becomes easier by reducing unnecessary detail and by focusing on parts that matter (via, e.g., using data structures and an appropriate notation) [2, 13, 24, 28].
  • New Conversation
    Paragraph 16 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 16, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 16, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 16, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 16, Sentence 4 0
    No sentence-level conversations. Start one.
  • Algorithms. Programmers solve problems with sets of instructions starting from an initial state, going through a sequence of intermediate states and reaching a final goal state [2, 3, 13, 24, 28, 51, 53]. Sequencing, selection and repetition are the basic building blocks of algorithms [2, 3, 13, 24]. Recursive solutions solve simpler versions of the same problem [3, 13, 24].
  • New Conversation
    Paragraph 17 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 17, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 17, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 17, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 17, Sentence 4 0
    No sentence-level conversations. Start one.
  • Automation. Automated computation can solve problems [13, 24, 28]. Programmers design programmes with computer code for computers to execute [13, 24, 51]. Computers can use a range of input and output devices [13].
  • New Conversation
    Paragraph 18 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 18, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 18, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 18, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 18, Sentence 4 0
    No sentence-level conversations. Start one.
  • Collaboration. Programmers divide tasks and alternate in roles [24]. Programmers build on one another’s projects [2, 24]. Programmers distribute solutions to others [24].
  • New Conversation
    Paragraph 19 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 19, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 19, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 19, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 19, Sentence 4 0
    No sentence-level conversations. Start one.
  • Coordination and Parallelism. Computers can execute divided sets of instructions in parallel [3, 13, 28, 53]. The timing of computation at participating processes requires control [51].
  • New Conversation
    Paragraph 20 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 20, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 20, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 20, Sentence 3 0
    No sentence-level conversations. Start one.
  • Creativity. Programmers employ alternate approaches to solving problems and “out-of-the-box thinking” [24]. Creating projects is a form of creative expression [24].
  • New Conversation
    Paragraph 21 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 21, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 21, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 21, Sentence 3 0
    No sentence-level conversations. Start one.
  • Data. Programmers find and collect data from various sources and multilayered datasets that are related to each other [3, 28, 53]. Programmes work with various data types (e.g., text, numbers) [3, 13, 28]. Programmes store, move and perform calculations on data [2, 3, 13, 51]. Programmes store data in various data structures (e.g., variable, table, list, graph) [2, 3, 13].
  • New Conversation
    Paragraph 22 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 22, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 22, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 22, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 22, Sentence 4 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 22, Sentence 5 0
    No sentence-level conversations. Start one.
  • Efficiency. Algorithms have no redundant or unnecessary steps [13, 53]. Designed solutions are easy for people to use [13]. Designed solutions work effectively and promote positive user experience [13, 24]. Designed solutions function correctly under all circumstances [13, 24].
  • New Conversation
    Paragraph 23 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 23, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 23, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 23, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 23, Sentence 4 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 23, Sentence 5 0
    No sentence-level conversations. Start one.
  • Iteration. Programmers refine solutions through design, testing and debugging until the ideal result is achieved [24, 53].
  • New Conversation
    Paragraph 24 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 24, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 24, Sentence 2 0
    No sentence-level conversations. Start one.
  • Logic. Programmers analyse situations and check facts to make and verify predictions, make decisions and reach conclusions [2, 13, 24]. Formulated instructions comprise conditional logic, Boolean logic, arithmetic operations and other logical frameworks [2, 13, 24, 28].
  • New Conversation
    Paragraph 25 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 25, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 25, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 25, Sentence 3 0
    No sentence-level conversations. Start one.
  • Modelling and design. Programmers design human-readable representations and models of an algorithmic design, which could later be programmed [13, 24, 28, 53]. Programmers organise the structure, appearance and functionality of a system well [13, 51]. Visual models, simulations and animations represent how a system operates [2, 3, 13, 28].
  • New Conversation
    Paragraph 26 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 26, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 26, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 26, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 26, Sentence 4 0
    No sentence-level conversations. Start one.
  • Patterns and Generalisation. Data and information structures comprise repeating patterns based on similarities and differences in them [2, 13, 24, 28, 53]. Repeating patterns form general-level solutions that apply to a class of similar problems [3, 13, 24, 28, 53]. General-level ideas and solutions solve problems in new situations and domains [13, 24, 28, 53].
  • New Conversation
    Paragraph 27 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 27, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 27, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 27, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 27, Sentence 4 0
    No sentence-level conversations. Start one.
  • Problem decomposition. Large problems and artefacts decompose into smaller and simpler parts that can be solved separately [2, 13, 24, 28, 53]. Large systems are composed of smaller meaningful parts [2, 24]. Programmes comprise objects, the main programme and functions [3].
  • New Conversation
    Paragraph 28 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 28, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 28, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 28, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 28, Sentence 4 0
    No sentence-level conversations. Start one.
  • Testing and debugging. Programmers evaluate and verify solutions for appropriateness according to their desired result, goal or set criteria [2, 13, 24, 28]. Programmers evaluate solutions for functional accuracy and detect flaws using methods involving observation of artefacts in use and comparing similar artefacts [2, 13, 24, 28, 53]. Programmers trace code, design and run test plans and test cases and apply heuristics to isolate errors and fix them [2, 13, 24, 28, 53]. Programmers make fair and honest judgements in complex situations that are not free of values and constraints [13].
  • New Conversation
    Paragraph 29 0
    No paragraph-level conversations. Start one.
    New Conversation
    Paragraph 29, Sentence 1 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 29, Sentence 2 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 29, Sentence 3 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 29, Sentence 4 0
    No sentence-level conversations. Start one.
    New Conversation
    Paragraph 29, Sentence 5 0
    No sentence-level conversations. Start one.

In practice, various programming tasks can foster skills and understanding in the ways of thinking and doing involved in CT as described in the CEPs. In Scratch, students manipulate programmatic contents, that is, the objects and logic structures that establish computational processes in their projects, and engage in certain programming activities while designing said contents [9]. Hence, it is meaningful to examine how various Scratch programming contents and activities contextualise the CEPs in practice.

New Conversation
Paragraph 30 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 30, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 30, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 30, Sentence 3 0
No sentence-level conversations. Start one.

2.3 Assessment in scratch

New Conversation
Paragraph 31 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 31, Sentence 1 0
No sentence-level conversations. Start one.

Scratch is a free web-based programming tool that allows the creation of media projects, such as games, interactive stories and animations, connected to young peoples’ personal interests and experiences. Projects are designed by combining graphical blocks to produce behaviours for digital characters (“sprites”). Block-based languages typically have a “low floor”: students cannot make syntactic mistakes because only co-applicable blocks combine into algorithmic sets of instructions (“scripts”) [9, 38].

New Conversation
Paragraph 32 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 32, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 32, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 32, Sentence 3 0
No sentence-level conversations. Start one.

Despite the affordances of graphical tools, programming is cognitively complex, and rich conceptual mental models may not emerge spontaneously [4, 40]. An “in time” pedagogy in which new knowledge is presented whenever necessary through various project-based activities is a popular approach; however, it requires the careful formulation of authentic problems and selection of projects (i.e., ways to introduce CT appropriately via programming contents and activities) [20, 34]. Moreover, learning can be supported with a formative assessment that determines “where the learner is going”, “where the learner is right now” and “how to get there”. In practice, instructors should clarify the intentions and criteria for success, elicit evidence of students’ understanding and provide appropriate feedback that moves learning forward [6]. Programming is a potentially fruitful platform for enabling these processes because it demonstrates students’ CT and provides a potential accommodation for timely and targeted learning support [23, 34].

New Conversation
Paragraph 33 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 33, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 33, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 33, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 33, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 33, Sentence 5 0
No sentence-level conversations. Start one.

Several previous empirical studies have shown in part how specific programming contents and activities in Scratch could be assessed. However, the contents and activities have been scarcely contextualised in CT. To examine how CT could be thoroughly introduced and respectively assessed in Scratch in K–9 (primary education), this study reviews prior literature focused on assessing Scratch contents and activities in K–9 and aligns them to CT concepts and practices according to the summarised CEPs (see Section 2.2). The purpose is to derive elementary CT-fostering learning contents and activities and to explore appropriate methods for their formative assessment in primary schools. Hence, the research questions are:

New Conversation
Paragraph 34 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 34, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 34, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 34, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 34, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 34, Sentence 5 0
No sentence-level conversations. Start one.

What Scratch programming contents and activities have been assessed in K–9?

New Conversation
Paragraph 35 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 35, Sentence 1 0
No sentence-level conversations. Start one.

How have Scratch programming contents and activities been assessed?

New Conversation
Paragraph 36 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 36, Sentence 1 0
No sentence-level conversations. Start one.

How do different Scratch programming contents and activities contextualise CT concepts and practices via the CEPs?

New Conversation
Paragraph 37 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 37, Sentence 1 0
No sentence-level conversations. Start one.

3 METHODS

New Conversation
Paragraph 38 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 38, Sentence 1 0
No sentence-level conversations. Start one.

3.1 Search procedures

New Conversation
Paragraph 39 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 39, Sentence 1 0
No sentence-level conversations. Start one.

To begin answering the research questions, literature searches were performed for peer-reviewed studies focusing on the assessment of Scratch programming contents and activities in K–9 (Figure 1). First, searches were conducted with the terms “computational thinking” and “Scratch” in the ScienceDirect, ERIC, SCOPUS and ACM databases. Publications were sought as far back as 2007 when Scratch was released [9]. The searches resulted in 432 studies (98 in ScienceDirect, 27 in ERIC, 217 in SCOPUS and 90 in ACM) on November 27th, 2019. Duplicate and inaccessible publications were excluded from this collection.

New Conversation
Paragraph 40 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 40, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 40, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 40, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 40, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 40, Sentence 5 0
No sentence-level conversations. Start one.

image
New Conversation
Paragraph 41 (Image 1) 0
No whole image conversations. Start one.
New Conversation
Whole Image 0
No whole image conversations. Start one.

Figure 1 Open in figure viewerPowerPointLiterature search protocol
New Conversation
Paragraph 42 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 42, Sentence 1 0
No sentence-level conversations. Start one.

The abstracts of the remaining studies were screened, and both empirical and nonempirical studies were included if they addressed assessment in Scratch (or highly similar programming languages) in K–9. Publications conceptualising generic assessment frameworks were included if Scratch and primary education were mentioned as potential application domains. Studies set in other or unclear educational levels were excluded to maintain a focus on primary schools. Studies written in other languages than English were excluded.

New Conversation
Paragraph 43 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 43, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 43, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 43, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 43, Sentence 4 0
No sentence-level conversations. Start one.

The remaining 50 studies was not presumed to cover all potentially relevant work. Further searches were conducted similarly with the terms “computational thinking” and “Scratch” on Google Scholar, which provided a running list of publications in decreasing order of relevance. These publications were accessed individually until the search results concluded to no longer provide relevant studies. Simultaneously, the reference lists of all included studies were examined for discovering other potentially relevant publications.

New Conversation
Paragraph 44 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 44, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 44, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 44, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 44, Sentence 4 0
No sentence-level conversations. Start one.

Altogether 81 obtained studies were then screened for the assessment instruments that they employed. Studies analysing students’ Scratch project contents or their programming activities in Scratch were included. Studies analysing the learning of other subject domain contents or addressing other theoretical areas such as motivation, attitudes and misconceptions were excluded. Assessment instruments that were defined in insufficient detail or were adapted in an unaltered form from prior studies were excluded since they provided no additional information for the RQs. For example, we found that several articles employed the assessment instrument called “Dr. Scratch” (see results). To attain information regarding what Scratch programming contents and activities have been assessed in K–9 and how said contents and activities have been assessed altogether, we only included the paper that originally introduced said contents and activities, granted that the work was attainable. Finally, 30 publications were selected for review.

New Conversation
Paragraph 45 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 45, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 45, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 45, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 45, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 45, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 45, Sentence 6 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 45, Sentence 7 0
No sentence-level conversations. Start one.

3.2 Analysis of studies

New Conversation
Paragraph 46 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 46, Sentence 1 0
No sentence-level conversations. Start one.

The Scratch programming contents and activities assessed in the studies were described based on their type (RQ1) and the employed assessment method and taxonomy or rubric (RQ2). Simultaneously, by employing content analysis, the contents and activities were aligned to CT concepts and practices according to the CT’s CEPs (see Section 2.2) that they contextualised (RQ3) (indicated in results by CT concepts and practices highlighted in parentheses). The analysis was carried out by the first author.

New Conversation
Paragraph 47 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 47, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 47, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 47, Sentence 3 0
No sentence-level conversations. Start one.

Due to the complexity of CT, however, there is an immense level of detail to which the contextualisation in RQ3 could potentially reach. For instance, reducing unnecessary detail (Abstraction) can involve various broader programming tasks and detailed subtasks. However, Voogt et al [58] stated that it is important to discover “what matters” for CT. Therefore, as our first step, we settled on merely describing what the assessed contents and activities that contextualised CT were instead of attempting to further analyse how they could foster CT in different ways.

New Conversation
Paragraph 48 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 48, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 48, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 48, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 48, Sentence 4 0
No sentence-level conversations. Start one.

The analysis resulted in rubrics to Scratch contents and activities that foster skills and understanding in CT concepts and practices. The discovered assessment methods were examined according to how they potentially enabled formative assessment processes as presented by Black and Wiliam [6].

New Conversation
Paragraph 49 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 49, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 49, Sentence 2 0
No sentence-level conversations. Start one.

Potential limitations in reviews especially concern the definition of the RQs, search procedure, selection of articles, bias in the source material and its quality and the ways of presenting the results [26]. Therefore, we wish to make the following remarks concerning the repeatability, objectivity and transparency herein. By describing the procedure comprehensively and in detail, we aimed to reveal any bias (e.g., concerning the use of appropriate search strings in representative databases) [12, 26]. Additionally, we strived to describe the inferences made and the logic behind them clearly and give equal weight to all reviewed work, though spotlighting evidence that stands out in the process and potentially suggests subjectivity in the source material [26]. Furthermore, we aimed to reinforce consistency in the analysis by iteratively evaluating the contents of the articles, ensuring that we interpreted them the same way at different times [35]. By externally checking the research process and debriefing the results among the authors, we aimed to verify further that the meanings and interpretations resonated among different researchers [12].

New Conversation
Paragraph 50 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 50, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 50, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 50, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 50, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 50, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 50, Sentence 6 0
No sentence-level conversations. Start one.

4 FINDINGS

New Conversation
Paragraph 51 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 51, Sentence 1 0
No sentence-level conversations. Start one.

4.1 Scratch contents and activities and their assessment

New Conversation
Paragraph 52 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 52, Sentence 1 0
No sentence-level conversations. Start one.

Prior studies utilising Scratch in K–9 involved the assessment of various programming contents and activities with diverse assessment methods and taxonomies or rubrics (RQ1, RQ2) (Table 1). Four distinct programming substance categories were found and were named as “code constructs”, “coding patterns”, “programming activities” and “other programming contents”. Altogether, 20 studies assessed code constructs as the logic structures (e.g., sequence of blocks, “repeat” [44]) that programmers use to establish algorithmic sets of instructions in Scratch projects. Ten studies assessed coding patterns, combinations of code constructs that act as larger programmatic units for specific semantical purposes (e.g., “Animate Motion” [50]). Eleven studies examined students’ programming activities (e.g., “script analysis” [30]), whereas six studies examined other programming contents (e.g., “project genres” [19]). Only six studies considered the direct assessment of CT, and the remaining studies assessed the contents or activities with or without presenting CT as a motivational theme.Table 1. A summary of studies involving the assessment of Scratch programming contents and activities in K–9

New Conversation
Paragraph 53 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 53, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 53, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 53, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 53, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 53, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 53, Sentence 6 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 53, Sentence 7 0
No sentence-level conversations. Start one.

New Conversation
Paragraph 54 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 54, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 55 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 55, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 56 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 56, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 57 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 57, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 58 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 58, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 59 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 59, Sentence 1 0
No sentence-level conversations. Start one.
# Authors Assessment in Scratch
Contents/activities Method Taxonomy/rubric
1
New Conversation
Paragraph 60 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 60, Sentence 1 0
No sentence-level conversations. Start one.
Benton et al [5]
New Conversation
Paragraph 61 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 61, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns (CT)
New Conversation
Paragraph 62 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 62, Sentence 1 0
No sentence-level conversations. Start one.
Self-evaluation
New Conversation
Paragraph 63 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 63, Sentence 1 0
No sentence-level conversations. Start one.
Difficulty rating
New Conversation
Paragraph 64 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 64, Sentence 1 0
No sentence-level conversations. Start one.
2
New Conversation
Paragraph 65 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 65, Sentence 1 0
No sentence-level conversations. Start one.
Blau et al [7]
New Conversation
Paragraph 66 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 66, Sentence 1 0
No sentence-level conversations. Start one.
Other programming contents
New Conversation
Paragraph 67 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 67, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 68 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 68, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 69 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 69, Sentence 1 0
No sentence-level conversations. Start one.
3
New Conversation
Paragraph 70 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 70, Sentence 1 0
No sentence-level conversations. Start one.
Brennan and Resnick [9]
New Conversation
Paragraph 71 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 71, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs + programming activities (CT)
New Conversation
Paragraph 72 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 72, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 73 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 73, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 74 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 74, Sentence 1 0
No sentence-level conversations. Start one.
Performance evaluation
New Conversation
Paragraph 75 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 75, Sentence 1 0
No sentence-level conversations. Start one.
Skill description
New Conversation
Paragraph 76 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 76, Sentence 1 0
No sentence-level conversations. Start one.
Interview
New Conversation
Paragraph 77 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 77, Sentence 1 0
No sentence-level conversations. Start one.
4
New Conversation
Paragraph 78 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 78, Sentence 1 0
No sentence-level conversations. Start one.
Burke [10]
New Conversation
Paragraph 79 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 79, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 80 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 80, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 81 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 81, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 82 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 82, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 83 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 83, Sentence 1 0
No sentence-level conversations. Start one.
Observation
New Conversation
Paragraph 84 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 84, Sentence 1 0
No sentence-level conversations. Start one.
Description, data-driven
New Conversation
Paragraph 85 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 85, Sentence 1 0
No sentence-level conversations. Start one.
Interview
New Conversation
Paragraph 86 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 86, Sentence 1 0
No sentence-level conversations. Start one.
5
New Conversation
Paragraph 87 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 87, Sentence 1 0
No sentence-level conversations. Start one.
Chang et al [11]
New Conversation
Paragraph 88 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 88, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs (CT)
New Conversation
Paragraph 89 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 89, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 90 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 90, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 91 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 91, Sentence 1 0
No sentence-level conversations. Start one.
6
New Conversation
Paragraph 92 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 92, Sentence 1 0
No sentence-level conversations. Start one.
Ericson and McKlin [15]
New Conversation
Paragraph 93 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 93, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 94 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 94, Sentence 1 0
No sentence-level conversations. Start one.
Test
New Conversation
Paragraph 95 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 95, Sentence 1 0
No sentence-level conversations. Start one.
Correct answer
New Conversation
Paragraph 96 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 96, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns
New Conversation
Paragraph 97 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 97, Sentence 1 0
No sentence-level conversations. Start one.
Correct drawing
New Conversation
Paragraph 98 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 98, Sentence 1 0
No sentence-level conversations. Start one.
7
New Conversation
Paragraph 99 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 99, Sentence 1 0
No sentence-level conversations. Start one.
Franklin et al [16]
New Conversation
Paragraph 100 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 100, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns
New Conversation
Paragraph 101 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 101, Sentence 1 0
No sentence-level conversations. Start one.
Observation
New Conversation
Paragraph 102 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 102, Sentence 1 0
No sentence-level conversations. Start one.
Correctness level
New Conversation
Paragraph 103 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 103, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 104 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 104, Sentence 1 0
No sentence-level conversations. Start one.
Test
New Conversation
Paragraph 105 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 105, Sentence 1 0
No sentence-level conversations. Start one.
Correct answer
New Conversation
Paragraph 106 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 106, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 107 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 107, Sentence 1 0
No sentence-level conversations. Start one.
Observation
New Conversation
Paragraph 108 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 108, Sentence 1 0
No sentence-level conversations. Start one.
Behaviour type
New Conversation
Paragraph 109 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 109, Sentence 1 0
No sentence-level conversations. Start one.
8
New Conversation
Paragraph 110 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 110, Sentence 1 0
No sentence-level conversations. Start one.
Franklin et al [17]
New Conversation
Paragraph 111 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 111, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 112 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 112, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 113 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 113, Sentence 1 0
No sentence-level conversations. Start one.
Content completion (percentage)
New Conversation
Paragraph 114 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 114, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns
New Conversation
Paragraph 115 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 115, Sentence 1 0
No sentence-level conversations. Start one.
9
New Conversation
Paragraph 116 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 116, Sentence 1 0
No sentence-level conversations. Start one.
Funke et al [19]
New Conversation
Paragraph 117 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 117, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns
New Conversation
Paragraph 118 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 118, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 119 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 119, Sentence 1 0
No sentence-level conversations. Start one.
Progression level
New Conversation
Paragraph 120 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 120, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 121 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 121, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 122 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 122, Sentence 1 0
No sentence-level conversations. Start one.
Other programming contents
New Conversation
Paragraph 123 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 123, Sentence 1 0
No sentence-level conversations. Start one.
10
New Conversation
Paragraph 124 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 124, Sentence 1 0
No sentence-level conversations. Start one.
Funke and Geldreich [18]
New Conversation
Paragraph 125 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 125, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 126 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 126, Sentence 1 0
No sentence-level conversations. Start one.
Log data analysis
New Conversation
Paragraph 127 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 127, Sentence 1 0
No sentence-level conversations. Start one.
Description
New Conversation
Paragraph 128 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 128, Sentence 1 0
No sentence-level conversations. Start one.
11
New Conversation
Paragraph 129 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 129, Sentence 1 0
No sentence-level conversations. Start one.
Grover and Basu [21]
New Conversation
Paragraph 130 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 130, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 131 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 131, Sentence 1 0
No sentence-level conversations. Start one.
Test
New Conversation
Paragraph 132 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 132, Sentence 1 0
No sentence-level conversations. Start one.
Correct response
New Conversation
Paragraph 133 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 133, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns
New Conversation
Paragraph 134 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 134, Sentence 1 0
No sentence-level conversations. Start one.
Think-aloud
New Conversation
Paragraph 135 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 135, Sentence 1 0
No sentence-level conversations. Start one.
12
New Conversation
Paragraph 136 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 136, Sentence 1 0
No sentence-level conversations. Start one.
Gutierrez et al [25]
New Conversation
Paragraph 137 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 137, Sentence 1 0
No sentence-level conversations. Start one.
Other programming contents
New Conversation
Paragraph 138 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 138, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 139 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 139, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 140 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 140, Sentence 1 0
No sentence-level conversations. Start one.
13
New Conversation
Paragraph 141 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 141, Sentence 1 0
No sentence-level conversations. Start one.
Israel et al [29]
New Conversation
Paragraph 142 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 142, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 143 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 143, Sentence 1 0
No sentence-level conversations. Start one.
Observation + discourse analysis
New Conversation
Paragraph 144 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 144, Sentence 1 0
No sentence-level conversations. Start one.
Behaviour type
New Conversation
Paragraph 145 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 145, Sentence 1 0
No sentence-level conversations. Start one.
14
New Conversation
Paragraph 146 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 146, Sentence 1 0
No sentence-level conversations. Start one.
Ke [30]
New Conversation
Paragraph 147 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 147, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 148 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 148, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 149 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 149, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 150 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 150, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 151 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 151, Sentence 1 0
No sentence-level conversations. Start one.
Observation
New Conversation
Paragraph 152 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 152, Sentence 1 0
No sentence-level conversations. Start one.
Behaviour type
New Conversation
Paragraph 153 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 153, Sentence 1 0
No sentence-level conversations. Start one.
15
New Conversation
Paragraph 154 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 154, Sentence 1 0
No sentence-level conversations. Start one.
Lewis [31]
New Conversation
Paragraph 155 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 155, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 156 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 156, Sentence 1 0
No sentence-level conversations. Start one.
Test
New Conversation
Paragraph 157 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 157, Sentence 1 0
No sentence-level conversations. Start one.
Correct answer
New Conversation
Paragraph 158 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 158, Sentence 1 0
No sentence-level conversations. Start one.
Self-evaluation
New Conversation
Paragraph 159 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 159, Sentence 1 0
No sentence-level conversations. Start one.
Likert
New Conversation
Paragraph 160 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 160, Sentence 1 0
No sentence-level conversations. Start one.
16
New Conversation
Paragraph 161 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 161, Sentence 1 0
No sentence-level conversations. Start one.
Lewis and Shah [32]
New Conversation
Paragraph 162 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 162, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 163 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 163, Sentence 1 0
No sentence-level conversations. Start one.
Discourse analysis
New Conversation
Paragraph 164 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 164, Sentence 1 0
No sentence-level conversations. Start one.
Behaviour type
New Conversation
Paragraph 165 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 165, Sentence 1 0
No sentence-level conversations. Start one.
Hypotheses, data-driven
New Conversation
Paragraph 166 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 166, Sentence 1 0
No sentence-level conversations. Start one.
17
New Conversation
Paragraph 167 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 167, Sentence 1 0
No sentence-level conversations. Start one.
Mako Hill et al [36]
New Conversation
Paragraph 168 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 168, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 169 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 169, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 170 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 170, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 171 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 171, Sentence 1 0
No sentence-level conversations. Start one.
Other programming contents
New Conversation
Paragraph 172 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 172, Sentence 1 0
No sentence-level conversations. Start one.
18
New Conversation
Paragraph 173 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 173, Sentence 1 0
No sentence-level conversations. Start one.
Maloney et al [37]
New Conversation
Paragraph 174 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 174, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 175 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 175, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 176 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 176, Sentence 1 0
No sentence-level conversations. Start one.
Presence/frequency
New Conversation
Paragraph 177 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 177, Sentence 1 0
No sentence-level conversations. Start one.
19
New Conversation
Paragraph 178 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 178, Sentence 1 0
No sentence-level conversations. Start one.
Meerbaum-Salant et al [41]
New Conversation
Paragraph 179 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 179, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 180 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 180, Sentence 1 0
No sentence-level conversations. Start one.
Observation
New Conversation
Paragraph 181 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 181, Sentence 1 0
No sentence-level conversations. Start one.
Behaviour type
New Conversation
Paragraph 182 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 182, Sentence 1 0
No sentence-level conversations. Start one.
20
New Conversation
Paragraph 183 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 183, Sentence 1 0
No sentence-level conversations. Start one.
Meerbaum-Salant et al [42]
New Conversation
Paragraph 184 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 184, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 185 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 185, Sentence 1 0
No sentence-level conversations. Start one.
Test
New Conversation
Paragraph 186 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 186, Sentence 1 0
No sentence-level conversations. Start one.
Correct response
New Conversation
Paragraph 187 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 187, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns
New Conversation
Paragraph 188 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 188, Sentence 1 0
No sentence-level conversations. Start one.
21
New Conversation
Paragraph 189 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 189, Sentence 1 0
No sentence-level conversations. Start one.
Moreno-León et al [44]
New Conversation
Paragraph 190 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 190, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs (CT)
New Conversation
Paragraph 191 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 191, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 192 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 192, Sentence 1 0
No sentence-level conversations. Start one.
Presence
New Conversation
Paragraph 193 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 193, Sentence 1 0
No sentence-level conversations. Start one.
22
New Conversation
Paragraph 194 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 194, Sentence 1 0
No sentence-level conversations. Start one.
Ota et al [46]
New Conversation
Paragraph 195 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 195, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns
New Conversation
Paragraph 196 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 196, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 197 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 197, Sentence 1 0
No sentence-level conversations. Start one.
Presence
New Conversation
Paragraph 198 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 198, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 199 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 199, Sentence 1 0
No sentence-level conversations. Start one.
23
New Conversation
Paragraph 200 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 200, Sentence 1 0
No sentence-level conversations. Start one.
Sáez-López et al [55]
New Conversation
Paragraph 201 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 201, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 202 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 202, Sentence 1 0
No sentence-level conversations. Start one.
Test
New Conversation
Paragraph 203 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 203, Sentence 1 0
No sentence-level conversations. Start one.
N/A
New Conversation
Paragraph 204 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 204, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities + other programming contents
New Conversation
Paragraph 205 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 205, Sentence 1 0
No sentence-level conversations. Start one.
Self-evaluation
New Conversation
Paragraph 206 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 206, Sentence 1 0
No sentence-level conversations. Start one.
Performance level
New Conversation
Paragraph 207 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 207, Sentence 1 0
No sentence-level conversations. Start one.
Observation
New Conversation
Paragraph 208 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 208, Sentence 1 0
No sentence-level conversations. Start one.
24
New Conversation
Paragraph 209 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 209, Sentence 1 0
No sentence-level conversations. Start one.
Seiter [49]
New Conversation
Paragraph 210 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 210, Sentence 1 0
No sentence-level conversations. Start one.
Coding patterns
New Conversation
Paragraph 211 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 211, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 212 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 212, Sentence 1 0
No sentence-level conversations. Start one.
Presence
New Conversation
Paragraph 213 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 213, Sentence 1 0
No sentence-level conversations. Start one.
25
New Conversation
Paragraph 214 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 214, Sentence 1 0
No sentence-level conversations. Start one.
Seiter and Foreman [50]
New Conversation
Paragraph 215 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 215, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs + coding patterns (CT)
New Conversation
Paragraph 216 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 216, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 217 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 217, Sentence 1 0
No sentence-level conversations. Start one.
Presence
New Conversation
Paragraph 218 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 218, Sentence 1 0
No sentence-level conversations. Start one.
26
New Conversation
Paragraph 219 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 219, Sentence 1 0
No sentence-level conversations. Start one.
Shah et al [52]
New Conversation
Paragraph 220 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 220, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 221 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 221, Sentence 1 0
No sentence-level conversations. Start one.
Discourse analysis
New Conversation
Paragraph 222 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 222, Sentence 1 0
No sentence-level conversations. Start one.
Behaviour type
New Conversation
Paragraph 223 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 223, Sentence 1 0
No sentence-level conversations. Start one.
27
New Conversation
Paragraph 224 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 224, Sentence 1 0
No sentence-level conversations. Start one.
Tsan et al [57]
New Conversation
Paragraph 225 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 225, Sentence 1 0
No sentence-level conversations. Start one.
Programming activities
New Conversation
Paragraph 226 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 226, Sentence 1 0
No sentence-level conversations. Start one.
Discourse analysis
New Conversation
Paragraph 227 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 227, Sentence 1 0
No sentence-level conversations. Start one.
Behaviour type
New Conversation
Paragraph 228 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 228, Sentence 1 0
No sentence-level conversations. Start one.
Observation
New Conversation
Paragraph 229 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 229, Sentence 1 0
No sentence-level conversations. Start one.
28
New Conversation
Paragraph 230 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 230, Sentence 1 0
No sentence-level conversations. Start one.
Wangenheim et al [59]
New Conversation
Paragraph 231 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 231, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs (CT)
New Conversation
Paragraph 232 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 232, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 233 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 233, Sentence 1 0
No sentence-level conversations. Start one.
Presence
New Conversation
Paragraph 234 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 234, Sentence 1 0
No sentence-level conversations. Start one.
29
New Conversation
Paragraph 235 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 235, Sentence 1 0
No sentence-level conversations. Start one.
Wilson et al [60]
New Conversation
Paragraph 236 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 236, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 237 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 237, Sentence 1 0
No sentence-level conversations. Start one.
Artefact analysis
New Conversation
Paragraph 238 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 238, Sentence 1 0
No sentence-level conversations. Start one.
Presence
New Conversation
Paragraph 239 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 239, Sentence 1 0
No sentence-level conversations. Start one.
Other programming contents
New Conversation
Paragraph 240 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 240, Sentence 1 0
No sentence-level conversations. Start one.
30
New Conversation
Paragraph 241 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 241, Sentence 1 0
No sentence-level conversations. Start one.
Zur-Bargury et al [63]
New Conversation
Paragraph 242 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 242, Sentence 1 0
No sentence-level conversations. Start one.
Code constructs
New Conversation
Paragraph 243 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 243, Sentence 1 0
No sentence-level conversations. Start one.
Test
New Conversation
Paragraph 244 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 244, Sentence 1 0
No sentence-level conversations. Start one.
Correct response
New Conversation
Paragraph 245 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 245, Sentence 1 0
No sentence-level conversations. Start one.

Structured with the aforementioned four substance categories, the following subsections describe the nature of the discovered contents and activities and their assessment methods more completely and elaborate their relationships with the CEPs (RQ3).

New Conversation
Paragraph 246 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 246, Sentence 1 0
No sentence-level conversations. Start one.

4.2 CT’s CEPs in Scratch

New Conversation
Paragraph 247 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 247, Sentence 1 0
No sentence-level conversations. Start one.

4.2.1 Code constructs

New Conversation
Paragraph 248 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 248, Sentence 1 0
No sentence-level conversations. Start one.

Three studies assessing code constructs examined CT specifically. “Dr. Scratch”, a web-based automatic analysis tool, assessed the use of blocks in Scratch projects (Table 2) [44]. Relatedly, Wangenheim et al [59] used “CodeMaster”, a similar yet more extensive rubric for projects made in the Snap! programming environment. In terms of CEPs contextualised in Scratch by these tools, for instance, “if” blocks and logic operations contextualise conditional logic and Boolean logic (Logic), and the rubrics to “flow control” contextualise the basic building blocks of algorithms (Algorithms). Moreover, the rubrics to “data representation” contextualise working with different data types, performing operations on data and using various data structures (Data) in addition to abstracting real-world phenomena as data (Abstraction). Moreover, the “ANTLR” tool presented by Chang et al [11] expanded the rubrics of Dr. Scratch to include recursion (Algorithms).Table 2. Evidence for CT as examined by Dr. Scratch [26]

New Conversation
Paragraph 249 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 249, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 249, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 249, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 249, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 249, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 249, Sentence 6 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 249, Sentence 7 0
No sentence-level conversations. Start one.

New Conversation
Paragraph 250 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 250, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 251 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 251, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 252 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 252, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 253 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 253, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 254 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 254, Sentence 1 0
No sentence-level conversations. Start one.
Competence level
CT concept Basic Developing Proficient
Abstraction and Problem decomposition
New Conversation
Paragraph 255 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 255, Sentence 1 0
No sentence-level conversations. Start one.
More than one script and more than one sprite
New Conversation
Paragraph 256 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 256, Sentence 1 0
No sentence-level conversations. Start one.
Make-a-blocks
New Conversation
Paragraph 257 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 257, Sentence 1 0
No sentence-level conversations. Start one.
Cloning
New Conversation
Paragraph 258 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 258, Sentence 1 0
No sentence-level conversations. Start one.
Parallelism
New Conversation
Paragraph 259 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 259, Sentence 1 0
No sentence-level conversations. Start one.
Two scripts start on “green flag”
New Conversation
Paragraph 260 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 260, Sentence 1 0
No sentence-level conversations. Start one.
Two scripts start on when key is pressed/when sprite is clicked on the same sprite
New Conversation
Paragraph 261 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 261, Sentence 1 0
No sentence-level conversations. Start one.
Two scripts start on “when I receive message”, “create clone”, “when %s is >%s” or “when backdrop change to” blocks
New Conversation
Paragraph 262 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 262, Sentence 1 0
No sentence-level conversations. Start one.
Logical thinking
New Conversation
Paragraph 263 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 263, Sentence 1 0
No sentence-level conversations. Start one.
“If” block
New Conversation
Paragraph 264 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 264, Sentence 1 0
No sentence-level conversations. Start one.
“If-else” block
New Conversation
Paragraph 265 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 265, Sentence 1 0
No sentence-level conversations. Start one.
Logic operations
New Conversation
Paragraph 266 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 266, Sentence 1 0
No sentence-level conversations. Start one.
Synchronisation
New Conversation
Paragraph 267 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 267, Sentence 1 0
No sentence-level conversations. Start one.
“Wait” block
New Conversation
Paragraph 268 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 268, Sentence 1 0
No sentence-level conversations. Start one.
“Broadcast”, “when I receive message”, “stop all”, “stop program” or “stop programs sprite” blocks
New Conversation
Paragraph 269 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 269, Sentence 1 0
No sentence-level conversations. Start one.
“Wait until”, “when backdrop change to” or “broadcast and wait” blocks
New Conversation
Paragraph 270 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 270, Sentence 1 0
No sentence-level conversations. Start one.
Flow control
New Conversation
Paragraph 271 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 271, Sentence 1 0
No sentence-level conversations. Start one.
Sequence of blocks
New Conversation
Paragraph 272 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 272, Sentence 1 0
No sentence-level conversations. Start one.
“Repeat” or “forever” blocks
New Conversation
Paragraph 273 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 273, Sentence 1 0
No sentence-level conversations. Start one.
“Repeat until” block
New Conversation
Paragraph 274 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 274, Sentence 1 0
No sentence-level conversations. Start one.
User interactivity
New Conversation
Paragraph 275 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 275, Sentence 1 0
No sentence-level conversations. Start one.
“Green flag” block
New Conversation
Paragraph 276 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 276, Sentence 1 0
No sentence-level conversations. Start one.
“Key pressed”, “sprite clicked”, “ask and wait” or mouse blocks
New Conversation
Paragraph 277 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 277, Sentence 1 0
No sentence-level conversations. Start one.
“When %s is >%s”, video or audio blocks
New Conversation
Paragraph 278 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 278, Sentence 1 0
No sentence-level conversations. Start one.
Data representation
New Conversation
Paragraph 279 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 279, Sentence 1 0
No sentence-level conversations. Start one.
Modifiers of sprite properties
New Conversation
Paragraph 280 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 280, Sentence 1 0
No sentence-level conversations. Start one.
Operations on variables
New Conversation
Paragraph 281 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 281, Sentence 1 0
No sentence-level conversations. Start one.
Operations on lists
New Conversation
Paragraph 282 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 282, Sentence 1 0
No sentence-level conversations. Start one.

Two other automated tools, “Ninja Code Village” (NCV) presented by Ota et al [46] and “Scrape” by used by Ke [30], examine similar code constructs to Dr. Scratch without aligning them to CT. However, similar to Dr. Scratch’s rubrics in “Abstraction and Problem decomposition”, NCV’s rubrics for the “procedure” code construct contextualise different kinds of functions and procedures that act as separate instruction sets to solve specific problems (Algorithms). Moreover, Scrape and Dr. Scratch examined external device usage via various input/output devices (e.g., keyboard, mouse) (Automation).

New Conversation
Paragraph 283 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 283, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 283, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 283, Sentence 3 0
No sentence-level conversations. Start one.

Regarding other assessment methods, Lewis [31] asked students to describe the output of example scripts comprising certain code constructs and evaluate how hard it was to learn them. Meerbaum-Salant et al [42] conducted summative tests with a revised Bloom/SOLO taxonomy on students’ understanding in parallel execution within and across different sprites, which was underlined to often require the synchronisation of different scripts. Relatedly, several other studies [10, 19, 37, 60] manually examined students’ projects for the “synchronisation” code construct, which was juxtaposed with the “coordination” or “communication” code constructs. The implementation of synchronisation, coordination and communication contextualises controlling the timing of computation in participating processes (Coordination and Parallelism). In Scratch, coordination and synchronisation of parallel processes can occur with timing (e.g., the “wait” block), state-sync (e.g., the “wait until” block) or event-sync (e.g., the “when I receive” block) and by blocking or stopping further script execution [44, 50]. Moreover, Franklin et al [16, 17] manually assessed the use of the “initialisation” code construct, that is, setting initial state values (Algorithms) for sprite properties such as location or size.

New Conversation
Paragraph 284 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 284, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 284, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 284, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 284, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 284, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 284, Sentence 6 0
No sentence-level conversations. Start one.

4.2.2 Coding patterns

New Conversation
Paragraph 285 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 285, Sentence 1 0
No sentence-level conversations. Start one.

Seiter and Foreman [50] developed the “Progression for Early Computational Thinking” (PECT) model to manually examine CT through project-wide design pattern variables: “Animate Looks”, “Animate Motion”, “Conversate”, “Collide”, “Maintain Score” and “User Interaction”. The design pattern variables are assessed with rubrics to specific code construct combinations, whereas students’ understanding in CT is indicated by the presence of specific level variables in a Scratch project. In addition to the relationships between CT and programming contents disclosed directly in PECT (see Seiter and Foreman [50] for detailed rubrics), in Scratch, coding patterns and code constructs themselves contextualise repeating patterns and generalisable computational solutions (Patterns and Generalisation). The implementation of coding patterns and code constructs also contextualises breaking complex projects into smaller, manageable parts that establish the larger system. Coding patterns could also be considered as the functions of different objects (i.e., sprites) (both Problem decomposition). Moreover, each coding pattern can be interpreted as a separate solution to a problem (Algorithms), which, in turn, is an abstraction of a real-world phenomenon (Abstraction).

New Conversation
Paragraph 286 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 286, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 286, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 286, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 286, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 286, Sentence 5 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 286, Sentence 6 0
No sentence-level conversations. Start one.

Benton et al [5] asked students to rate the difficulty of different kinds of algorithms, which resembled PECT’s “Animate Motion” coding pattern. Franklin et al [17] examined the “Breaking down actions” coding pattern, which resembled a combination of PECT’s “Collision” and “Animate Motion”. However, unlike in PECT, this coding pattern required parametric precision (e.g., an exact number in a “move” block), which can be essential in ensuring that designed solutions achieve the desired results (Efficiency). Similarly, test questions employed by Meerbaum-Salant et al [42] and Grover and Basu [21] concerning coding patterns, which resembled PECT’s “Animate Motion” and “Maintain Score”, necessitated distinguishing between separate overlapping coding patterns (see example in Figure 2). These solutions spotlighted the option of examining individually instantiated rather than project-wide coding patterns in students’ projects.

New Conversation
Paragraph 287 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 287, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 287, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 287, Sentence 3 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 287, Sentence 4 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 287, Sentence 5 0
No sentence-level conversations. Start one.

image
New Conversation
Paragraph 288 (Image 2) 0
No whole image conversations. Start one.
New Conversation
Whole Image 0
No whole image conversations. Start one.

Figure 2 Open in figure viewerPowerPointQuestions that necessitate distinguishing two independent motion parameters: facing direction and location (supplementary materials by Meerbaum-Salant et al 2013)
New Conversation
Paragraph 289 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 289, Sentence 1 0
No sentence-level conversations. Start one.

Ericson and McKlin [15] asked students to draw the outputs of scripts comprising a coding pattern, which resembled PECT’s “Animate Motion” with the “pen” code construct. In Scratch, pen is used to draw visual lines as sprites move and, therefore, visualise algorithms (Modelling and design), although several other programmed features (e.g., conversations, animations) also manifest visually or vocally in Scratch. The authors also introduced a coding pattern for reading keyboard inputs and storing them in the “answer” variable (Automation) in addition to using conditional structures and Boolean expressions to evaluate the value stored in the variable (Logic).

New Conversation
Paragraph 290 0
No paragraph-level conversations. Start one.
New Conversation
Paragraph 290, Sentence 1 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 290, Sentence 2 0
No sentence-level conversations. Start one.
New Conversation
Paragraph 290, Sentence 3