Showing posts with label Snap!. Show all posts
Showing posts with label Snap!. Show all posts

Monday, April 11, 2022

Nested sprites in Snap!

There is a Swimmer in Snap Examples which features 13 sprites attached to each other but I wanted a simpler example to teach to new Snap learners.

Read page 10 of the Snap! Manual for an overview of Sprite Nesting: Anchor and Parts:
Sometimes it’s desirable to make a sort of “super-sprite” composed of pieces that can move together but can also be separately articulated

I asked in the Snap Forum and cymplecy made a few suggestions: a car spinning its wheels, a Ferris wheel or a face blinking its eyes or moving its mouth.

CAR SPINNING ITS WHEELS

car_spin_wheels

Cymplecy observed that it's easier to do this in Snap! than Scratch.

Set the car pivot point half way between the 2 wheels and horizontal with the centres of the wheels. Otherwise, the wheels will spin out when you bounce off the wall.

I made the wheel by duplicating the car and rubbing out everything except one wheel. Set the pivot point of the wheels in the centre of the wheel, of course.

I reset the spin direction of the wheels to correlate with the car direction. It also works fine if you change the size of the car.

FERRIS WHEEL

ferris_wheel

If teaching this to beginners I'd give them the wheel and carriage to start with and teach the sprite nesting technique. The parts have a synchronous / dangling flag. The dangling option works well here, as the wheel rotates.

Wednesday, December 22, 2021

Colour your sound using Snap!

A computer program that transforms sound into colour and then colour back into sound would be sure to blow a few minds.

What happens then: Fun! Learning! Unpredictable but interesting pathways!

I encountered this briefly through Jay Silver / Eric Rosenbuam (who I think of as the very clever hippy digital innovators) and then later through Jens Monig (Snap! developer). I'll write up the Jens version for now and add some references from the creative hippie pair to write up later. I can see this blossoming into a fun, innovative course.

If you prefer go straight to the Snap! program (Whistle Draw) and explanatory video by Jens

Jen is a master of Snap! and I learnt a lot as well as having much fun in emulating his program. I'll document it here since I'm planning to use it at school.

The Synesthetic pair here is sound and colour. At first sound produces colour and then the process is reversed so that colour produces sound

I'm including some preliminaries and extra explanation which Jen leaves out. With Snap! colours I find it necessary to check the defaults so that the colours work. I set the pen saturation and brightness to 100 and transparency to 0. Then if hue is set to 0 it shows red and changing hue through 0 to 100 goes through a ROYGBIV spectrum.
The colours are working as they should be so now we investigate and calibrate the microphone:
I whistled a tune into the microphone and observed the range of frequencies. Since they started at around 700 Hz I subtracted 700 to obtain a starting point of zero. Then I divided by 10 so as to roughly bring the values into a 0 to 100 range. This range coincides with the full range of colour values in Snap! Here is the calibrated microphone:
Next up, write a procedure that will produce variations in colour depending on the sound frequency:
I inexpertly whistled "Twinkle twinkle little star" and recorded the colours by moving the mouse. It looked like this:
You have to untick the sprite's draggable box. This held me up for a while so I'll offer an explanation.

In everyday usage when the pen is down we want to be able to drag the sprite without drawing. That could be inconvenient. When the draggable box is unticked the sprite disappears. You can show it by right click > show on the sprite but can't drag it. When you run the procedure forever [go to mouse pointer] the sprite does show and follows the mouse pointer (not the same as being dragged)

When the pen is down and you run forever [go to mouse pointer]:
  • When draggable box is ticked drawing happens with mouse up but not mouse down.
  • When draggable box is unticked drawing happens with both mouse up and mouse down (the behaviour we want for this program)
Then I wrote a procedure that could play it back. This is the inverse of the earlier procedure, this time converting colour to sound:
Then when I ran my mouse over the image (with mouse down) my inexpert tune played back!

Finally, Jens shows how to save the image so you can try new ones and return to the saved ones later. Click on the Stage and run this code:
You can see the image is saved under the Costumes tab!

Jens goes onto make a piano by whistling the correct notes. But even if you can't whistle well (like me) all you have to do is put blobs of ROYGBIV on the screen to make a piano that might work. Try it and see.

Here is the Snap! Colour your Sound program I ended up with.

When I read up on the earlier work by Jay and Eric (references below) I can envisage lots of new themes emerging from Jen's program. I'll try to get back to this later.

REFERENCE
LENS X BLOCK: World as Construction Kit Jay Silver PhD thesis
Eric Rosenbaum: Designing for Creative Play
Singing-fingers
NB their explanatory notes
Twinkle
colour code
(and there are more Jay Silver videos on the sidebar)

