Tuesday, December 31, 2019

Culturally Situated Design Tools: Dotted Circles Exemplar version 2

aka Tribal Modernism
aka ethnocomputing

It begins like this:

and develops into this:
This began as an exploration of a good way to teach maths to the indigenous. It has turned into an integrated curriculum approach with maths as one of the important elements. The elements of integration include art, aboriginal culture, technologies including digital technology, maths and story telling

A powerful idea from indigenous culture is the circle. This was highlighted by Chris Matthews at the final session of ATSIMA 2018 (Aboriginal and Torres Strait Islander Mathematics Alliance).

The numbers (1), (2), (3) and (4) on the diagram refer to particular interfaces within the overall picture. I’ll use those interfaces to describe the approach in more detail.

(1) The interface between Indigenous Dotted Circle Art and Ascend to the Concrete.

The dotted circles are prominent in western desert aboriginal art (Papunya Tula) dating back to the early 1970s. I was surprised to discover the assertion in a couple of books by Ian McLean that aborigines invented the idea contemporary art. It makes for interesting history and I’ll have to summarise that story at another time. Dotted circle art in indigenous culture is a powerful theme, not tokenistic. Ian McLean coins the term "tribal modernism" to describe the growth of the Papunya Art movement:
The Western Desert painters remain committed to their tribal traditions. They did not abandon them for the promises of Westernism but instead insisted on the contemporaneity of their tribalism. This is perhaps the greatest shock of the art movement from an artworld perspective: it is tribal modernism. Thus it challenges the self-defining paradigms of both Western modernity and the artworld.
- Rattling Spears, p. 121
The following example comes from a public poster about NAIDOC week:

(2) The interface between Maths of the Circle and Ascend to the Concrete.

Mathematical abstraction is often cited as a pinnacle of Westerm culture.

However, some authors have presented original interpretations. Ascend to the concrete comes from the philosophy of Marx. Andrew Pickering’s mangle analysis of Science speaks of the dynamic interaction between the material (machines) and humans. Epistemological pluralism, where the bricoleur approach is recognised as both valid and powerful, comes from Papert and Turkle.

By mathematical abstraction I mean, pi = circumference / diameter and the other formulae that flow from that. Mathematical abstraction is powerful, I agree with that. However, it is also a double headed beast. To abstract a circle, as in a textbook maths representation, is to oversimplify the richness of real circles found in art and nature.

Rather than dry as dust textbook maths I strive here for material based, hands on, models that will engage, motivate and educate. The long term goal is to teach maths and the computer coding of maths. But dry abstractions, learn C = 2piR, then plug in the values and get the correct answer, often does not engage or promote meaningful understanding.

How do we make the derivation of pi more concrete? One good way is the rope activity. Walk out 7 steps along a rope being held by a partner. Then walk around your partner in a circle counting your steps. If you get 44 steps then you have an approximation for pi (44/14 = 22/7). Repeat this process for different radii. Notice that the value of C/2R or C/D is always roughly the same. Why is that?

Moreover, a sprite on the computer sits at the boundary between the abstract and the concrete, a visible thing, almost tangible. Program it to move in a circle. That is abstract. Then see the sprite move in a circle. That is concrete. Add some colour and other effects, such as lumpy dots. That is enriched concrete or artistic concrete with an underlying abstraction. We have ascended to the concrete.

Snap! program estimating pi by measuring circumference and diameter

(3) The interface between Maths of the Circle and Indigenous Dotted Circle Art

How do we make the maths artistic and the dotted circle art mathematical? This can be done with computer programs such as Turtle Art, Scratch or Snap! There are various ways to draw circles on the computer. A good way to do a dotted circle was to start in the centre, lift the pen, move radius, put the pen down, draw the dot, lift the pen and return to the centre. Then turn a little and keep repeating the process. Computers are fast, one of their great strengths, so it doesn’t take long.

I spent a fair bit of time experimenting with colours of both dots and background and how to do lumpy dots, more in keeping with the art form. I am doing this for the user but the how to can be read in the code. The art and maths intermingle in a transparent process.

I got this far trying to imitate the above NAIDOC poster using Turtle Art:

(4) In the middle of the three rings above is a sweet spot, I hope. As I develop my understanding of the 3 teething rings the sweet spot becomes sweeter

My interpretation of ascend to the concrete in this context goes like this: It refers to a journey from the first exposure to a concept (eg. the circle) to an exploration of its properties (eg. pi) and then returning to the concrete circle in the world armed with a theory to put into practice (eg. understanding and using computer code to draw interesting and artistic circles)

