Wednesday, July 17, 2019

my evolving mangle -> ethnocomputing

Harel and Papert (1) argue that some materials are better with regard to the following criteria:
  • appropriability (some things lend themselves better than others to being made one's own)
  • evocativeness (some materials are more apt than others to precipitate personal thought)
  • integration (some materials are better carriers of multiple meaning and multiple concepts)

For many years, I've been working in, struggling with, three (at least) different domains. As a first approximation let's call them social justice, learning theory and computing.

All of them evolve, both in reality and my understanding of them. In this particular iteration I'll change the names significantly to indigenous culture, powerful ideas and tangible hardware / constructionist software. This matches my present context (Alice Spring / indigenous learners) and goals (to help facilitate their learning).

What is the mangle? This comes from a Ron Eglash et al article (2), which in turn comes from a 1995 book by Andrew Pickering (3). The idea is that science is neither a transparent window into truth nor a relative truth. It is somewhere in between. Culture, nature and technology combine in a never ending spiral to produce science. At every point there is resistance. Something doesn't work, tweak it to make things fit better. We tweak our cultures, we tweak our theories and we tweak our technologies to overcome the resistance.

So this is a brief overview of where I am at, how I got there and where it is heading.

Indigenous culture: Parts of indigenous culture (eg. dot paintings) can be represented with algorithms. Contemporary indigenous art is not the same as traditional art. It has evolved (4). Indigenous students are often more engaged when offered the opportunity to represent their culture using the computer (5). These themes can be deep, not dressing up the dog / trivial.

Powerful ideas: This was central to Seymour Papert's initiative (6). That maths could be restructured in both a powerful and engaging way and hence made more accessible to those who had missed out. This does require some considerable, thoughtful input from the teacher in designing a learning environment that works. Examples: Turtle Geometry as designed by Seymour and allies (7); Idit Harel's Instructional Software Design Project (8)

How has this evolved? As it turns out some of Seymour's claims, eg. transfer to other learning domains, were exaggerated.(9) Nevertheless, within more limited domains the ideas remain powerful. And in broader domains you can do a lot with a little. (10)

This requires a lot of work to sort through but I feel some authors and curriculum writers have come close. (11, 12)

Tangible hardware / constructionist software: The hardware has become smaller and more interesting (eg. the micro:bit, the Hummingbird:bit are two favourites amongst many to choose from) and spawned a new movement: The Maker Movement. The software has become more user friendly (block coding) and diverse. I think Sylvia Martinez and Gary Stager are on the right track when they identify three game changers: Fabrication, Physical Computing and Coding (13)

The evolution in the hardware/software area has been phenomenal.

PUTTING IT ALL TOGETHER

I've only recently discovered "Culturally Situated Design Tools" which do offer at least in part a way to make the transition. Ron Eglash is probably the key person here. He goes back a long way and I'm a little bewildered and sad that I didn't discover him earlier. So, it fits well too with the laws of ignorance, we don't know what we don't know (but someone out there might know).

TED talk: The fractals at the heart of African Designs
Legacy items: Teaching math and computing through culture

This approach could be adapted effectively to indigenous ed here in Australia. I've recently used Turtle Art to emulate a NAIDOC poster (here) and listed the skills and dispositions required / learnt.

It needs a lot more work. But it is a very rich area where three different forces are both evolving and intersecting: indigenous culture + STEAM + computer science as a discipline. I think it's doable, each of the 3 big areas enriches and feeds off the others.

REFERENCE:

(1) Harel, I. & Papert, S. (1990) Software Design as a Learning Environment. Interactive Learning Environment, 1, 1-32
(2) Eglash et al. Culturally Situated Design Tools: Ethnocomputing from Field Site to Classroom (2006)
(3) Pickering, Andrew (1995) The Mangle of Practice: Time, Agency and Science
(4) McLean, Ian (Editor). How Aborigines invented the idea of contemporary art (2011)
(5) Indigenous icons activity
(7) Kerr, Bill. Papert's Ideas: Mainly from Mindstorms (1991)
(8) Kerr, Bill. Educational Software: Designed by Kids for Kids (1994)
(9) Tedre, Matti and Denning, Peter. The Long Quest for Computational Thinking (2016)
(10) How to evaluate construction kits: ten design principles
(11) Kafai, Yasmin and Burke, Quinn. Connected Code: Why Children Need to Learn Programming (2016)
(12) Karen Brennan, Laura Peters, and Alexa Kutler. Creative Computing Curriculum Guide (Scratch 3.0)
(13) Martinez, Sylvia and Stager, Gary. Invent to Learn: Making, Tinkering and Engineering in the Classroom (2nd Edition, 2019)

Friday, July 12, 2019

skills and dispositions utilised in simulating a NAIDOC poster using Turtle Art

After attending a NAIDOC event at Araleun Arts Centre I changed the poster I was simulating since I thought I could (eventually) transform all the features to one computer screen. I haven't achieved that yet.

In this blog I want to list the skills and dispositions which I have needed to call upon to do the simulation. This is necessary to do a mapping onto existing curriculum guidelines which in turn is necessary to "sell" the approach to schools that are meant to be guided or bound by particular curriculum guidelines.

I haven't done a rigorous mapping yet. That would require more work since the approach I am advocating here integrates indigenous culture with art with computing (Design Technology) and maths.

Here is the NAIDOC poster, Celebrating NAIDOC Week:

Here is a snapshot of where I have got up to so far with Turtle Art:

I'm not attempting to explain here step by step how I did it. This blog is a listing of the skills and dispositions I think I utilised as I made the simulation. It's only a draft. To do this properly would require a team of people with expert knowledge in those four domains: Indigenous culture, Art, Design Technology and Maths

CULTURAL KNOWLEDGE
Circles and dots are part of aboriginal art. This is fairly obvious as is my ignorance of the significance of this for the culture. Ignorance which I need to rectify.

DESIGN and ART KNOWLEDGE
Define the problem: what is my goal here? A digital simulation which employs turtle geometry
Planning a solution or multiple solutions
Breaking the pattern into a series of circles or arcs of circles
Notice the variation in dot size, shape and spacing as well as colour (now implemented)
Draw some scaffolding lines to help organise positions (centre dot, outer circle)

MATHS KNOWLEDGE OF CIRCLES
360 degrees in a circle
an arc is part of a circle
angle estimation of arcs b/w 0 and 360
Factors of 36 (18*2, 9*4, 12*3) needed for writing procedures in Turtle Art,
eg. repeat 9[fd bk stuff, then right turn 40] will do one turtle trip around the circle, since 9*40=360

OTHER MATHS
Multiplication (9 times tables, 90 times tables)
Subtraction, eg. if the start of the arc is at -20 and the end of the arc is at -190 then how many degrees is the arc? Answer 170
Division (see below)

TURTLE ART PROGRAM FEATURES
pen down for when you want to draw
pen up for when you want to reposition the turtle
sequencing, do the background before the circles
How to draw a circle with the turtle returning to the centre (iteration or repeating)
How to draw a dot and vary it’s size, colour and shade
How to make the dots slightly lumpy (requires some randomisation and a variable to store the heading)
Cartesian co-ordinates xcor, ycor
Print feature to obtain xcor, ycor and heading when required
Positioning the turtle, eg. at the next circle centre
Heading of turtle (required for initial arc positioning)
Screen size x +- 340, y +- 265
Color codes ROYGBIV 0-100
Shade codes darkest 0, lightest 100
Naming procedures, using helpful or meaningful names systematically

COMBINING KNOWLEDGE
Division estimation to determine dot spacing in an arc

eg 1. 6 dots in an arc of 90 degrees
Angle to turn = 90/6 = 15
Procedure: repeat 6 [ forward backward stuff then right 15]

eg 2) 8 dots in an arc of 170 degrees
Angle to turn = 170/8 = 21
Procedure: repeat 8 [ forward backward stuff then right 21]

