Search
Program Calendar
Browse By Day
Browse By Time
Browse By Person
Browse By Unit
Browse By Session Type
Search Tips
Annual Meeting Housing and Travel
Personal Schedule
Sign In
X (Twitter)
Introductory programming in K-12 classrooms is usually taught in block-based programming environments such as Scratch. These environments are designed to lower the barrier to learning programming through easy-to-use features that eliminate syntax errors. However, programming in post-secondary and professional contexts involves text-based languages such as Python, Java, and Javascript, among others. Early experiences in block-based programming should ease the path for future learning in text-based environments.
In this research, a seven-week long introductory programming curriculum—Foundations for Advancing Computational Thinking (FACT) was designed to engage students in deeper ideas of algorithmic constructs common to all programming—loops, variables, conditionals, and boolean logic—separate from coding in Scratch. It used analogous representations (Gentner, et al., 2003) and multiple examples to foster transfer. The importance of coding and CS to students’ futures and the generalizable foundations of algorithmic thinking common to all programming were underscored as part of ‘expansive framing’ (Engle et al, 2012)
A unique Preparation of Future Learning (PFL; Bransford & Schwartz, 1999) test was designed. Based on the design of “dynamic assessments” in prior research (e.g. Schwartz & Martin, 2004), this assessment aimed to examine how well students ‘transferred in’ their conceptual understanding of computing constructs to learn from a new resource and ‘transferred out’ to apply it to read and comprehend code presented in a text-based language. The code comprehension questions were preceded by ‘new learning’ in the form of syntax details for Pascal and Java-like text-based languages for constructs such as output to the screen, loops, conditionals, and variable declaration and assignment, that students would have encountered in FACT in the context of Scratch. To help learners make connections back to the past learning context, references were made to the corresponding constructs in Scratch, for example “PRINT displays things specified in parenthesis to the computer screen one line at a time (like SAY in Scratch).”
The assessment was used over two iterations of FACT in two middle school classrooms as part of a ‘Computers’ elective course offered to 7th and 8th grade students (N=54).
1) In most cases, students were able to correctly get a sense for the program flow and at a fundamental level understood the concept of looping or conditional execution in the code, even though their responses were not always completely accurate;
2) The nature of many of the errors committed in the PFL test were similar to those committed on the Scratch test. This is consistent with earlier literature that contends that skills mastery in the original context is essential for transfer (Kurland et al. 1986);
3) Unfortunately, most of the questions on the PFL involved loops with variables—a topic that is traditionally known to be difficult. (Parsons & Haden, 2007; Pea, 1984).
4) The qualitative analysis of the PFL responses explanations were suggestive of a fair degree of understanding of algorithmic flow of control; and
These findings point to the success of the strategies used to foster transfer from block- to text-programming and suggest that the PFL test would benefit from some redesign.