Early computer program turtle


















This can improve if a the teacher explains numbers up to , b the teacher explains division and then finally c the teacher explains that when you spin around, you are making a circle hold out your arm!

This may still not be enough. However, if the child is able to actively explore these concepts in an environment that has some measure of feedback, the likelihood of their gaining understanding improves. For example, if the teacher suggests they turn randomly, and the teacher tells them how far they have turned each time they do it, they will soon learn that if they turn halfway, they have turned degrees.

They will learn that a full turn is degrees. They will understand that the next number after is , and hence the next number after is And so on. This is what Papert learned under Piaget. But in the early s, a new technology was emerging, one that Papert realized could remove his roadblock — the computer. Computers did not tire, they did not lose patience.

The more input students provided, and the more output they absorbed, the sooner they would grasp concepts. Computers seemed a perfect fit for the task of educating children using constructivist principles.

They presented papers that were surprisingly similar, and connected as a result. Papert was impressed with the technology-centric culture at MIT, and attitude that everyone had the potential to learn anything they wanted to, a position Papert shared. The students under Minsky and Papert had free rein to work on whatever they wanted, encouraging experimentation and the practical testing of even the most wild theories.

Papert saw how his students, when encouraged, would learn great amounts of knowledge on their own, and collaborate with others to get past roadblocks they encountered in their pursuits. In the mids they had started exploring computer technologies, and their potential. Bobrow became head of their new Artificial Intelligence group. The space race had encouraged the US government to find ways of improving math education in schools, and BBN was hoping to find a solution. Rather than using memory addresses, BASIC used line numbers to track execution, and named variables that transparently linked to memory addresses.

It is described as a dialect of Lisp, a functional programming language. In a very a strict sense, Logo is not a programming language. It is just a programming language specification. Logo has conditional statements, loops, functions, recursion, file handling, etc, which are necessary parts of any general-purpose programming language.

These constructs can be used to train children in programming. The most important aspect of Logo, and what makes it a very useful training tool, is its turtle graphics. Turtle graphics are vector graphics using a relative cursor on a Cartesian plane. Although this definition is very precise, it may not give you a good idea about turtle graphics. In simple terms, turtle graphics is used to draw graphic images using programs. So, essentially, you can write a program in Logo, which when executed will draw a graphical image on your screen.

One such attribute is the direction, which decides the direction in which the cursor should move. Another attribute is the location, which decides where in the 2D plane the cursor should be placed.

There are other attributes also associated with the turtle, like colour, line width, etc. Basically, a Logo program will trace the steps taken by the cursor to generate a graphical image. Even though this seems easy, even simple Logo programs can generate complex images and this will be really interesting to young children who start learning programming.

Over the years, there have been different implementations of the Logo programming language. Figure 1 shows the logo of UCBLogo.

However, the graphical user interface of Logo is minimal and not very attractive. Anything intended for children should be visually appealing, so I will discuss KTurtle, which is another free and open source implementation of Logo.

Figure 2 shows the logo of KTurtle. Installation of KTurtle is very simple. I have installed it in both Fedora and Ubuntu. The same goes for Ubuntu.

In both the cases, you should have administrator privileges. I am sure the installation will be similar and as simple in other flavours of Linux also. Figure 3 shows the KTurtle programming environment.

If you look at the extreme left part of Figure 3, you will see the editor, which is used to type and execute KTurtle programs. This editor is very powerful with features like intuitive syntax highlighting, line numbering, error markers, visual execution, etc.

To the right of the editor you will see the canvas with a green turtle placed in the middle. For older children and adults , Turtle Logo in Forth includes a fully extensible Turtle command language which can be used to code intricate shapes and figures which can then be used in the alternative command-line environment. This extensibility is another outstanding feature of the underlying Forth language — new words defined become first-class words in the environment itself. The intent is to allow older children to return to the same environment they used when younger, but now as developers able to build new creative content for, e.

Engagement continues both in the process of development and the exchange of ideas, older child with younger child. Through coding, children get a say in building their own toys. For hackers actual or aspiring, teen or adult , the code for the program is included and fully open source.

It is worthwhile as an illustration of how an old-school interactive graphics program DOS style can be built, right down to poking the pixels using assembly language two routines. Users interested in dabbling in some coding are free to modify and extend the functionality. The code is made available under a GNU License, so modifications must be made available back to the community, ensuring that the commons continues to benefit.

