[Edu-sig] More on age

Gordon Worley orla_redbird@crosswinds.net
Mon, 07 Feb 2000 19:09:43 -0500

Many of you seem to be ignoring the studies of psychologist (unless m=
ost of you are previously unfamilier with the studies that I'm about =
to mention).  While my HS book likes to be broad in mentioning studie=
s (i.e. it doesn't give any way to learn about the specific experimen=
ts that it reads about), it happen to list the develop of cognative f=
unctions according to age.  Skipping a few ages, it has been found th=
at people can generally not abstract information until they are circa=
 12 years old.  Trust me, this is the truth, because I began programm=
ing in 2nd grade and for a long time was largely unsuccessful because=
 I was programming by patterning.  By that I mean that I knew what to=
 type by taking old code and changing a thing or two to make it do wh=
at I wanted.  When I did program new code, it was because I remembere=
d the old code and just reimplimented it with slightly different synt=
ax.  I started trying to learn Java in 7th grade, and still didn't un=
derstand it all until I made it to 9th, because I was a=20

The difference may seem trivial to some of you, but consider that unt=
il one can abstract, programming abilities will always limited to wha=
t one has already seen coded (this is not entirely true, it is possib=
le to intuitively combine patterns to get new patterns and to just ha=
ppen to, by accident, create new code).  For example, my first Java p=
roject was to create a simple sketching program.  The book I was usin=
g provided plenty of good patterns to look at for how to develop the =
drawing space, the drawing events, and the GUI.  Making a space to sk=
etch in and then making sketching happen was easy, since the book pra=
ctically did it for me.  The GUI, on the other hand, was considerably=
 more complicated to design.  I had no problems when I did exctly wha=
t the book said to and then changed it to fit my program, but in tryi=
ng to developing a new interface that would be specific to the functi=
ons that I could impliment in my program, my attempts were disatoriou=
s.  This was not a case of inability to code or lack of=20

What this all comes around to is that, while you can try to teach sub=
12 year olds how to program, results will always be limited.  In addi=
tion, it is very important to spell things out *exactly* to the young=
er age group, because they will not make those abstract connectiosn l=
ike their slightly older counterparts will.  If you say to a class of=
 young children that a list can contain any type of variable, you nee=
d to show them an example of every variable class being used as a lis=
t item.  In a similar way, it is necessary to show that spam + grail =
=3D grail + spam and in the fuction spam(arga, argb, argc), arga, arb=
, and argc can have any name, but must have the correct type of data =
in them.  Trust me, if you show every instance you can think of and g=
ive lots of sample code, young children will do fine, but if you star=
t to assume that they can suddendly jump from spam(arg), arg is numbe=
r to spam(gra), gra also has to be a number.

- Gordon Worley