Teaching computational thinking

Steve Easterbrooke recently posted a nice argument for teaching more than “computational thinking” [blog post | paper]. This is a contribution to a conference on ICT and transformational change. In the paper he makes an argument for teaching more systems thinking.

Massive thanks to Steve for sharing his work and ideas. The paper got me thinking.

I really like the idea of systems, the idea of feedback loops, small things becoming significant, large things diminishing, whole systems of complex interaction being awesomely wicked to understand, predict, intervene in or control. And we are often a part of the system we talk about (even though we might pretend to be objective).

[for some reason I never hit publish at the time – recently was a while ago now!]





How to sabotage training

There was a WWII Simple sabotage field manual, which was released in the 1940’s. It describes how workers and managers can subtly but effectively disrupt organisational performance as an act of . Much of the document concentrates on factory operations. Here are the sections that cover office work – many of which are alarmingly familiar!  [Hat Tip to Duncan Green @fptp for the link].

Many of us working in international education programs will recognise some of these behaviours – and it is instructive to see how many of these are rooted in sensible ideas that actually help us function. Ideas that we can (out of awareness?) start to sabotage our work with.

(a) Organizations and Conferences

  1. Insist on doing everything through “channels.” Never permit short-cuts to be taken in order to expedite decisions.
  2. Make “speeches,” Talk as frequently as possible and at great length., Illustrate your. “points” by long anecdotes and accounts of personal experiences. Never hesitate to make a few appropriate patriotic comments,
  3. When possible, refer all matters to committees, for “further study and consideration.” Attempt to make the committees as large as possible – never less than five.
  4. Bring up irrelevant issues as frequently as possible.
  5. Haggle over precise wordings of communications, minutes, resolutions.
  6. Refer back to matters decided upon at the last meeting and attempt to re-open the question of the advisability of that decision, Advocate caution.
  7. Be “unreasonable” and urge your fellow-conferees to be “reasonable” and avoid haste which might result in embarrassments or difficulties later on.
  8. Be worried about the propriety can any decision – raise the question of whether such action as is contemplated is within the jurisdiction of the group or ‘whether it might conflict with the policy of some higher echelon.

b) Managers and Supervisors

  1. Demand written orders.
  2. Misunderstand” orders. Ask endless questions or engage in long correspondence about such orders. Quibble over them when you can.
  3. Do everything possible to delay -the delivery of orders. Even though parts of an order may be ready beforehand, don’t deliver it until it is completely ready.
  4. Don’t order new working’ materials.. until your current stocks have been virtually exhausted, so that .the slightest delay in filling your order will mean a shutdown.
  5. Order high-quality materials which are hard to get. If you don’t get them argue about it. Warn that inferior materials will mean inferior work.
  6. In making work assignments, always , sign out the unimportant jobs first. See that the important jobs are assigned to inefficient workers of poor machines.
  7. Insist on perfect work in relatively unimportant products; send back for refinishing those which have the least fiaw. Approve other defective parts whose flaws are not visible to the naked eye.
  8. Make mistakes in routing so that parts and materials will be sent to the wrong place in the plant.
  9. When training new workers, give incomplete or misleading instructions.
  10. To lower morale and with it, production, be pleasant to inefficient workers; give them undeserved promotions. Discriminate against efficient workers; complain unjustly about their work.
  11. Hold conferences when there is more, critical work to be done.
  12. Multiply paper work in plausible ways. Start duplicate files.
  13. Multiply the procedures and clearances involved in issuing instructions, pay checks, and so on. See that three people have to approve everything where one would do.
  14. Apply all regulations to the last letter.

Plotting: McIDAS and sort of natural colour images

I use a range of RGB products – most of these are pretty standard  in the meteorology with satellite community.  The information in red / green and blue is chosen to maximise the geophysical information avaliable.

But sometimes what we want is a nice image that looks similar to what a human eye might see from space. On most meteorological satellites we don’t have red, green and blue. The most common combination I use is red = 1.6 micron, green = 0.8 micron and blue = 0.6 micron. Which gives brownish desserts, dark seas, green vegetation, white low clouds and cyan ice clouds.