Guess and test (tweaking): estimate, try it out, modify, test again (iterate, iterate, iterate)
Recording tweaks for efficient comparison, eg. to work out x and y coordinates for circle centre
Solution evaluation eg. the dots lack variation, how can I vary them more? (now implemented, they are slightly lumpy)

DISPOSITIONS
Try / fail / try again
Persistence, Flexibility, Tolerance of error / debugging

REFERENCE:
Turtle Art program

Turtle, Art, Turtle Art by Paula Bonta, Artemis Papert and Brian Silverman (2010)

Turtle Art Software by Gary Stager
This article contains a link to Gary's Turtle Art cards which I found extremely useful.

Monday, July 08, 2019

second iteration of a NAIDOC week poster using Turtle Art

Here is the poster again, or rather part of it:


This time I want to add the pale dots in the background. But how do I do that without them intruding into the centre? It's a matter of sequence. First do the dark blue background. Then do the pale dots all over. Finally, redo a dark blue, filled circle in the centre to overlay the pale dots there.

Here's the procedure for doing the background and pale dots all over:
Dark blue color = 70
Pale dots color = 40

Screen dimension are from  -340 x to +340, from -265 y to +265. I used random to position 100 dots anywhere within those parameters.

pendown (pd) then forward 0 makes the dots