Why Forth? The key reason I chose Forth as the language for coding Turtle Logo is its intimate connection with embedded programming , and with sensor systems, and robotics.

In my view, exposing children and their parents early to Forth makes it easier later to transition to bigger and bolder projects. Forth looks more or less the same today as it did in the s when it was invented by Chuck Moore, while the average life of a popular language is years.

As Bernd puts it :. We are now in the cambric explosion of language evolution. Lots and lots of programming languages, nice and ugly, are created out of the dust. Many are short-lived, even the important ones ride on the waves of fashion.

If it will survive, and render flesh and shells when necessary, it will take over the world. It might be swallowed before that, but it has survived long enough to make this unlikely. Challenges Over the past few months, I developed a set of challenges with Jasmine to help her climb the learning curve and motivate reaching for the next accomplishment. Time-permitting, I will add these in a separate posting.

But you, dear Reader, have come this far unrewarded! So here is a challenge you can try today. Note this is probably too hard for your pre-schooler, though it does work rather well to impress them and get them wanting to have a try themselves. The solution is given as an animation scroll down or click here. Challenge: Can you use Turtle Logo to create a 2-color interlocking chain in keystrokes or less? Turtle Logo Challenge — Tiling the screen with a 2-color interlocking chain. Solution: shown as an animation — wait for it to move.

Feedback is a gift If you give Turtle Logo in Forth a try especially with your little ones, please do share your feedback and views in the comments section below! Download Turtle Logo in Forth 2. Coding in Logo [1] was the 40th birthday of Logo — Nostalgia. Education Week, June , Anne Jolly. Please leave a comment! Don't miss the next article. You may like it. Greetings, Stefan. Stefan, This is cool — thanks for sharing!

I see that you have built a full language interface into mjoy, which gives you the possibility to draw using a wide range of possible expressions, including mathematically programmed art e. But this also raises the complexity to learn to use it took me a few hours of trial and error to figure out the syntax, and not totally there yet. No, I have not made any observations with mjoy with children.

I wanted to try this with my seven year old nephew. It might be helpful to know that the turtle dict is an object, lying on the stack. In mjoy every data is local on the stack, except the constants definitions. Spent some time with the documentation. Was able to decipher the stack language, but the turtle commands were still somewhat obscure, as they were s of commands into the documentation…. Do you have user-oriented instructions?

Can be helpful to explain through a simple example, e. To draw a triangle: moveto pendown 10 pensize 10 20 moverel 90 rad turn 10 moverel 45 rad turn 20 0 moverel draw.

R fwd fwd fwd right right R this records the square-leg into diary 1 D this changes to diary 2 R 1 1 1 1 R this records 4 square legs into diary 2 2 draws square by calling diary-2 which calls diary The commands are key-press driven, with immediate visual feedback.

So the child sees coming alive the algorithm by which a square is constructed from 4 legs. This kind of visual algorithmic construction is, in my view, a precursor to directly programming the turtle in the command line.

I suspect even at 7 years, the delay to type and debug commands might be a barrier for entry. Yes, I tried Turtle-Logo-Forth, for my personal testing. Hi Stefan, Let me clarify. I see two key advantages of mjoy for older children. Firstly, because mjoy is a full-featured language, it is possible to create mathematically generated drawings e. Secondly, because it runs natively within Windows, the user gets precise pen control down to a single pixel width.

Would you be interested in writing out the specific user-oriented drawing instructions for mjoy? These could show through simple examples how to draw basic elements point, segment, triangle, square, circle.

Switching to email for additional remarks… -Assad. Another advantage that Manfred von Thun has brought to his Joy programming language is the higher-order programming. Example in mjoy:. This three-line program draws a pattern that may be familiar…. Thanks to Stefan for sharing! Once the instruction set is learned, it is quite easy to draw mathematically generated artwork. You can download a quick-start guide to drawing with mjoy.

On a tablet, this would probably be even more accessible to children, as the icons are suggestive, and replace remembering key-presses.

Second — I would like to buy my neice a Turtle works remotely that she can use when learning logo. Which one and where do you recommend I get it?



0コメント

  • 1000 / 1000