MSW LOGO MEISTER

 

 

 

 

I have a difficulty with LOGO. I know it is a powerful list processing language to rival LISP and I know that it has a clever way of dealing with graphics. I know that some gifted teachers in Australia are using it with Key Stage 2 and Key Stage 3 children- the results are fantastic but

I know that ‘A’ level mathmos, use LOGO for geometric investigations.

I have never seen LOGO taught for its List Processing.

I have never seen LOGO being taught in a manner conducive to an aging computer professional, who programs best in a procedural language, or out of necessity a bit of C++, or Access.

Logodanz is an attempt to give London Teachers the tools to use the power of LOGO in a way that their pupils can relate to. It is free, it must not be sold- it is not complete, but a series of worksheets that can be adapted to your own needs. If you have further ideas you wish to share, please email me and I will include it as a further sheet.

 

 

Print the Quick Reference Card, back to back. All printing can be reduces to A5 using FinePrint driver http:://www.singletrack.com
Here are two more advanced programs.My Sundial Program   My Album Program


 

Learning Logo Yourself

History of the language

.Logo is a dialect of LISP.

LISP was conceived in and around 1960 by John McCarthy in the days of ALGOL and FORTRAN.

http://www.cs.cmu.edu/Web/Groups/AI/html/faqs/lang/lisp/top.html FAQs.

http://www-formal.stanford.edu/jmc/recursive.html The original paper.

http://www.cs.tulane.edu/www/Villamil/lisp/lisp1.html Lisp tutorial.

.http://www-formal.stanford.edu/jmc/personal.html John McCarthy

Logo was developed at MIT from an idea by Seymour Papert. It added turtle graphics to LISP. Work was done on LOGO at Edinburgh University and UCB Berkeley.

The Edinburgh dialect I believe was adopted by RM, but now seems to have died.
The Berkeley dialect became dominent..It was written by Brian Harvey.
Amstrad bundled a version with some PCW micros but ommitted any documentation.
MSW Logo is Berkeley with a GUI by George Mills.
MSW Logo is free, and has extensions for windows programming
MSW Logo is also available in German, other languages
Brian Harvey has written the definitive LOGO University course.

http://www.cs.berkeley.edu/~bh/

http://www.cs.berkeley.edu/~bh/v1-toc2.html

http://www.cs.berkeley.edu/~bh/v2-toc2.html

http://www.cs.berkeley.edu/~bh/v3-toc2.html

Sample Chapters are available from the references above.

Paul Dench is writing an online tutorial.

http://www.ecu.edu.au/pa/ecawa/sig/logo/paul_dench/turtle/index.html

Jim Muller is writing LOGO. See Turtle News

http://members.home.net/tgla/tnews.htm Turtle News

http://members.home.net/tgla/fable.htm Learning Philosophy of pioneers.

Jim Fuller is writing LOGO- working on controlling the games port.

http://www.southwest.com.au/~jfuller/logotut/menu.htm A formal tutorial

Logowriter is a product of MIT (LCSI Logo) MIT invented Brick Logo. Papert is working with LEGO- Mindstorms is a multimedia extension to LCSI Logo. A group at MIT are working to develop a more standard LOGO for LEGO.

WinLOGO is a commercial product,

Comenius Logo is also called SuperLOGO, and is available in English, Dutch and more

The Logo Foundation writes and publishes academic papers on LOGO.

http://el.www.media.mit.edu/groups/logo-foundation

http://www.ozemail.com.au/~mulawa1/turtle/turtle_toc.html

A good Australian tutorial- featuring the Cherry Blossom Tree.


How a teacher should start

Lesson One.

Download Paul Dench’s Tutorials

http://www.ecu.edu.au/pa/ecawa/sig/logo/paul_dench/turtle/index.html

Lesson Two

Join the egroups logo newsgroup

Lesson Three

Read Brian Harvey’s Sample chapters.

http://www.cs.berkeley.edu/~bh/v1ch7/recur1.html Recursion.

http://www.cs.berkeley.edu/~bh/v1ch14/pour.html Trees

The full manual:- ftp://anarres.cs.berkeley.edu/pub/ucblogo/usermanual

Extra Resources

http://midwich.reading.ac.uk./staff/Ron.Brasington/LogoWWW/

University Language course

http://www.anglia.co.uk/education/mathsnet/logo.html Maths Net lots of UK links

http://members.aol.com/mckoss/logo.htm KS2 ideas

http://vlado.fmf.uni-lj.si/educa/logo/goto.htm EuroLOGO

http://www.microworlds.com/library/index.html Seymour Paperts Company Simple Examples in another LOGO, some simulations.

http://www.ozemail.com.au/~mulawa1/turtle/turtle_toc.html A nice tutorial in Microworlds logo.

http://www.ph-ludwigsburg.de/nutzer/klaudt_dieter/logo/logo1.htm