Monday, July 19, 2021

dotted circles revisited

Roughly 18 months ago I did a SNAP! Project (“dotted_circles”) which was inspired by and partially imitated some aspects of Papunya Tula art.

This resembles a small portion of a work by Charlie Wartuma Tjungurrayl, Untitled, 1985, (from p. 2 unique perspectives)

I'm revisiting because I cited this work, with a link, in an article, The Wider Walls, I wrote for a book which will soon be published. But when I revisited the linked to SNAP! page (dotted_circles_6) I discovered some problems.

First, you have to turn on JavaScript extensions

Second, the User Interface (UI) is so poor that I had difficulty myself working out how to draw a reasonable dotted_circles art piece. This is because, in that iteration, I gave the user more control in an attempt to more closely imitate aspects of Papunya Tula art works. The user has to draw the circles one by one changing the settings of radius, colour and any others as they go along.

So, what I've done is a new imitation from the ”Unique Perspectives” art book as an exemplar. By explaining the exemplar, I hope that will help the user figure out how to do a more varied piece of digital art.

I'll explain the code of the exemplar in some detail below.

The latest dotted circle I've done is dotted_circles_7

Partial imitation of an art work by Pinta Pinta Tjapanangka, Untitled, 1998 (p.23 unique perspectives)
  • Go to settings and turn on JavaScript extensions first
  • Press space bar to run the exemplar