Here's the procedure for filling in the centre with dark blue again over the top of the dots there:

Put the turtle in the centre, set the color and shade, put the pen down (pd) and rotate around 360 degrees drawing the dark blue lines. The pensize was set to 6 earlier.



Here's the final effect, also showing the tops of the procedures which draw the whole thing:

first iteration of a NAIDOC week poster using Turtle Art

POSTER IMAGE
This is a first iteration. Yes, it could be improved. I'm only showing part of the poster and only attempting to make a part of it digitally using Turtle Art:

Turtle Art image:

BREAKING IT DOWN
To draw a single dot:
The turtle begins in the centre
penup
forward 100
pendown
set color 0 (0 = red)
set pensize 8 (determined by testing different numbers)
forward 0 (this is how to draw a dot)
penup
back 100 (return the turtle to the centre)

To draw a circle of dots:
repeat 360 [single dot then right 1]
But then the dots are too close together, so increase right 1 to right 2 or 4 or 9 (factors of 36)
repeat 40 [single dot right 9]
9*40 = 360 (the turtle makes one complete trip around the circle)

The next diagram just shows the code to do the background and a circle of red dots:

Next step
To draw a slightly bigger circle of orange dots
Duplicate the red circle code
Increase forward 100 to forward 110 and increase back 100 to back 110
Change set color 0 (red) to set color 10 (orange)
The next diagram shows the code for doing the orange circle:

Next: complete the cyan and blue dot circles
Duplicate the code again
Just increase the circle size and change the colours (cyan = 50, light blue = 60)
See the picture at the start

Sunday, July 07, 2019

how to evaluate construction kits: ten design principles

update (July 8): The reason this article resonates so strongly with me is that nearly everything it says also relates to how to teach a good lesson, how to design a great curriculum and how to critique wooden curriculum guidelines such as ACARA's Digital Technology.

I think teachers need a guide to evaluate the enormous array of construction kits that have come on stream: Makey Makey, Arduino, Little Bits, Ozobot, Micro:bit, Chibi Chip, Circuit Playground Express, Lilypad, Bee-Bot, Dash and Dot, Sphero, Edison, Drones – add or choose your favourite

Some Reflections on Designing Construction Kits for Kids by Mitch Resnick and Brian Silverman (2005)

This is a 2005 article. In some respects the technologies have moved on. But it remains an elegant guide as to how to both choose and use technology construction kits for learning powerful ideas. I’ve thrown a few of my thoughts into this summary.

1. Design for Designers

Some kits are too finished and polished. With the best kits, the user can design a wide variety of interesting things, it is not finished or limited to a narrow range of functions.

2. Low Floor and Wide Walls

Seymour Papert put forward the slogan “low floor, high ceiling”. The truth is that with Scratch, under the leadership of Mitch Resnick, wide walls were given preference to the high ceiling. There are some things you can’t do with Scratch, that you could do with other, earlier versions of logo. This has provoked criticism (eg. I believe from Alan Kay commenting on Mark Guzdial's blog but I can't find the link right now) as well as other designs to put the high ceiling back (eg. SNAP by Jens Monig and Brian Harvey, watch this video).

Initially, my position was that I wanted it all: the low floor, the high ceiling and the wide walls. But the truth is that Scratch has scaled dramatically (40 million projects on the Scratch website in 2018) whereas other more powerful versions of logo or etoys haven’t. There are a number of reasons for this but its relative simplicity is one of them.

