What does “playground” mean in an informatics educational context?
What does “playground” mean when people use this word in articles or tutorials?
For example, there is an article with this title: "Kotlin Playground
" (Kotlin is a programming language and this is an article for teaching Kotlin)
And there is a sample project for teaching a concept with this name:
"androidx-savedstate-playground
"
A related word I have seen used in relation to coding and IT is “sandbox”. However it seems to me that this is used rather differently, not in a particularly educational context. Are they the same?
Solution 1:
Playground appears to be a relatively new term in relation to programming. Clearly it derives the normal meaning of playground, e.g. that in the Oxford dictionary online:
playground
NOUN
- An outdoor area provided for children to play in, especially at a school or public park.
I managed to find an academic paper by Marina Bers, entitled Coding, Playgrounds and Literacy in Early Childhood Education: the Development of KIBO Robotics and ScratchJr from a conference held in 2018, in which she writes:
“What is a playground? Playgrounds are environments designed to engage children in all domains of development (personal, social, moral, language, cognitive, motor, etc.) while having fun. Playgrounds are open-ended…”
and then she goes on to consider this in a coding context:
“The framework of coding as playground provides a way to understand the kind of developmentally appropriate experiences that programming environments must promote: problem solving, imagination, cognitive challenges, social interactions, motor skills development, emotional exploration, and making different personal and moral choices. Within this coding playgrounds, the programming language or symbol system to be manipulated, is a major component of the experience, but not the only one. Like in the playground, there are slides and swings and sand boxes and so forth.”
Difference from standard meaning
Although derived from the standard English meaning of the word, the significant difference would seem to me to be the specific educational intent. Thus, you might send your children to a playground to get them out of the house, so that they can enjoy themselves, so that they are safe from traffic and so that they don’t hit cricket balls through people’s windows. You know it will be good for them to get some fresh air, some exercise, to interact with others, but that is subsidiary and not directed or aimed at a particular educational goal. In contrast, in the educational use this latter has primary place.
Specific usage for programming education
I am not familiar with the Kotlin language, but encountered ‘playgrounds’ in relation to Apple’s Swift programming language. As can be seen from Apple’s page describing Swift Playgrounds, they fit this description reasonably well:
- They are aimed at children (or novices)
- They are designed for enjoyment
- They have preprepared frameworks (swings and roundabouts, as it were)
- They provide a challenge and encourage learning
- They are ‘safe’ (in that the learner can’t break anything)
Difference from sandbox
Someone commented that playgrounds are probably similar to sandboxes. However, although sandboxes may be considered as a component of a playground (a safe area), the term sandbox is often used in a different sense in IT. Thus, eBay provides a sandbox for experienced users to test online commerce sites, that they have already constructed, by providing dummy credit card credentials that allow one to check the working of the whole buying process, without the collateral of using a real card. As eBay states:
The Sandbox allows you to test applications developed with the eBay API in a simulated environment.
Apparent conflict between usage in Swift and elsewhere
The answer provided by @Dianna suggests that the usage for Kotlin is different. The link she provides is currently dead, but a related site states:
Kotlin Playground is an online sandbox to explore Kotlin programming language.
And her answer emphasizes the online nature as the distinctive feature of a playground. Similar usage is found in this recent (2018) blog posting.
Over the past couple of years several coding playgrounds have popped up, much to our delight. These are web applications that allow real-time previews of client-side codes: HTML, CSS, and JavaScript.
Although here the sandbox aspect is de-emphasized.
This is clearly not the same as Apple’s Swift usage in that Swift Playgrounds run on the iPad and do not (currently) run online. However, more important, and relevant to the poster’s reference to tutorials, there is no pedagogic implication.
Rather than arguing that one definition is right and the other wrong, I think in linguistic terms (the focus of this site) it is perhaps better to regard this as a new technical term the precise meaning of which is still in flux. Whether or not Apple invented the term, one imagines that its usage is likely to persist. Whether it displaces the other usage remains to be seen.