Although it's not in the teething rings above digital technology is a wonderful device to present the abstract concretely. As well as that digital has become / is becoming the new dominant medium since you can arguably develop more powerful, more flexible and more evocative representations than in previous mediums. I have to qualify that though. Papunya Tula art is far more evocative than the puny representations I have developed so far digitally. Rather than trying to duplicate Papunya Tula art I have moved to the position of using aspects of it as inspiration to develop a new form of digital art. Each has its own strengths and weaknesses.

Here is a summary of the approach. Take a powerful idea from indigenous culture and represent it using a variety of technologies! Start with the cultural theme so that the technology serves and enables different forms of expression of the culture. ie employ and mobilise the motivational aspect that comes with tapping into personal culture. Then use technology (both digital and non digital) to make the abstract ideas within the powerful idea more concrete.

We end with an enriched circle, a rich art form. Not traditional art. Nor an abstract disembodied circle. Rather a form which has elements of both abstract maths and traditional aboriginal art. Call it indigi_maths_art. Call it tribal modernism, a mongrel of the traditional and the modern. It’s part of the work of cultural extension.


In an earlier version of this essay I talked about representing the circle in various ways. Since then, I’ve been persuaded by Pickering that real knowledge arises through performance and representation is an after the event disembodied abstraction.

Performance is real time interaction between humans and machines to achieve a goal specified by the humans. This is a difficult path marked by resistance and accommodation to that resistance. Teachers understand this and are continually modifying their lesson plans to better fit the needs of their students. For Pickering, this is the true nature of scientific knowledge. It is part objective, part relative (or subjective) and part historical. Science is material, not just knowledge. Historically, this is true. Galileo used the telescope to help start a scientific revolution. Machines were at the heart of the Industrial revolution. Galileo’s work was dramatic performance. I am taking Pickering’s insight to help map out a performance based educational pathway. The modern machine that can assist us the most is the computer.

One goal is to master the user interface, to use the computer effectively. In developing this app I want it to be easy enough for the naive user to create interesting art quickly. And I want it to be open and transparent so the user can readily look under the hood to see how it was made.

Another goal is to teach computer coding. Computer coding has become more popular, largely through the lead provided by  Scratch. Nevertheless, not all students find this easy or are led to more complex coding. Even though block coding is easier than text coding still not all students become engaged with it. This is partly a cultural issue.

To learn to code is an arduous, sometimes difficult process and the cultural image of the highly skilled computer geek is a barrier to overcome here. Why would an indigenous student want to learn to code? The answer or pathway offered here is that it provides an opportunity to create some interesting and culturally relevant art forms. Hopefully, that might enhance engagement and learning further.

Tinkering or tuning is an important part of the learning process for both teacher and student. Humans tune the machines. The machines tune the humans. This process operates on me as the developer of this software app. Does it engage the student and help achieve the long term goal of teaching maths? A curriculum is an instrument too. Try the activities, see if they succeed. They will succeed for some but not for others. Then tweak them, think of new activities. This is a never ending developmental process. One goal was to teach the maths of the circle. Pi stuff. Are we succeeding?

Some of the many possible performances (previously I said representations) with which I have made some progress so far include:
  • The art itself (dotted circle theme). I have looked at the art and bought some books about it. I've yet to actually do the art myself but am looking for that opportunity
  • Language English: Tell the story of the Papunya Tula art movement and find out what the circles represent
  • Humans with rope, make a dotted circle or just a circle. This can be used to estmate pi concretely.
  • Snap! program estimating pi by measuring circumference and diameter.
  • Turtle art: For artistic effects and special fast primitives, such as arc, with the 2 inputs of angle and radius, arc: angle radius, see first iteration of a NAIDOC week poster using Turtle Art
  • Scratch application, see dotted_circles_version_1
  • Scratch: Cloning circles. I've done this in other contexts and it could be adapted to this context.
  • Snap! and Scratch compared: Hal Abelson's objective ("programs must be written for people to read, and only incidentally for machines to execute") can be achieved more readily with Snap! than with Scratch. See a comparison between Scratch and Snap!
  • Snap! application, see dotted_circles_4
This artwork was made with the Scratch application, dotted_circles_version_1 Click on the link and do your own performance.

This artwork was made with the Snap! application, dotted_circles_5 Click on the link and do your own performance.

Another Snap! application work of art:
Here are some more possibilities which I have thought of but haven't attempted to implement yet:
  • Language Pintupi / Luritja: introduce some
  • App Inventor: dotted circle with one phone or many phones
  • Photography: Show some pics of dotted circle art, perhaps from overhead using a drone
  • Robot (which robot?) draws the dotted circle
  • Microbit: Use radio to send a message around a circle (what message, can it be interactive? A message about the Papunya art movement)
  • E-Textiles: dotted circles on a beanie
  • Circuit Playground Express: it’s already a circle
  • Chibitronics: circuits on paper