Since I’m now focused on inclusion for all, STEAM for the 99%, I can appreciate more Mitch Resnick’s argument that too many high level features create hurdles that discourage many users.

3. Make powerful ideas salient – not forced
“We have found that trying to teach powerful ideas directly is not very effective. Rather, our strategy is to provide opportunities for kids to encounter and use powerful ideas as a natural part of design experiences.”
This is a huge issue which I won’t try to cover in a shortish blog post. What are powerful ideas and how are they best taught? I think the approach advocated here by Mitch and Brian is one very good way to introduce kids to powerful ideas. I also think that they do have to be taught, even though that is hard, because by their nature they are not easily learnt.

Ask me for articles about this if interested, they were previously at Learning Evolves but this shut down when wikispaces was abandoned, unfortunately.

4. Support many paths, many styles

The authors here relate a story where one group uses the full features of LEGO-logo (their style is described as “patterners” or “hards”) while another group initially doesn’t (their style is described as “dramatists” or “softs”). The patterners were more comfortable doing the coding. The authors took a hands off, non interventionist approach.
“We worried that the students would miss out on some of the powerful ideas underlying the LEGO/Logo activity. But we didn’t interfere”
The way they tell it, it has a happy ending. The dramatists do end up coding their ferris wheel. But what would the authors have done if that group had continued to avoid the coding?

5. Make it as simple as possible – and maybe even simpler
“One reason (PROBLEM) is “creeping featurism”: advances in technology make it possible to add new features, so each new generation of products has more and more features.”
YES!! Personally, I find creeping featurism incredibly frustrating. It often gets in the way of me doing the task I want to do on the computer, not to mention cursing.


“We have found that reducing the number of features often improves the user experience. What initially seems like a constraint or limitation can, in fact, foster new forms of creativity.”
They then describe two of their designs, the first is a programmable brick with 4 motors and 6 sensors which is the size of a kid’s juice box.The second is a cricket with 2 motors and 2 sensors which is the size of a matchbox.

The simpler Cricket proved to be more popular!
“But once we had developed the scaled-down version, which we called a Cricket, people kept finding more and more creative applications for it, in spite of (or perhaps because of?) its apparent limitations. Over time, we shifted our research effort, making the Cricket the centerpiece of our new construction kits”
Once again the KISS principle wins. This echoes the point above about wide walls displacing the high ceiling.

6. Choose black boxes carefully

Black boxes are chosen to facilitate certain types of learning and to hide other types of learning. Three examples are given:
  • building robots – facilitates the learning of gearing, feedback and control (and hides the learning of how motors work)
  • turtle geometry – facilitates the learning of the geometry of polygons (and hides the learning of how forward requires trigonometry to implement)
  • colour of LEDs – make colour as simply as possible (map it to 0-100) so as to integrate it with other things such as temperature.
7. A little bit of programming goes a long way

KISS works for the 99%
“We continue to believe in the value of everyone learning to program, but we are also well aware of the difficulties of learning to program. Many beginning programmers hit a plateau, able to write simple programs, but unable to go further. We have found that it is difficult to help kids get beyond this plateau. But, over the years, we have begun to realize that being “stuck” on the plateau is not such a big problem: kids can learn a great deal, and benefit a great deal, while they are on the plateau. We have shifted our efforts, trying to leverage what kids can do well, rather than focusing on what they can’t. Kids generally have little difficulty learning to use imperative (action-oriented) commands (like forward and on), simple control structures (like repeat), basic conditionals, and simple procedural abstraction. So we have been developing programming languages and contexts that enable kids to do a lot with those basic elements….

Our new Scratch programming language has similar qualities, enabling kids to manipulate rich media (sounds, music, animations) with simple combinations of commands.”
Once again, they are explaining an important reason for the success of Scratch. If as teachers we become too anxious about forcing higher level thinking then that often backfires and turns kids off coding.

We still want to teach higher level thinking. The challenge is how to develop environments which facilitate internal development of its need, rather than external forcing.

In practice schools just put it into the curriculum (ACARA) and it becomes a sink or swim exercise.