A German course for trainee Maths Teachers- in German.

http://www.senet.com.au/~kerrb/fractals/gif_frame.html

An article on animated fractal publishing on the net.

http://vlado.fmf.uni-lj.si/educa/logo/goto.htm

A very useful list of EuroLogo Sites

http://www.edi.fmph.uniba.sk/tomcsanyiova/English/Aktivity.html


An ‘A’level Course KS5 Years 12 /13

This course presupposes that the students are learning Pascal, Access and in lower school they have met LOGO as a means of drawing pictures. This moves far too fast for all except the committed.

Lesson One. Introduction

Aim :

Method

To put doctor.lgo on one machine and allow it to analyse their problems. This is a UCB Logo example- a version of Eliza.

To put calc.lgo on a machine and allow them to investigate. Calc is a MSWLogo example in Windows subdirectory.

To put Midi.lgo on a machine with sound. MSWLogo example in multimed.

Gather the students around a machine and demonstrate a simple command line procedure. Now edall, and type in that procedure. Save and Exit. Send them away and allow them to choose which Logo Danz Card to work on, though it is better to start in section 2 some will want to start in section 1. Questions you will get will be mainly about erasing errors, copying from command line into editor. PPT confuses students who have used Winlogo in the past.

Issue them with MSW Logo to use at home.

Lesson 2 Doing Pictures

Aim

Method

Formally teach : How are variables used in Pascal. x:= x +1. –show a make

(Talk about infix and prefix with the right students)

Show sq :size compare it with a pascal procedure- passing by value passing by name.

They will know the repeat structure- compare it with Pascal. Introduce the while structure and tell them that there is a command called ifelse and how it works.

Enough theory- onto the computer use sq: size and triangle :size to put together villages and space ships. Use the Logo Danz Cards freely. Questions will allow colour and circles to be introduced.

Lesson 3 Absolute Graphics and Random

Aim

Method

Formally draw the screen, I use (-250,150) to (250, -150) as my playpen. I introduce setxy and contrast it with setpos- it allows a quick aside about lists. I draw a five pointed star and set it on the screen. I talk about random , dice, 1+random 5 and then a random coordinate in the 1st quadrant. I use this to place 6 stars. The students can now develope tis to put the randon all over the field. That achieved we do star :size and draw random stars in a random universe. Logo danz sheets

 

Lesson 4 Recursion

Aim

Method

To me a recursive function has 3 parts- the stop- the action –recursive call. The op instruction can cause difficulty to explain. See Kaudt_dieter’s work

Ask them to draw a forest. Show them a deciduous tree- Logo Danz sheet. Show them a PineTree

Lesson 5 Doing Windows

Aim

Method

Give a talk explaining how there is a pattern in windows commands. Demonstrate a main window with 3 buttons and actions. Explain that they are calling the same routine as Access is calling. Explain that a problem in Windows programming is the vast number of parameters. I have changed the names of the numbers to X Y W H. (Width, Height) Students are happy with this convention and talk easily amonst themselves. You must reset between each run.

Show them the Calc example and ask them to change it so it acts like their mobile phone.

You will get problems with buttons referring to main not parent. Don’t introduce the complete range of controls in one session.

Lesson 6 Doing Lists

Aim

Method

Explain to the students the use of commands like first bf last bl item. Demonstrate a function that distructively parses a list. You will need to demonstrate the op command.

The time command gives a useful list. Add a time facility to the mobile phone, by stripping off the date.

Calc.lgo demonstrates how to add a number to the list and place it in a combobox

This can be used in combination with the sound command to add a tunes facility to the mobile phone.


A second attempt at Logo with the Sixth Form using a non constructivist approach.

A booklet for the Sixth form with previous form!


Logo as part of the UK NC- Years 7-11, 11yrs to 16yrs

British schools are tightly controlled in the content of the syllabus they may teach. This is inspected on a four yearly basis by Government inspectors who have powers to close schools and destroy lives. Their absolute authority has been challenged in the courts by a single school, Crown Woods who won an out of court settlement and a change of the verdict.

There are eight levels of achievement 1-8 and students must show a progression. Level 5 at 14yrs is fair, the better students aspire to a 7. ICT is compulsory in all years R- 11- though specialist teaching upto14 is not mandatory, inspectors would see that as a failing.The pupils levels are teacher assessed at 14 in ICT while English Maths and Science have an external exam. It is the result of these three that is used for future ICT predictions- as the ICT mark was internal. Students can tell you if they got a 554, or a 775. In 2000, hardly a child got 777 due to a marking anomoly in Science.

It is the teachers responsibility to write schemes of work for their classes, but model schemes of work have been produced by the QCA. These are very good but make some interesting assumptions about our clientele and resources!

 Useful Links for teachers to Schemes of Work and Worksheets

