Re: [Edu-sig] General Programming Education

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
and that,
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 should simplicity be a Good Thing? </rant>
http://www.pbm.com/~lindahl/real.programmers.html 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. http://wiki.sugarlabs.org/go/Turtle_Art/Tutorials 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. -- Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://wiki.sugarlabs.org/go/Replacing_Textbooks

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.
I only found an empty page here. Coming soon? There's a lot of good turtle stuff out there in Python. Gregor is a resident master. * * * My sense is there's no shortage of anything except a willingness to try new things. Innovation is hard to accomplish at the end of the day, simply because it's easier to keep doing what you were doing -- until it's not. Freeing up schools to try new things means not locking them in to pre-specified curricula complete with state mandated texts and tests. Not everyone has such freedoms. Kirby Note: I've got very primitive "tractor" objects in a field of ascii, just to show off 2d data structures, draw Mandelbrots, play Life (OST servers). One of the freakiest tractors is a generator that implements the "send" feature in a weird way: http://www.4dsolutions.net/ocn/python/OST/thefarm.py (you can refuel it, change direction, change the mark it makes when it plows) ... depends on the Farm class (a 2d field) here: http://www.4dsolutions.net/ocn/python/OST/farmworld.py Here's a silly drawing of how I think of it: http://www.4dsolutions.net/ocn/python/OST/farmer_gen.jpg

On Fri, July 15, 2011 2:14 pm, Kirby Urner wrote:
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.
Ah, yes. http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Tutorials My apologies.
I only found an empty page here. Coming soon?
There's a lot of good turtle stuff out there in Python.
Gregor is a resident master.
* * *
My sense is there's no shortage of anything except a willingness to try new things.
Innovation is hard to accomplish at the end of the day, simply because it's easier to keep doing what you were doing -- until it's not.
Freeing up schools to try new things means not locking them in to pre-specified curricula complete with state mandated texts and tests.
Not everyone has such freedoms.
Kirby
Note:
I've got very primitive "tractor" objects in a field of ascii, just to show off 2d data structures, draw Mandelbrots, play Life (OST servers).
One of the freakiest tractors is a generator that implements the "send" feature in a weird way:
http://www.4dsolutions.net/ocn/python/OST/thefarm.py (you can refuel it, change direction, change the mark it makes when it plows)
... depends on the Farm class (a 2d field) here: http://www.4dsolutions.net/ocn/python/OST/farmworld.py
Here's a silly drawing of how I think of it: http://www.4dsolutions.net/ocn/python/OST/farmer_gen.jpg _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
-- Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://wiki.sugarlabs.org/go/Replacing_Textbooks
participants (2)
-
Kirby Urner
-
mokurai@earthtreasury.org