8. Give people what they want – not what they ask for
“Rather than asking users what they want, we have found it more productive to observe users interacting with our prototypes, and try to infer what they want (and don’t want) from their actions. Often, their actions speak louder than their words. It is usually easy to see when users get frustrated, even if they don’t articulate their frustration.”
I see this as a sophisticated and enlightened form of leadership which transcends both a top down preordained blue print approach and a bottom up populist approach. The teacher / designer / leader does know more about the educational goals which are desirable to be achieved. But they do have to pay close attention to both the abilities and desires of their students and factor that into their decision making of what to do next and how to achieve those broader goals in an interesting rather than formalistic manner. This makes teaching an interactive art form.

9. Invent things that you would want to use yourself

I’ve previously called this the “eat your own dog food” approach, a slogan which developed out of the open source movement.
“We aim to build not only new technologies, but also communities of people who can help kids learn with those new technologies. And we have found that it is easiest to build those communities if everyone involved (adults as well as kids) enjoy using the technologies.”
The technologies which I am currently promoting (eg. Scratch3.0, the micro:bit, the Hummingbird:bit, Turtle Art, Makey Makey, App Inventor) are ones that I do enjoy using myself. In the past when I promoted Game Maker I did build games myself with it and used them as part of my teaching.

10. Iterate, iterate - then iterate again

Curriculum guidelines such as ACARA Design Technology put too much emphasis on getting the planning right first before making a product. As the authors argue here it is better to have an idea, build a quick and dirty prototype and then continue to iterate.
“… we put a high priority on “tinkerability” – we want to encourage kids to mess with the materials, to try out multiple alternatives, to shift directions in the middle of the process, to take things apart and create new versions. Kids learn new lessons with each iteration. ...

In developing new technologies, we have found that we never get things quite right on the first try. We are constantly critiquing, adjusting, modifying, revising. The ability to develop rapid prototypes is critically important in this process. We find that storyboards are not enough; we want functioning prototypes. Initial prototypes don’t need to work perfectly, just well enough for us (and our users) to play with, to experiment with, to talk about….

We find that our best conversations (and our best ideas) happen when we start to play with new prototypes – and observe users playing with the prototypes. Almost as soon as we start to play with (and talk about) one prototype, we start to think about building the next….

This process requires both the right tools (to support rapid development of new prototypes) and the right mindset (to be willing to throw out a prototype soon after creating it). Too often, the software-development community seems to follow a paradigm of: plan ahead, design carefully, then implement once ….

We much prefer the paradigm proposed by our colleague John Maeda: imagine, realize, critique, reflect, iterate”

Friday, July 05, 2019

would you like to see a toilet roll dance?



Making the jitterbug with the Hummingbird Bit was another fun project: challenging, quirky, achievable, with an engaging final product.

I do believe that the Hummingbird Bit creates the possibility of STEAM for the 99%

All I needed was a toilet roll, pipe cleaner, cardboard, Stanley knife and an eyelet punch. Everything else was supplied by the Hummingbird Bit Premium Kit: two position servos, 2 mono colour LEDS, one tri colour LED, one light sensor.

Instructions

One tricky bit was figuring out how the position servos were lined up and how to co-ordinate them. Since they go into opposite sides of the tube with rotors on the outside then the front position for one is at 180 degrees and the front position for the other is at 0 degrees.

This didn’t become clear to me until I wrote some code finding the initial positions with an A button press for one foot and a B button press for the other foot.
After that it wasn’t hard to get the feet moving. I used random over a range of 40 degrees to make the dance more unpredictable.

Coding the LEDs was straightforward. The tri colour LED, wrapped in a pipe cleaner, was for the antenna.

Finally, I added the light sensor to trigger the dance once the light faded. Here is the code which is triggered by placing your thumb over the light sensor:
Related: bee waggle project with the Hummingbird Bit

Afterword:
After finishing this project I left it set up and did other things. Later that day, hours later, as the light was fading I suddenly heard a noise and sensed some lights flashing. The jitterbug had begun to dance again as the light faded!

Thursday, July 04, 2019

David Smerdon

I wanted to register my support and appreciation to Australian Chess Grandmaster David Smerdon for two great articles about his visit to Kenya to research Female Genital Mutilation (FGM). Actually, the second article is mainly about chess since he became caught up in the chess enthusiasm there, partly fueled by mini chess being used in the education system. The first article does outline the living conditions in Kenya in some detail.

Read David's articles here:
Kenya, Part 1
Kenya, Part 2

Wednesday, July 03, 2019

