logo programming what is logo? logo is one of a number of computer languages to have been developed...
TRANSCRIPT
Logo Programming
What is LOGO? LOGO is one of a number of computer languages to have
been developed in the field of Artificial Intelligence. LOGO was developed at the Massachusetts Institute of
Technology in the late 1960's as part of a research project to create a language for the teaching of mathematical ideas to children through computer programming.
It was intended to be easy to learn, easy to use, easy to read, but also powerful, and therefore able to cope with complex activities.
LOGO was evolved by a team including Wallace Feurzeig (who suggested the name LOGO), Cynthia Solomon and the man who is now the most well-known LOGO figure, Seymour Papert.
Different versions
MSW Logo HKU Logo PC Logo StarLogo (used for modeling)
HKU Logo Vs MSW Logo
HOW DOES LOGO WORK?
Logo programs are built up through the use of procedures.
A computer program in LOGO is just a collection of procedures which achieve a particular objective.
The work TO is used when creating ('defining') procedures; this is to emphasize the way we can think of procedures as being like verbs.
LOGO and THINKING
Proponents of LOGO argue that LOGO programming can be seen as a direct analogy of the thinking process itself.
The similarity between the building up of LOGO programs and the building up of thought-structures is clear. The evolution of a LOGO program by developing and testing simple procedures, then incorporation them in more complicated ones can to some extent parallel the process of thinking.
For Papert, this similarity between LOGO-work and 'thought-work' is what makes LOGO not just a programming language but a 'tool to think with'.
Learning, at any level, proceeds by a process of trial and error.
LOGO and THINKING
The unexpected response is seen as a positive step in the right direction, and the learner is encouraged to think about why the unexpected result occurred. Unexpected results are therefore seen as useful stages in the learning process.
'Debugging', is considered to be an essential part of the learning process, by which conceptual structures are tested and altered until found acceptable.
'Bugs' are not seen as 'wrong answers' but as unexpected outcomes which should stimulate thinking and lead to the mastery of ideas that comes from an understanding of how to use them successfully.
LOGO and SCHOOLS
LOGO is often suggested as ' ideal computer language for children' ; and most of the current interest in it comes from educational practitioners.
What does LOGO offer schools in particular?
The main justification for LOGO-use in schools arises from the nature of the LOGO-use in schools arises from the nature of the LOGO learning experience. Exploration and discovery are generally accepted as essential parts of the experience which the schools can offer.
LOGO also offers a ready avenue into familarisation with and general use of the computer
LOGO offers an introduction to computer programming which is highly structured and encourages 'top-down' programming.
The importance of 'debugging' in learning has been mentioned above.
It is a common observation of those who have used LOGO in the classroom, that LOGO is enjoyable. The fact that learning is enjoyable is not trivial, for enjoyment in learning is a source of motivation and of concentration.
LOGO is most effectively used with groups, and when so used enables the learning benefits of group activity to be obtained.
Because of the range of 'microworlds' which it can support. LOGO can be used to allow children to explore various and different elements of the curriculum, while maintaining a unity of good thinking practice.
Logo as a Programming Language
Logo is procedural Logo is interactive Logo is recursive Logo has list processing Logo is not typed Logo is extensible
Logo as a Learning Language
Logo, though, was developed as a learning language, not for a specific branch of mathematics, but for problem-solving behavior.
Logo is 'tuned' for interesting applications. Logo is user-friendly. Logo has no threshold and ceiling. Logo is for learning learning.
What facilities Does LOGO offer? Different sets of LOGO facilities can place the user in
different 'micro-worlds' which can become environments for exploration and discovery, and thus environments for learning.
Some micro-worlds : the 'turtle world' of the plane geometry the 'music world' the 'dynaturtle world' of movement in outer space; database possibilities; robotics and control possibilities; facilities for poetry and creative writing etc
Learning Styles Planner
likes to build structured programs from the top level down or from the bottom level up, but always from a coherent formulated plan.
macro-explorer likes to mess about with subprocedures or building blocks
to arrive at a product, rather than starting out with a specific goal.
micro-explorer explore their environment on a microlevel before they can
establish patterns of planning or directed exploration.
As Logo is a popular programming language, there exists different versions of Logo. In your school, you may find the following versions: HKU Logo (CGA version) HKU Logo (VGA version) PC Logo for DOS PC Logo for Windows MSW Logo
Some differences ….
Working environment of HKU Logo.
The Upper part is the graphic window while the lower part is the text window. You can type the commands in the text window to instruct the turtle
Graphic Window
Text Window
Input Box
Output/Command-Recall List Box
The turtle
Commander Window
Command buttons
Menu Bar
Turtle's Playground
MSW LOGO
The turtle is sitting at the centre of its playground. Down below the playground is the Commander window. To instruct the turtle, you simply type the commands in the Input Box and click on the execute button (or just press the ENTER key) to execute them
Learn Turtle’s ABC
Add these instructions and remember to press the Enter key at the end of each instruction.
?FD 50?RT 90?FD 40?LT 90?BK 100
?FD 50
Press the spacebar to add a space here.
Press the Enter key at the end of each instruction.
(for HKU Logo users)
Learn Turtle’s ABC (for MSW Logo users)
Press the spacebar to add a space here.
Press the Enter key at the end of each instruction.
Add these instructions andremember to press theEnter key at the end ofeach instruction.
FD 50RT 90FD 40RT 90BK 100
First procedure for HKU Logo user
?TO SQUARE>REPEAT 4[FD 100 RT 90]>ENDSQUARE DEFINED?
The prompts aredifferent!
You can enter the Logocommands when you see thequestion mark (?) again.
Logo tells you that theprocedure called SQUAREhas been defined.
The above procedure can be used to draw a square. If you want to use the procedure, you only need to type the name of the procedure after the prompt ‘?’, for example,
?SQUARE
and then a square will be drawn.
First procedure for MSW Logo user
Type to square in the input box
In MSW Logo, the commands can be typed in upper or lower cases.
You will see a dialog box which let you input the Logo commands.
Type repeat 4[fd 100 rt 90] and press Enter.
Input end to indicate that you have completed procedure.Remember to press Enter or click the OK button
Logo tells you that the procedure called SQUARE has been defined.
The commander box will tell you that your procedure has been defined
The above procedure can be used to draw a square.
If you want to use the procedure, you only need to type the name of the procedure in the input box.
A square will be drawn on screen.
Group ActivityCompare and contrast HKU LOGO with MSW LOGO
Working environment Basic Movements Procedures Workspace and file management Flow control Project Handling
Try to compare and contrast these two versions of LOGO in the following aspects:
Designing a programming project
How to tackle a Logo Project
Defining the problemDefining the problem
Setting up appropriate goalsSetting up appropriate goals
Completing the project and sharing your work with others
Completing the project and sharing your work with others
Debugging and Revising the projectDebugging and Revising the project
Creating a Working DraftCreating a Working Draft
Some hints for developing Logo projects:
Top-down analysis Modular approach State-transparent Meaningful variable names and procedure
names
Project example:
Defining the problem
I want to ask the turtle to build a house.
Setting up appropriate goals
My dream house should have a roof, a door, walls and windows.
Creating a working draft
HouseHouse
RoofRoof
WallWall
DoorDoor
TriangleTriangle
WindowWindow
Wall faceWall face
Rectangle 2Rectangle 2
Rectangle 3Rectangle 3
Rectangle 1Rectangle 1
TO TRIANGLE REPEAT 3 [FD 80 RT 120]END
TO ROOF RT 30 TRIANGLE LT 30END
TO WALL WALLFACE RT 90 FD 25 LT 90 DOOR RT 90 BK 25 LT 90 PU FD 80 RT 90 FD 10 LT 90 PD WINDOW1 PU BK 80 LT 90 FD 10 RT 90 PD PU FD 80 RT 90 FD 50 LT 90 PD WINDOW1 PU BK 80 LT 90 FD 50 RT 90 PDEND
The house can be built now!
TO HOUSE
WALL
FD 100
ROOF
BK 100
END
Debugging and Revising
:LENGTH
:HEIGHT
:HEIGHT*60/100
:HEIGHT*10/100:LENGTH*30/80
:LENGTH*20/80
Completing the project and sharing your work with others
TO TRIANGLE :LENGTH REPEAT 3[FD :LENGTH RT 120]END
TO RECTANGLE :H :L REPEAT 2 [FD :H RT 90 FD :L RT 90]END
HouseHouse
RoofRoof
WallWall
DoorDoor
TriangleTriangle
WindowWindow
Rectangle Rectangle
Rectangle Rectangle
Wall faceWall faceRectangle Rectangle
To be a Town Planner
How to design an IT task for learning Logo?
Activity
Try to draft a learning task for a selected Logo topic.