Abstract
Teaching of programming has long been dominated by language oriented approaches, complemented by industrial design techniques, with little attendant pedagogy. An influential alternative has been Papert's constructivism, through playful exploration of constrained microworlds. The archetypal microworld is based on turtle graphics, as exemplified in Papert's Logo language. Here, students compose and repeat sequences of operations to steer and move a turtle that leaves a trail behind it. Contemporary graphical environments, like Alice and Scratch, augment the turtle world with colourful interacting animated avatars.
However, the microworld approach scales poorly to systematic programming driven by problem solving. Many students find the transition from novice coding to problem solving oriented programming problematic (Moors and Sheenan, 2017). Furthermore, microworld languages tend to be relatively impoverished, lacking types and data structures.
Objects First is a contemporary approach to teaching programming through object orientation, which seeks to bridge microworlds and systematic programming. Here, students explore, modify and extend pre-formed objects analogous to microworlds, in constrained subsets of full strength languages, typically Java. However, there is growing evidence that, as with the original microworlds, some students find the transition to problem solving based programming difficult.
Computational thinking (CT), as popularised by Wing, offers an approach to problem solving in which programming is the final stage. CT has been widely heralded as a new pedagogy of programming. However, interpretations of CT vary widely from a loose assemblage of techniques to a systematic discipline.
In this chapter, I will argue that both microworlds and Objects First build superficial programming skills at the expense of deeper competences in problem solving. I will further argue that systematic CT, driven by seeking patterns in concrete instances, offers a way to refocus on problem solving for programming.
However, the microworld approach scales poorly to systematic programming driven by problem solving. Many students find the transition from novice coding to problem solving oriented programming problematic (Moors and Sheenan, 2017). Furthermore, microworld languages tend to be relatively impoverished, lacking types and data structures.
Objects First is a contemporary approach to teaching programming through object orientation, which seeks to bridge microworlds and systematic programming. Here, students explore, modify and extend pre-formed objects analogous to microworlds, in constrained subsets of full strength languages, typically Java. However, there is growing evidence that, as with the original microworlds, some students find the transition to problem solving based programming difficult.
Computational thinking (CT), as popularised by Wing, offers an approach to problem solving in which programming is the final stage. CT has been widely heralded as a new pedagogy of programming. However, interpretations of CT vary widely from a loose assemblage of techniques to a systematic discipline.
In this chapter, I will argue that both microworlds and Objects First build superficial programming skills at the expense of deeper competences in problem solving. I will further argue that systematic CT, driven by seeking patterns in concrete instances, offers a way to refocus on problem solving for programming.
Original language | English |
---|---|
Title of host publication | Computational Thinking in the STEM Disciplines |
Subtitle of host publication | Foundations and Research Highlights |
Editors | Myint Khine |
Publisher | Springer |
Chapter | 3 |
Pages | 31-48 |
Number of pages | 18 |
ISBN (Electronic) | 978-3-319-93566-9 |
ISBN (Print) | 978-3-319-93565-2 |
DOIs | |
Publication status | Published - Aug 2018 |
ASJC Scopus subject areas
- General Computer Science
Fingerprint
Dive into the research topics of 'Microworlds, Objects First, Computational Thinking and Programming'. Together they form a unique fingerprint.Profiles
-
Gregory John Michaelson
- School of Mathematical & Computer Sciences - Professor Emeritus
- School of Mathematical & Computer Sciences, Computer Science - Professor Emeritus
Person: Emeritus