Simon Proud @simon_rp84  suggests  using: red =0.6 micron x 2.2 + 0.8 micron x 2.5 + 1.6 micron x 1.3,  green =0.8 micron and , blue = 0.6 micron.  This gives whiter shades for clouds. Like this:


In McIdas other RGBs can be made. Here is how I implemented Simon’s recipe.  Here is my Jython code (Tools -> Formulas – Jython library – add to local library). Here is the jython:

# Simon's more natural colour RGB
# Natural colours, linear enhancement btw minrefl-maxrefllower-upper limit
# units: % Refl
# minrefl	lower limit of reflectivity range
# maxrefl	upper limit of reflectivity range
def SP_NCOL_RGB(ch06,ch08,ch16):
 red = rescale((ch06*2.2)+(ch08*2.5)+(ch16*1.3),min,max1,0,255)
 grn = rescale(ch08,min,max2,0,255)
 blu = rescale(ch06,min,max3,0,255)
 return combineRGB(red,grn,blu)

Note that spaces matter to python


and corresponding formula (add as a formula)


I have the formula set to only display an RGB composite.


Thanks Simon for the recipe.


Plotting: McIDAS V and AVHRR


Get the data

I have two ways to get AVHRR data (that I use). For archive I use NOAA CLASS archive http://www.class.ncdc.noaa.gov/ and order the FRAC 1 km data. CLASS has Metop and NOAA AVHRR imagery. FRAC = Full resolution area coverage. Within CLASS you can search for a geographical area and a specific range of time.

In house we have access to an ADDE server with the FRAC data and Lat/Long navigation for the last 5 days – which is a very nice thing to have.

I have not been able to plot the EUMETCast delivered data directly. It is in channel EPS-10.

The class data is in the NOAA AVHRR level 1.5 format. To make this available to McIDAS-V you will need to set up a local ADDE server.  Tools -> manage ADDE datasets ->  Local Data tab. Set the format to NOAA AVHRR Level 1.5.

Plot the data

For RGB images I use the formula -> create 3 colour image (auto scale)  with  1.6 micron on red, 0.8 micron on green and 0.6 micron in blue. (This is the natural colour RGB recommendation) ice clouds show up in cyan.  The example below is from 2014-07- 09 0930Z (Metop-A).

Europe example - 2014-07-09 0930Z

For single channel IR I use this colour table. (import the xml from the colour table screen) with a range of 190 K to 330 K.

Meteorological Education through tweets (?)

I tried an experiment recently to inform people about a specific form of satellite data that can be useful for weather forecasters. This was an unstructured (off the cuff) experiment using a series of tweets. It was inspired by a question a twitter connection asked in an email.

Some numbers:
8 tweets with 4 images
plus 2 replies to a question
with on average 1 favourite each.
1 image was retweeted twice.
I ended following this up with a blog post here on how i plot these data. One person commented that this was helpful.

I used the tag #ASCAT for these tweets. I often share images with this data and use this tag following the pattern of the US Ocean Prediction Center @NWSOPC.

So what do I think about this?

In my regular tweets with this data the main event will be the weather – the data are the tool to tell the weather story. The teaching tweets were providing information about the data. I wonder if people are more naturally interested in the case rather than the theory behind the data.

The stream of tweets makes sense when seen together but they are helped with context.

OPC in their tweets often include something interesting – using an annotated image instead of a tweet text. I like this approach as the information is then contextualised rather than left hanging in a single tweet in a time line.  Those tweets without images risk being distributed in various places in a timeline.

Using the blog post to provide clarity was a nice was supplement to the tweets

I asked some people I follow about how useful twitter is in learning. The responses we all positive (unsurprising coming from existing twitter users).

DEFINITELY! Only complain: 140 char! But otherwise, great to interact with willing and like minded people!

I educated on tephis from across Twitter 🙂 Its the way to go 🙂

Definitely useful. Easy access, sharing content, engages everyone, quickly informative.

V.Useful for getting other perspectives on events/data. Also for discussing /w others

Its a powerful tool raising awareness and knowledge/content-exchange. Rcmnd 4 PROF METS.

Interesting. Also trains sender to be concise. Maybe tumblr offers even more scope?

Thank you to  @PeterG_Weather  

So more experiments then!