There are a lot of ideas here. I'm sure that more could be added by others with knowledge of the three themes: dotted circle art, the maths of the circle and theories which make the abstract more concrete.


Rattling Spears: A History of Indigenous Australian Art (2016) by Ian McLean
Ch 5 The Invention of Indigenous Contemporary Art outlines the history of the Papunya Art movement through the lens of “tribal modernism” (p. 121)

How Aborigines Invented the Idea of Contemporary Art: Writings on Aboriginal Contemporary Art (2011). Edited by Ian McLean.

For more background on Marx’s theory of ascending to the concrete to see:
Dialectics of the Abstract and the Concrete in Marx’s Capital by Evald Ilyenkov

Epistemological Pluralism and the Revaluation of the Concrete (1992) by Sherry Turkle and Seymour Papert

Culturally Situated Design Tools (CSDT) by Ron Eglash and co
Many cultural designs show how math and computing ideas are embedded in indigenous traditions, graffiti art, and other surprising sources. These “heritage algorithms” can help students learn STEM principles as they simulate the original artifacts, and develop their own creations.
NB. The recommendation to study Andrew Pickering comes from a Ron Eglash article, so I am indebted to him for that as well.

The Mangle of Practice: Time, Agency and Science (1995) by Andrew Pickering (download the whole book)
Andrew Pickering offers a new approach to the unpredictable nature of change in science, taking into account the extraordinary number of factors: social, technological, conceptual, and natural that interact to affect the creation of scientific knowledge. In his vie w, machines, instruments, facts, theories, conceptual and mathematical structures, disciplined practices, and human beings are in constantly shifting relationships with one another "mangled" together in unforeseeable ways that are shaped by the contingencies of culture, time, and place

Monday, December 23, 2019

Comparing Scratch with Snap!

Hal Abelson:
First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel, formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.
- "Structure and Interpretation of Computer Programs"
Scratch version (follow the link to see the finished product):

Snap version (follow the link to see the finished product):

From the experience of building these, some of the advantages of Snap which emerged are:
1) Hal Abelson's objective ("programs must be written for people to read, and only incidentally for machines to execute") can be achieved with Snap. Because you can Build Your Own Blocks (BYOB) the overall structure of the code can be laid out far more clearly. It's tidy and you can immediately see the big picture of the overall program. This is because the extra blocks you build are tucked away into the Palette section.

Here is my main Snap procedure. The inner repeat stamps a fuzzy circle of dots. Then the radius and number of dots is increased and the process repeated until the specified number of circles are done. The structure of the code is relatively easy to understand, compared with Scratch.

I have written no less than 9 of my own blocks and by naming them meaningfully you have a good idea of what they do. Their names are:

LOOKS TYPE (purple)


These DIY blocks are not black boxes. The user can open them up in the Block Editor, look inside to see how they are implemented.
Here is set_dot_colour:

Here is move_fuzzy_radius:

2) Because of point one above it is possible, with Snap, for the user to easily see and tweak variables in the Scripting Area. You can see the values in the code of 4 variables: radius, radius_increment, dot_spacing and number_of_rings:

On the other hand with Scratch the whole code takes up lots of space, so it is not practical to tweak the variables in the scripting area. This means, in Scratch, it has to be done with prompts but with so many variable that becomes too arduous / time consuming and the user will become impatient. In the Scratch version I "solved" this problem by restricting the number of variables that could be tweaked to three: background colour, dot colour and number of circles.

3) Snap has extra features such as lists within lists which enable me to display colour selection more clearly and elegantly. See the pen_colour table. The user chooses the colour by typing in the matching number, eg. 10 for orange.

Previously, I reviewed an article about the design of construction kits by Mitch Resnick and Brian Silverman where they promoted the virtues of the KISS principle. Their point 2 was that wide walls took precedence over high ceilings. Their point 5 was "make it as simple as possible – and maybe even simpler". Those points are embodied in Turtle Art and Scratch.

I'm arguing here that Snap!, a program with more powerful features is better suited to designing more advanced tools / applications. And surprisingly, with respect to, presenting tidy code it does adhere to the KISS principle. Returning to the Hal Abelson quote I was struck by how I could reduce clutter in the Scripting Area by Building my own Blocks and design code that expressed its intention more clearly than in Scratch or Turtle Art.

Thursday, December 19, 2019

dotted circles version one

My idea was to build an application that indigenous students would find interesting which in turn would interest them to learn coding in Scratch. I'll write a more detailed educational rationale later, although I have written some before too.

