[plt-scheme] 3rd-8th Grade

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Mar 19 22:09:11 EST 2006

On Mar 18, 2006, at 12:33 PM, Richard Cleis wrote:

> I dropped in on the fifth meeting of a robot club for children in 
> grades 3 through 8.  The Robots were made from Lego kits and the task 
> was to remove toxic waste barrels (soup cans) from a warehouse (a 4 
> foot circle).  The programs were 'written' with drag-drop icons and 
> transferred to the independent robots.
> It was very encouraging to see how well the children could change the 
> designs to eventually make a successful machine.  It was also 
> illuminating to see them blame the software for everything, just like 
> in an adult laboratory.
> I wonder, though, about the 100% drag-drop programming.  I am neither 
> a father nor an educator, so I am asking those who are: shouldn't the 
> children at least see some words that cause the movements, if not be 
> encouraged to type a few?

Here are some _thoughts_ based on experience: drag-and-drop programming 
has little or no positive effect on reasoning skills as far as I have 
been able to make out in my freshmen courses. Time and again, I 
encounter freshmen who have a variety of programming experiences with 
such limited resources, and they are all over the spectrum. It is my 
distinct impression that the kids who use those things just don't truly 
understand what programming is beyond "giving commands to a 
computer/robot/whatever". Furthermore, these systems have a hard time 
scaling up. I have yet to encounter a good facility in such systems for 
abstraction, which in the end is the only good way to accomplish it.

[Note: You could imagine a pictorial representation of combinators, and 
that would produce abstraction with pictures but I am not sure you'd 
feed this to kids or even ordinary programmers. S, K, I, Y and friends 
are complex.]

;; ---

I must admit that I am totally confused by Carl's response. He is one 
of my PhD students. Perhaps he has been out of the classroom for too 
long; perhaps the deadline stress of OOPSLA was getting to him "-)

;; ---

Here is some _reasoning_ and if you want to call it prejudice, I won't 
object. People used pictures to communicate before they had a written 
language. I think the codified written language was a step forward, 
allowing people to reason abstractly. This is what we eventually want 
with "programming for kids", which should really be an attempt to get 
them to do what math has failed us for in the last N years. At the same 
time we shouldn't throw out everything that math has done; there is 
just too much positive stuff there. FP, well staged, is just about the 
right compromise in my mind.

;; ---

Last but not least. Just to make this clear, I don't object to exposing 
kids to computers via commands and drag-drop, blob-and-bop 
"programming" (I can't type this w/o quotes). It's better than watching 
tv, playing video games, etc.

-- Matthias

Posted on the users mailing list.