[Edu-sig] General Programming Education
mokurai at earthtreasury.org
mokurai at earthtreasury.org
Fri Jul 15 11:50:47 CEST 2011
On Thu, July 14, 2011 11:20 pm, Corey Richardson wrote:
> I was discussing programing with some peers at an MIT summer program,
> many of them came from the "JAVA AND OOP!" type of places to the point
> when the opportunity came up for them to learn the basics in a seminar, a
> few said "Pfff, but python sucks. It's too simple". Is it just me, or
> simplicity be a Good Thing? </rant>
Real Programmers Don't Use Pascal
> But, my real question to you educators is, which paradigm do you use
when first teaching programming, and why?
I'm working with a different age group than you, but I start by mixing
object programming and procedural programming. I use Turtle Art in the
Sugar education suite for One Laptop Per Child XOs, now ported to several
kinds of Linux. We begin with one object, and we send it a stream of
messages to tell it what to do. One of the advantages is that the program
elements are snap-together tiles/blocks rather than text, so that it is
impossible to mistype a keyword or make a syntax error. Another advantage
is that the children learn to work directly with the parse trees of
programs before learning to write them in linear text.
Then we have a choice of transitioning to Python, supported directly
within Turtle Art using program blocks; Logo, which we can create as an
export option from Turtle Art; or the Etoys environment for Smalltalk,
which can also do turtle graphics using tile-based programming. There are
also stack primitives in TA, so that we can introduce RPN and FORTH
concepts. I am working on a set of lessons on all of this. Tony Forster is
also contributing topics handled in Turtle Art.
Marvin Minsky (born 1927)
You don't understand anything until you learn it more than one way.
In Rebecca Herold, Managing an Information Security and Privacy
Awareness and Training Program (2005), 101.
We like to think that a child's play is unconstrainedbut when
children appear to feel joyous and free, this may merely hide from
their minds their purposefulness; you can see this more clearly when
you attempt to drag them away from their chosen tasks. For they are
exploring their worlds to see what's there, making explanations of
what those things are, and imagining what else could be; exploring,
explaining and learning are among a child's most purposeful urges and
goals. The playfulness of childhood is the most demanding teacher we
have. Never again in those children's lives will anything drive them
to work so hard.
The Emotion Machine
We have many studies of successful introduction of programming in third
grade, using a variety of languages, but we do not know how much earlier
we can begin. Preschoolers can be introduced to Turtle Art with the game
You be the Turtle. I have proposed a version of Turtle Art with icons
instead of words on the blocks, so that we can test how much of it the
preliterate can manage. There are several visual forms of digits that
children can read directly by counting elements, usually dots or lines. I
use colors for variable and procedure names, and skip over text input and
output until later.
My most advanced CS example, not suitable for very small children, is a
Turing Machine implemented in Turtle Art.
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
More information about the Edu-sig