You can find the application, written in Scratch3.0 here

Some more screenshots of what it can do:
There were a number of design challenges.

An earlier version had far too many variables to be set by the user before they could make anything. I felt the users would lose patience with it. This version has only three variables: background effect, dot colour and number of circles.

I was tempted to introduce a second dot colour, to have one colour for the inner and outer rings and a different colour for the inbetween rings. But for the sake of simplicity I rejected that. The end product would be richer but the user interface would be more complicated.

Other rejected variables include dot size, dot spacing, inner radius, radius increment.

I like the lumpy dots effect, which goes in all directions.

With the backgrounds I had to find a way to do them quickly so I opted for randomly large to small dots of a particular colour with shade variations stamped onto the page.

Earlier rationale: Proposal for an Australian indigenous version of Culturally Situated Design Tools

Monday, December 16, 2019

how to create a great background in Turtle Art

The backgrounds I was creating in Scratch for my dotted circle project were too slow (here for now). So I went back to Turtle Art to see how it was done there.

What features do you want for a great background. I would say:
  • speed of creation
  • no gaps
  • distinct brush strokes
  • artistic curve and wave
  • subtle colour variation
Here is how:

A circle moves rapidly across the screen from left to right while curving, waving and changing colour.

The speed is created by long and wide brush strokes,
pensize 7
arc angle = 360 (full circle), radius =500

With a diameter of 1000, this takes us outside the edges of the screen (680 x 550), which also means there are no gaps (nearly always)

The right amount of curve in the strokes is caused by the radius setting. If the radius is too large then there is not enought curve. If the radius is too small (eg. 250) then there are gaps at the top and bottom

The brushstroke effect is caused by the subtle colour changes, not the pensize (as I first thought)

The wave effect is achieved with right random(1 to -1). This outputs a value of 1, 0 or -1 creating an unpredictable wave.

The subtle colour change is caused by random ((-100 to 100) / 100). This outputs a decimal between -1 and +1 causing slight changes in the colour at each iteration.

In Turtle Art the number 0 represents red and as this changes through to 100 the colours vary according to the colour spectrum ROYGBIV.

I experimented with altering the start colour and achieved these effects:

Start colour = 0 (red)

Start colour = 15 (yellow)

Start colour = 50 (cyan)

I then thought I might want browns for background. To achieve that I set the colour to orange (10) and introduced shade, making it 30 (0 gives black and 100 gives white). I also tweaked the random colour variation to random ((-25 to 25) / 100) so it didn't alter so much. Here is one result:

Then I thought a vertical wave rather than left to right would be interesting so I further tweaked the code for that. Here is how that one looked and the new code is underneath:

Thursday, December 12, 2019

measuring the cooking and cooling of your microbits

This represents the educational equivalent of sensor analytics, which commercially is a killer app. Not advocating commercialism here but learning from it.

The micro:bit can be part of a data rich educational pathway. I didn’t realise this until I googled microbit data and discovered the microbit app (Windows 10 only) as well as some great tutorials at Data Collection and Data Analysis

This app has a few extra features over the online editor at makecode.microbit.org. The important extra feature here is you can directly read serial data from your micro:bit for data logging.

For this experiment I need 3 microbits, two for transmitting temperature data at different locations and one to receive it. I placed one sender near a hot plate and the other was taped to an air conditioner.

The receiver microbit transmits the data, through a USB cable, to the microbit app running on my computer. In turn, the microbit app displays the data and graphs on a data console.

I’ll show both the block code and the corresponding JavaScript. I’ve added the explanatory comments to the JavaScript. You can add comments to the block code but it quickly becomes cluttered.

This code was flashed to the two separate micro:bits, one near the hot plate and the other near the air conditioner.

This microbit was connected to my computer and the data is displayed in the microbit app console as both scrolling results and graphs.

Once again I’ve added the explanatory comments to the JavaScript file

The data can also be downloaded as a csv file and processed in Excel. I made a graph as follows:
Other ideas for remote data collection with the microbit:
  • measure the acceleration of a dropped microbit or one attached to a rocket
  • check soil moisture of a pot plant
(checkout the links in the first paragraph for more detail about other projects)

Note that the temperature experiment was done without any extra data collectors, just the microbit app. I think that this app extends the range of what can be done with the microbit tremendously.

Related: Making sense of the microbit

Footnote: explaining the "killer app" statement in the first paragraph
Persistent identity is the "killer" feature and sensor analytics and mobile payments are two "killer" apps, while more immersive first-person videogames and live event experiences could become another “killer” app for some wearables
Wearable Devices The ‘Internet of Things’ Becomes Personal by Morgan Stanley Research 2014