Under construction! Please use these as the basis for your own work- they are riddled with inaccuracies and inconsistences.

My schemes of work are adapted to my school circumstance- and the incoming ability levels and previous teaching. Some are more detailed than others and all can and will be improved.

My worksheets are printed on coloured A4, and stuffed into plastic envelopes that are stored in a ring binder. I produce one for each computer.
Schemes of Work Worksheets
Trial Year Seven Word Processing
Trial Year Eight Spreadsheets
Trial Year Nine Desk Top Publishing
Trial Year Ten/Eleven Data Handling
Trial Year Twelve Logo Work
Trial Year Thirteen Miscellaneous and Theory

My modified ICT National curriculum levels paper

Link to National Curriculum: Information Technology Orders.

A link to the QCA


A useful crib card

Now this is

Procedures Page 2

to name :parameter

[commands]

end

edall- brings up the editor, type your procedures here

File/ Save and exit to get back.

Using Variables

Make "name 99 make "name :other

Make "name :name +99

Note the use of the quote when we are defining a word, and the use of the colon (:) double dot to mean ‘the contents of’.

Output to screen

Pr [ ] print "text

show [ ] label [ ]

label "text

The turtle starts writing., in the set style.

settextfont [font] where font

[face] h w o wt i u s chset oprec cprec q p&f

Arithmetic

Prefix operators

difference product quotient sum

remainder minus

int round abs sign sqrt

exp ln log10 power

pi sin cos tan arctan

List Handling

first bf last bl- take sections of the list

item n [ list ] extracts the nth item

se "a ‘b "c makes the items to a list

Predicates Page 3

All end with a p, and give a value of true or false

emptyp numberp wordp

listp arrayp beforep

memberp substringp

greaterp lessp equalp

Control Structures:

repeat number [commands]

The commands are repeated fornumber times.

ifelse pred [commands] [other]

If the test called pred is true then the commands are done otherwise other are done.

pred can be :c<3, or lessp :c 3.Nota bene and and or are prefix operations.

ifelse and :c<3 n>10 [commands] [other]

while pred [commands]

While the test called pred remains true then the commands are repeated.

until pred [commands]

do.while [commands] [pred]

do.until [commands] [pred]

for [var start end step] [commands]

test pred

iftrue [commands]

iffalse [commands]

The command test sets a flag to true or false. This flag stays set till another test is done. It can be used by iftrue and iffalse.

 

Stepping through a list

foreach [list] [action]

 

Tunes. Page 4.

Sound [ freq length] is the principle command. Here are some frequencies

C 261 523
D 293 587
E 329 658
F 349 698
G 392 784
A 440 880
B 493 786
C 523 1046

Windows

MSWLogo allows the programmer to access routines in loaded .dll files, including windows.

windowcreate "parent "name "title x y w h [setup]

dialogcreate "parent "name "title x y w h [setup]

windowdelete "name

Buttons and Scroll Bars

buttoncreate "parent "name "title x y w h ~ [action]

buttonupdate "mybutton "newtitle

buttondelete "mybutton

scrollbarcreate "parent "name "title x y w h ~[setup]

scrollbarset "myscroll min max startpos

show scrollbarget "name

scrollbardelete "name

Grouped Controls

groupboxcreate ""parent "name x y w h

checkboxcreate "parent "group "name "title x y w h

checkboxset "name state

show checkboxget "name

checkboxdelete "name

Radiobutton commands are similar

Combo List and Edit Boxes

comboboxcreate "parent "name "title x y w h

comboboxaddstring "name "item

comboboxdeletestring "name index

comboboxsettext "name "text

show comboboxgettext "name

comboboxdelete "name

Listbox commands are similar, for edit box use combobox with h set small.

Input from keyboard and file

show readlist also readchar & readword

openread "foo.txt setread "foo.txt

repeat 2 [show readlist] ;the business

setread [] close "foo.txt

LOGO

Quick Reference Card Page One

 

lt left rt right

fd forward bk back

cs clearscreen home

pu penup pd pendown

pe penerase ppt penpaint

st showturtle

ht hideturtle

ft findturtle

setpc setpencolour

setfc setfloodcolor

0 Black 8 Brown
1 Blue 9 Ochre
2 Green 10 Dark Green
3 Cyan 11 Turquiose
4 Red 12 Orange
5 Magenta 13 Violet
6 Yellow 14 Gold
7 White 15 Grey

fill (fill "false) (fill "true)

setx sety setxy

sets the co-ordinates (±250, ± 150)

pos heading

tells the compass bearing.

Setpos[x y ] setheading

turns the turtle on a compass bearing.

towards x y

gives bearing of this point from the turtle.

These can be printing back to back in landscape to form two crib sheets.

ALevel Links | GCSE Links | GNVQ Links | KS3 Links | Logo Links