bee waggle project with the Hummingbird Bit

I conclude here that this is a better and less expensive pathway for soft technological artistry than LEGO Mindstorms



This is my first Hummingbird Bit project. It was a fun project. The Hummingbird Bit has an outstanding design.



I had to explore the input and output features of the Hummingbird Bit. The important ones for this project were the position and rotation servo outputs.



Then I had to buy the materials and build the bee. Finally, I had to code the bee to point and waggle.



I've also done an evaluation of how it maps onto the ACARA Digital Technology curriculum and how that process could be made more interesting.

BUILDING THE BEE

The lesson plan provided by BirdBrain suggests that the teacher builds a sample bee beforehand and shows it at the right strategic moment to help the students get on with it. The main challenge in the lesson in the BirdBrain design (where less help is provided) comes in the coding section.



Issues: Hummingbird projects employ craft materials and so end up more diverse and less "blocky" than your typical LEGO projects. Lets call that soft technological artistry, aka STEAM rather than STEM.

CODING THE BEE

If you look at the Attenborough video you see the bee attracts an audience, points, waggles, walks around clockwise, waggles again, then walks around anti-clockwise waggles again etc.

So, initially I opted for the rotation servo because it can move through the full 360 degrees whereas the position servo can only move through 180 degrees.

This, however, was not the best move because of some quirks in transferring code (which makes logical sense or at least I think so) into the physical world. There is a problem here I haven't solved yet but won't go into details because it would take up too much space. Is there a Help Group for such problems, I'll look later.

So, in the end I opted for the position servo despite it's limited functionality in only being able to rotate 180 degrees. The bee turns out to be a smarter coder than me!



ACARA CARDBOARD

Can't help it. From the year 7-8 Design Tech curriculum here are some of the objectives which are covered or could be covered depending partly on how this project is organised in the classroom:
  • Define and decompose real-world problems taking into account functional requirements and economic, environmental, social, technical and usability constraints (ACTDIP027)
  • Design the user experience of a digital system, generating, evaluating and communicating alternative designs (ACTDIP028)
  • Design algorithms represented diagrammatically and in English, and trace algorithms to predict output for a given input and to identify errors (ACTDIP029)
  • Implement and modify programs with user interfaces involving branching, iteration and functions in a general-purpose programming language (ACTDIP030)
  • Evaluate how student solutions and existing information systems meet needs, are innovative, and take account of future risks and sustainability (ACTDIP031)
  • Plan and manage projects that create and communicate ideas and information collaboratively online, taking safety and social contexts into account (ACTDIP032)
I think an interesting way to manage ACARA guidelines would be through Talent Identification as outlined by Jennifer Cross in her PhD. I need to do some more work on that, too. In the process of completing this project I had to exercise
  • Improvisation skills in building the bee (the foam shapes I bought weren't all the right size so I returned to Mad Harry's to buy a pom pom for the bee's head)
  • Planning skills both with regard to buying materials and algorithmic planning for the code
  • Decomposition aka breaking the code into smaller bits, ie. doing the rotation through 180 degrees and the waggle sequence separately and then putting them back together
  • Pattern recognition, there is iteration (repeats) in the code for both the bee waggling and the bee rotating
  • Constraints with regard to choosing either the rotation or position servo and problems I had with the rotation servo
  • Persistence, in particular, in attempting to resolve problems with the rotation servo
In conclusion, I think a strong case can be argued for the Hummingbird Bit as a better pathway for soft technological artistry as well as less expensive when compared with LEGO Mindstorms.

REFERENCE

Introductory video showing the capabilities of the Hummingbird Bit

Program, Build, Teach and Resources for Hummingbird Bit and MakeCode

Bee Waggle video and link to lesson plans

in what mode does the bee code?

Bees are smart coders, developed through a painstaking evolutionary process. Bees have been around for 120 million years.

We humans study bees, can learn from them and model their behaviour. Humans (Homo sapiens) have been around for 200,000 - 300,000 years.

In this blog I'll just show the bees behaviour and my emulation of it. In the next blog I'll go into educational detail. I should acknowledge BirdBrain Technologies for their assistance.

Attenborough explains the bee's waggle dance. To watch in YouTube go here



Here's the simulation I did to partly imitate the clever bee: