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