Block-based Affordances

Материал из Letopisi.Ru — «Время вернуться домой»
Перейти к: навигация, поиск

Through analyzing novices playing a program-to-play constructionist video game, we identify four distinct usages of the programming language: (

  1. 1) serving as a means for expressing ideas to the computer,
  2. (2) providing a record of previously articulated intentions,
  3. (3) acting as a source of ideas for construction, and
  4. (4) mediating the meaning-making process.


In formulating our framework for categorizing the ways that novices use block-based languages, we looked to the literature and found two distinct dimensions along which mediational roles differ that could lead to a productive classification that fit our emerging findings.

Programming in block-based programming environments takes the form of dragging blocks into a composition area and snapping them together to form scripts.

We categorize this difference as internal (cognitive) vs. <--> external (communicative); these categories provide the first dimension of our framework. The second dimension along which programming representations can differ comes from the computer science education literature, where a distinction is made between the act of generating a program and <--> that of comprehending one [25].

Table

Table 1. The 2x2 matrix situating the four roles Block-based programming language primitives play in supporting novices.
Generative Interpretive
External

(Communicative)

Means for expression

Serving as a means for expressing ideas to the computer

Record of previously
expressed intentions
Internal

(Cognitive)

Source of Ideas for constructions Resource used in

meaning-making

We see this ontology as productive in that each dimension suggests a pattern of use for novices and provides a lens for studying the ways the representational system is being appropriated by the learner. Further, the application of this framework can be used to inform the evaluation and design of programming languages. This framework is not meant to be definitive, but instead is one possible way to categorize novice interactions with programming environments.

The four quadrants of this framework delineate the four roles we identify in our analysis. The

External-Generative role
- an expressive medium with which to encode ideas in a computationally executable form.
External-Interpretive role
captures asynchronous human-to-human communication in the form of one user reading the instructions previous written by others.
Internal-Generative role
is not mediating the expression of an idea, but instead, the language itself acts as a resource the user can leverage to form new ideas.
Internal-Interpretive role
manifests itself as novices using the language as a cognitive resource to make sense of observed behaviors.
In this role, the author uses the programming commands as a mechanism to help decipher and interpret observed behaviors of the program, serving as objects-to-think-with in facilitating the meaning-making process.

Further, the application of this framework can be used to inform the evaluation and design of programming languages. This framework is not meant to be definitive, but instead is one possible way to categorize novice interactions with programming environments.


Ontology as a framework

We see this ontology as productive in that each dimension suggests a pattern of use for novices and provides a lens for studying the ways the representational system is being appropriated by the learner. Further, the application of this framework can be used to inform the evaluation and design of programming languages. This framework is not meant to be definitive, but instead is one possible way to categorize novice interactions with programming environments.


Though the movement leverages many of the newest technologies and practices, it also mirrors some of the earliest modern theories of education and human activity.

Theorists like Dewey, Froebel, Montessori, and Papert argued that learning should be physical, playful, self-directed, and reflective of everyday practices. Maker Spaces foster sociocultural learning that emphasizes collaborating, sharing tools and ideas, helping and providing feedback to peers, and communicating openly about projects [31], [33], [34].

Computational Making emerged from the Constructionist approach to learning and design.


Персональные инструменты
Инструменты