Primary Level children, programming and conceptual difficulties.

Richmond richmondmathewson at gmail.com
Fri Sep 24 14:03:52 EDT 2010


  <snip>
> That's gold Richmond. I'm going to try it with my 7 year old.
>
> Cheers
>
> --
> Monte Goulding
<snip>

Piaget and Co. developed a model of psychological development where the 
last step
was from the 'concrete' into the 'post-concrete' (and before you all 
crack jokes about
"concrete posts"; been there, done that); where this represented the 
ability to think
abstractly.

Schools (particularly here in Bulgaria) are notoriously bad at 
stimulating that developmental
leap . . .

To be a semi-decent programmer (as well as being a semi-decent anything 
else) one has to
make that conceptual leap.

Children can make that leap relatively young, although in a restricted 
sense.

--------------------------------------------------------------------------------------------------------------

Many long years ago I had a Maths teacher who started rambling on about 
'containers' for
variables, and then started writing MiniFortran code all over the 
blackboard - but as I was
13 I was perfectly capable of making the conceptual leap in a way that a 
7-10 year is not.

I have, however, met many people my age (48) who are still unable to 
make those sort
of conceptual leaps; this is not due to some sort of "innate stupidity", 
but due to what we could
term "learnt stupidity" owing to the absolutely stultifying effects of 
bad education and
fact-hammering.

---------------------------------------------------------------------------------------------------------------

However, as my Granny in Dundee used to say; "A picture is worth a 
thousand words."

And it is . . .

So it is not a bad idea to have a lot of teacups, plastic plates, or 
what-have you arranged on a
table to represent 'containers'; in fact, if one wants to be a bit 
clever one can have teacups of
various colours as different types of containers (think vars and strings).

Now a big box of buttons / beads / beans is also not a bad idea.

Now create a "visual computer program" on the table.

--------------------------------------------------------------------------------------------------------------

Now to what sets RunRev - whoops - LiveCode apart from Fortran, BASIC, 
C++ and so on is
that one can, at least initially, have VISIBLE "teacups" - i.e. Fields 
on a stack - that the child
can see; so the conceptual leap is not:

 From the completely concrete (teacups and beans) to the completely 
abstract (invisible
variables with daft names like 'VAR99').

But:

 From the completely concrete (teacups and beans) to visual 
representations of the same on a
computer's GUI.

Once a child has performed the mental leap from real cups to virtual 
cups it is a relatively painless
process to move from visible virtual cups (fields) to invisible virtual 
cups; - this is also a process
that is not strictly necessary at an early stage.

-----------------------------------------------------------------------------------------------------------------

This is also why RunRev/LiveCode is better than those "programming" 
thingies that seem to
consist of virtual LEGO blocks one drags around the screen.

While that sort of thing means children can get instant results it does 
not actually teach them
the concepts that are the necessary underpinnings of any type of 
programming.

------------------------------------------------------------------------------------------------------------------

The next step is "the invisible contents" cup; where the child is shown 
a cup but not allowed
to view its contents (a plastic sippy cup is really good for this) - 
tell them it can contain either
0, 1 or 2 beans; but nobody knows which . . .

Then show them a teddy bear (Huh?) and tell them the teddy bear can have 
as many chocolates
out of the box 'BOX' as there are beans in the covered cup.

If fld "CoveredCup" = 0
    then
    --- poor old bear ----
   else
    put fld "CoveredCup" into fld "Chocs"
end if

---------------------------------------------------------------------------------------------------------------------

I managed to pull the trick with the covered cup and the teddy bear on 
my younger boy when
he was 4; and get him to explain the basic truth condition of the 
situation; however he did
not have the motor control nor the ability to write to be able to put it 
into code at that stage . . .  :)

---------------------------------------------------------------------------------------------------------------------

What many of you may have forgotten is the process of how you learnt to 
reason abstractly, if,
indeed, you ever bothered to reflect or analyse it.

To teach children one first has to begin to think like a child, and then 
work out how you can
get the child to make the next step.

Far too many teachers are worried about extremely complicated things; 
were they to concentrate
on the simple psychological building blocks and impart those to 
children, the children are, by-and-large,
perfectly capable of doing most of the complicated things themselves.

sincerely, Richmond Mathewson.



More information about the Use-livecode mailing list