I've used the “build your own blocks” feature to break it down into three parts:
Here is the code explained part by part
dark_grey_background
hide the dot (it still draws when hidden and we don't want a black dot when we are finished)
clear the page
set the pen to dark grey
lift the pen (don't want a line drawn yet)
go to the centre
set pen size to 600 (large, to fill the whole screen)
pen down
move 0 (the pen will draw even with move 0)

centre_dot_mustard
set the pen to mustard colour (#56)
dot size 10, lumpiness 2 (lumpy is more realistic)
move 0 (draw the centre dot)

8_lumpy_mustard_circles
set current_radius to 15
set dot_spacing to 10
pen up
set number_dots to dot_number
(dot_number is calculated by 2*pi*R / dot_spacing)
the next repeat draws the circle dots with the intended dot spacing and lumpiness
then increase the radius by 10
repeat a total of 8 times, each time the radius increases and the number of dots increases, while the spacing remains roughly the same (not quite though because of the dot lumpiness)

If you are curious about how the new blocks were made in Snap! then right click > edit on them. You will see, for example, that
dot_number = 2*pi*inner_radius / dot_spacing,
... mmm... inner_radius should have been called current_radius. So the dot_number is worked out for each new circle as the radius expands.

Snap! used to be called Build Your Own Blocks, which is one of its great strengths.

Previous:
unique perspectives:PAPUNYA TULA ARTISTS AND THE ALICE SPRINGS COMMUNITY (2012)
Dotted Circle Samples
Culturally Situated Design Tools: Dotted Circles Exemplar version 2

Sunday, April 18, 2021

the wider walls

In commmemoration of the 50th anniversary of "Twenty Things to do with a Computer" by Seymour Papert and Cynthia Solomon

THE WIDER WALLS

“the room was humming harder
as the ceiling flew away”
- Whiter Shade of Pale by Procol Harem (1967)

Seymour was very good at finding a great pithy expression to describe a learning event. For example, he described the turtle as “an object to think with”. Another such expression is “wide walls”, to express a diversity of doing, but I’m less certain about who coined that one.

I wasn’t aware that the concept of wide walls (as distinct from the expression) was there from the start. I thought there was a transition as the baton passed from Seymour to Mitch Resnick. Not only did the turtle become a cat but, in my mind, the philosophy also changed from “low floor, high ceiling” (Seymour) to “low floor, wide walls” (Mitch).

Being a long way away, in Australia, perhaps I missed some nuance. Maybe someone closer to MIT can fill me in. In reading “Twenty Things ...” I can see the wide walls were there from the beginning: floor turtle, screen turtle, turtle graphics, game making, movies, music, robots, light displays, poetry, physics, curiosity about self, even making fun of Computer Aided Instruction.

Nevertheless, we owe a lot to the Scratch team for continuing to lower the floor (block coding), opening the windows (remix and a web site where it is so easy to share) as well as wider walls (easy to code multimedia and extensions to music, the micro:bit, Makey Makey and others). The user interface, with its colour coding of blocks into categories has always been brilliant.

What attracted me to computers in the first place was Seymour’s book “Mindstorms” with its intention of making maths more accessible to those who struggle with textbook maths or maths in general. Start by drawing a square using your body. Build further from that simple starting point by changing the angles, changing the number of repeats and introduce variables. This approach was both more interesting and could bring maths to more students.

Tinkering: Seymour was also there early on in a collaborative article with Sherry Turkle, “Epistemological Pluralism”. Ostensibly, this was directed at the needs of girls but in reality, it was about those who tinker or the bricoleurs. It’s better to initially allow sloppy code (spaghetti) and for design to iterate through stages. If a teacher insists on getting it perfect from the start then that is a sure way to kill motivation in many students. If only the standards based curriculum designers, remote from the classroom, who separate the what from the how, understood that. This was pointed out by Mitch Resnick in a recent exchange with Mark Guzdial in the comments at Mark’s blog. There are those who understand how the wider walls can work and those who, through not understanding, put up barriers to them working.

In my research, I came across a thesis by Jennifer Cross where she designed a course called Arts & Bots. Taking this cue, I wrote a submission for a new course in my current school and called it Artbotics. Rather than robotics, we can have Artbotics, with the Hummingbird Bit. Let us create a provocative, tangible sculpture and then add robotic actuation and sensing. This reframing of robotics makes a difference. The artbotics word hit a nerve since there is an ongoing desire for school administrations to introduce more creative middle schooling curricula. I see Artbotics as another expression of wider walls, integrating different subjects in the curriculum into a whole which students find more meaningful.

As Seymour pointed out, the computer has a protean nature and can be used as a multimedia hard fun machine. It is also true that the division of Knowledge into different subject domains, although useful in some ways, has always created artificial distinctions too. Maths can be Arty. Art can be Mathy.

Look up Wassily Kandinsky for more like this

In Central Australia, where I live, there is a famous indigenous art movement called Papunya Tula. One of its core motifs is dotted circles. I had a go at simulating parts of that work using SNAP and the local gallery in Alice Springs agreed it was worthwhile. I invite you to see the simulations at my blog, with a link to the SNAP program where you can do your own.

By making art a real part of the plan we soften the traditionally hard cultures of the STEM subjects and broaden the appeal of the whole mix. It has to be real and it can be real because digital by its nature does embrace everything. A program such as Scratch is multimedia with built in icons, backgrounds, sounds, music, speech with all of them editable. The coding is there too, of course, and the purpose of the coding is to bring the multimedia to life.

As well as art, storytelling needs to be in there too. I managed to rewrite all my introductory Scratch projects as short stories rather than lessons in technique, eg weird animals where the dog meows and the cat barks. This serves as a good model for later when I ask students to create their own stories.

One of the best expressions of the wider walls concept is a 2005 article by Mitch Resnick and Brian Silverman about how to evaluate construction kits. We need those design principles now with all the new construction kits (and this also applies to the new microcontrollers and new software) that have come on stream.

A key principle here is that a little bit (of programming) goes a long way. By using the KISS principle, new users will make a fast start and the possibility is there to transition rapidly to projects they really want to do, not just can do.

When it comes to learning principles the value of tinkering and iteration (iterate, iterate, iterate …) as well as curriculum integration also fit under the rubric of wider walls.

You can see the same KISS principle designed into Turtle Art (by Brian Silverman, Paula Bonta and Artemis Papert). Its variety of coding blocks is restricted yet you can make beautiful art readily. See some beautiful Turtle Art here

Here's a sample from my article How to create a great background in Turtle Art:

What I’ve really been looking for is a pithy expression to describe the ongoing evolution of the creative use of computers in education. In reading “Invent to Learn” (thanks to Gary and Sylvia) I was struck by the three game changers assertion, the game changers being coding, physical computing and fab labs. Could there be a pithy expression to describe these?

Possibly “wide walls”, although a good try, lacks a bit of oomph, requires too much explanation and can only be stretched so far. Can we set the world on fire with wider walls? Perhaps. As my students explore more I do feel the room humming harder ... but I am still not satisfied that it is an adequate descriptor.

Jay Silver takes this a step further when he situates his invention, Makey Makey, within a larger context. He designs tools which enable a sensual re-experiencing, a re-seeing, of the everyday world. With Makey Makey you can make an orchestra which is played by pieces of fruit, rather than a keyboard. Digital meets the banana. It began with Seymour’s insight that the turtle could be “an object to think with” and has now further developed, in Jay Silver’s words, into conceiving the whole “world as a construction kit”.

The world as construction kit has a very long history. Indigenous Australians used to live off the land and made all their tools, as well as their food and medicine, directly from nature. When they looked at the natural environment they saw a construction kit.

The part of this argument that I like is that our perception is a variable: we can design new tools, like Makey Makey, which changes the way we perceive the computer / keyboard. Insofar as modern consumerism can kill off self reliant productivity this new way of perceiving is a good thing.

Wouldn’t it be desirable for many more of us to become more maker orientated, particularly if the developments in modern technology lower the entry barriers? From STEM to STEAM then moves on to STEAM for the 99%.

STEAM for the 99% means bringing all of the subjects to a broader audience. This may be achieved through diverse cross curricular subjects which go under names like Artbotics, Digital Wearables, Culturally Situated Design Tools and Unruly Splats.

When the computer is used as a dynamic (programmable) multimedia fun machine it becomes the best tool available for wholesale curriculum integration. In other words it’s time to merge the computer into the world with all its junk. If that isn’t wider walls, then what is it?

REFERENCE
Cross, Jennifer. Creative Robotic Systems for Talent-Based Learning (2017)
Culturally Situated Design Tools
Makey Makey
Papert, Seymour. Mindstorms: Children, Computers and Powerful Ideas (1980)
Papert, Seymour and Solomon, Cynthia. Twenty Things to do with a Computer (1971)
Resnick, Mitchel and Silverman, Brian. Some Reflections on Designing Construction Kits for Kids (2005)
Scratch
Silver, Jay LENS x BLOCK: World as Construction Kit (2014)
SNAP
Stager, Gary and Martinez, Sylvia. Invent to Learn (2nd Edition, 2019)
The goal of a first CS course should be to promote confidence …
(see comments 2, 3, 11, 13, 14, 15 and 16 for discussion between Mitch Resnick and Mark Guzdial)
Turkle, Sherry and Papert, Seymour. Epistemological Pluralism and the Revaluation of the Concrete (1991)
Unruly Splats

Tuesday, January 14, 2020

Dotted Circle samples

For a clearer explanation go to dotted circles revisited.

A good app IMHO. Here are some sample art works I made with my dotted_circles app. The first two are me just playing around but the bottom two are attemps to imitate a portion of aboriginal art from the exhibition book referenced at the end.



This resembles a small portion of a work by Charlie Wartuma Tjungurrayl,titled Untitled, 1985, from p. 2 (reference below)
This resembles a small portion of a work by Johny Yungut Tjupurrula, Untitled, 2011, from p. 63 (reference below)

Go to the Snap! app dotted_circles_6 and do one yourself! [but read the update below first!]

Update July 2021: First up, you have to enable JavaScript extensions. Click on the Settings icon and tick the box. Honestly, I'm not sure why this is necessary. I've looked in the Snap Forum for an explanation. Brian Harvey (bh) insisted here it should not be turned on automatically as a general principle without explaining why.

The User Interface is hard to follow on dotted_circles_6. This is because I gave the user more control in an attempt to more closely imitate aspects of Papunya Tula art works. What I now suggest is go first to dotted circles revisited.

By the way, if you are curious about how the new blocks were made in Snap! then right click > edit on them. You will see that dot_number = 2*pi*inner_radius / dot_spacing, mmm... inner_radius should have been called current_radius. So the dot_number is worked out for each new circle as the radius expands. Snap! used to be called Build Your Own Blocks, which is one of its great strengths.
/Update

Reference:
unique perspectives:PAPUNYA TULA ARTISTS AND THE ALICE SPRINGS COMMUNITY (2012)
(with the last two designs I have attempted to imitate a fraction of the art work on pages 2 and 80)

Issues arising:

My overall goal is not to imitate Papunya Tula art but to find new forms to teach maths and computer coding to indigenous students.

This is an app which builds a bridge between maths and computer code to make art. When introduced to students what will the learning outcomes be? I suspect they will learn something about design but it would take a lot more input from a teacher for the students to learn computing coding and maths from this. Nevertheless, it may motivate them to do so.

The User interface is poor. Since the user has to poke around and find the values to change in the Scripting Area. Important issue but I'm not sure at this stage how to improve it. ie. you can do good art with this app but need patience to master the user interface. Not good since UI is a huge issue.

There is a big story to tell about the Papunya Tula art movement, which I have yet to tell, although others have.

The learning theory was discussed in an earlier article: Culturally Situated Design Tools: Dotted Circles Exemplar version 2. In two phrases (1) performance above representation (2) ascend to the concrete.

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.

PERFORMANCE TAKES PRECEDENCE OVER REPRESENTATION

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.

THEORETICAL REFERENCES

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:
MOTION TYPE (blue)
circle_centre
move_fuzzy_radius
return_to_centre

LOOKS TYPE (purple)
background_colour
set_dot_colour
stamp_lumpy_dot

OPERATORS (green)
pi
increment
dot_number

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.