Applications Google
Menu principal

Post a Comment On: Only Python

"Thoughts on the Shuttleworth Summit"

5 Comments -

1 – 5 of 5
Anonymous Anonymous said...

You are confusing Logo with turtle graphics. Turtle graphics is an application library, like, say, bignums or readline, that could be implemented in any language; I've seen turtle graphics implementations in Pascal, in Java, and in Smalltalk, for example.

Logo is a general-purpose programming language, a dialect of Lisp, different from most other dialects in its notation, its use of dynamic scope, and its careful attention to things like the exact text of error messages that aren't seen as important in most programming language designs.

Logo is not limited to graphics. See this page, for example, for a Pascal compiler written in Logo, a translator from regular expressions to finite state machines written in Logo, and a Logo version of Dan Bobrow's STUDENT program that solves algebra word problems.

In this post you jump back and forth, so it's hard to know whether you are mainly interested in choosing a programming language or in choosing a graphics library.

If you're interested in building a graphics library, e.g. because you want a bigger step size than one pixel, you can do that in Logo or any other language.

My own feeling is that you'd better have a *really* good reason for any proposal (yours or the one to which you're responding) that requires kids to learn more than one programming language. If you start in Logo, you should stick with Logo. If you want to use Python, but you think Python is too hard for little kids, you should ask yourself why *anyone* should have to use a too-hard language. If you *don't* think Python is too hard, use it from the beginning.

4:07 AM

Blogger André Roberge said...

Indeed, you are right about me confusing Logo with turtle graphics. The discussions I had seen about using Logo as a teaching language were always in the context of turtle graphics.

I agree with your feelings about requiring kids to learn more than one programming language. And I don't think that Python is too hard to learn - but that a special environment (like turtle graphics or others) is required to get them to be interested in learning.

6:34 AM

Anonymous Anonymous said...

Python is not designed with beginners and children in mind. It is designed with long-time python users in mind only. What is 3/5 in python? Still 0 instead of 0.6. That is still not fixed by default and won't be for many more years. Research also showed Guido the problems with case-sensitivity and he agreed, but still no change to the language, nor is any planned. There are problems with the interactive interpreter but nothing was done about them. There has not been a single change made to the language in the past 15 years for the sake of beginners.
Visual Basic .NET (or mbas in mono) is a better choice for beginners and students than python (not to mention many times faster too since it is statically typed), but that is not saying much for either.
Python is NOT the right choice for education.

10:20 AM

Blogger ToonTalk said...

I think there is great value in getting arithmetic right. It doesn't seem that either Python or Rur-ple does. As anonymous points out 3/5 shouldn't be 0. But I read in http://rur-ple.sourceforge.net/en/interpreter.htm that for Rur-ple:

7.3 % 3
1.2999999999999998

This last result is almost equal to 1.3 which is what we might have expected. The difference between 1.3 and 1.2999999999999998 is tiny ... and is caused by the way computers work with decimal fractions. I will explain how this comes about in a later lesson, when you know more about computer programming in general. Just note that, in practice, such small difference between the "exact" result and that given by Python should not matter.

---------

I disagree. I watched 12-years old explore the sum 1/2 + 1/4 + 1/8 + ... With 64-bit floating point approximations the sum becomes exactly 1.0 after about 55 iterations. While I'm not a Python programmer I understand it has an interface to the GNU Multiple Precision library that gives exact results for rational arithmetic. Why not use GMP?

Regarding the comments about kids understanding turtle geometry there has been nearly 40 years of research that shows they are fine with primitives like RIGHT and FORWARD. They can relate these commands to the way their bodies move in the world. No so for Cartesian coordinates.

10:58 AM

Anonymous Anonymous said...

I just found this article, so I don't know if anyone will see my comment...

I have taught basic logo to my 7yo, and he had no problem whatsoever understanding the basic commands, including pen-up and pen-down. It's a matter of telling the right story to get the concept across. The more vivid and creative the story, the better the child's understanding will be.

For example, there's a turtle, and you can tell it to move around. But you have to say how many steps it taks. It's a small turtle so it takes small steps. It's carrying a pen on its tail, so if you want it to draw a line, you have to tell it to put the pen down, and if you don't want to draw a line, you have to tell it to pick the pen up. When you want to turn you tell it how much. If you tell it 360 it will turn completely around. When it turns, it doesn't take any steps.

Then you demonstrate the concepts using the child's body, to make sure they understand what the commands mean, and then you have a brief practice - forward 10, forward 100, right 30, right 120. And give the child some free time.

That's the first lesson, and it took about an hour, and he really enjoyed it. No conceptual problems whatsoever. With a good vivid story, and demonstrations, I'm sure even a 5yo could understand this (maybe in 2 lessons, if the attention span isn't there).

And yes, Logo is a real, complete language. You can use coordinates if you want to, equations, or any other normal programming construct. Most teachers are not trained in the complete language, which is probably why people think it's a "toy" language. Plus, because it's based on LISP, recursion is easy to write, and text manipulation is accessible, too. These concepts are probably too advanced for your average 7yo, though!

-Corinna

1:34 PM

Spammers: none shall pass.
You can use some HTML tags, such as <b>, <i>, <a>

Comments on this blog are restricted to team members.

You will be asked to sign in after submitting your comment.
Please prove you're not a robot