UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Logo : an approach to computer-based learning Pollack, Kimberly Ann Armstrong 1979

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-UBC_1979_A6_7 P65.pdf [ 3.7MB ]
Metadata
JSON: 831-1.0051791.json
JSON-LD: 831-1.0051791-ld.json
RDF/XML (Pretty): 831-1.0051791-rdf.xml
RDF/JSON: 831-1.0051791-rdf.json
Turtle: 831-1.0051791-turtle.txt
N-Triples: 831-1.0051791-rdf-ntriples.txt
Original Record: 831-1.0051791-source.json
Full Text
831-1.0051791-fulltext.txt
Citation
831-1.0051791.ris

Full Text

L O G O : AN APPROACH TO C O M P U T E R - B A S E D L E A R N I N G b y K I M B E R L Y ANN ARMSTRONG P O L L A C K B . A . , U n i v e r s i t y o f C a l i f o r n i a , B e r k e l e y , 1975 A T H E S I S SUBMITTED I N P A R T I A L F U L F I L L M E N T OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF S C I E N C E i n THE F A C U L T Y OF GRADUATE S T U D I E S ( D e p a r t m e n t o f C o m p u t e r S c i e n c e ) We a c c e p t t h i s t h e s i s a s c o n f o r m i n g t o t h e r e q u i r e d s t a n d a r d s THE U N I V E R S I T Y OF B R I T I S H COLUMBIA M a y , 1979 ® K i m b e r l y Ann A r m s t r o n g P o l l a c k , 1979 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the Head of my Department or by his representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Department of Computer Science The University of British Columbia 2075 Wesbrook Place Vancouver, Canada V6T 1W5 Date >E-6 B P 75-51 1 E ABSTRACT The o b j e c t i v e o f t h i s t h e s i s i s t o e x p l o r e t h e p o s s i b l e u s e o f LOGO a s a v e h i c l e f o r c o m p u t e r a s s i s t e d i n s t r u c t i o n i n b o t h s e c o n d a r y a n d p o s t - s e c o n d a r y e n v i r o n m e n t s . The s p e c t r u m o f c u r r e n t l a n g u a g e s a n d s y s t e m s f o r C A I i s s u m m a r i z e d b y way o f s e l e c t e d e x a m p l e l a n g u a g e s a n d some o f t h e m o s t r e c e n t L O G O - b a s e d r e s e a r c h i s d e s c r i b e d . I n p a r t i c u l a r , t h e w o r k p e r f o r m e d a t B B N , MIT and a t t h e U n i v e r s i t y o f E d i n b u r g h i s s u m m a r i z e d . The r e m a i n d e r o f t h e t h e s i s i s b a s e d on t h e a u t h o r ' s : e x p e r i e n c e i n u s i n g LOGO a t t h e U n i v e r s i t y o f B r i t i s h C o l u m b i a . I n c l u d e d a r e a new LOGO U s e r ' s M a n u a l and t h e r e s u l t s o f an e v a l u a t i o n o f b o t h t h e l a n g u a g e a n d t h e M a n u a l a s w e l l a s a d i s c u s s i o n o f t h e a c t i o n s t a k e n b a s e d on t h e s t u d e n t s ' r e s p o n s e s . T h e t h e s i s c o n c l u d e s w i t h a c o m p a r i s o n o f LOGO w i t h i t s n e a r e s t c o m p e t i t o r ( B A S I C ) , a c r i t i q u e o f t h e BCLOGO i m p l e m e n t a t i o n and a f i n a l c h a p t e r c o n t a i n i n g t h e a u t h o r ' s c o n c l u s i o n s a n d p r o p o s a l s f o r f u t u r e r e s e a r c h . i i i T A B L E OF CONTENTS 1. I n t r o d u c t i o n . . . . . . . . . . . . . . . 1 2 . C o m p u t e r s i n E d u c a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 . 1 S u r v e y w i t h i n B r i t i s h C o l u m b i a . . . . . . . . . . . . . . . . . . . . . 5 2 . 2 A d m i n i s t r a t i v e Use . 6 2 . 3 C o m p u t e r A s s i s t e d I n s t r u c t i o n S y s t e m s . . . . . . . . . . . . . . 8 2 . 3 . 1 S O P H I E 12 2 . 3 . 2 PLATO 13 2 . 3 . 3 E U C L I D . . J . . . . . 17 2 1 3 . 4 P I L O T 19 2 . 3 . 5 N A T A L - 7 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2 . 3 . 6 A B r i e f C o m p a r i s o n o f t h e S y s t e m s . . . . . . . . . . . . . 22 2.4 P r o g r a m m i n g and P r o b l e m S o l v i n g 23 3 . LOGO i n P e r s p e c t i v e 24 3 . 1 B r i e f H i s t o r y o f LOGO . . . . . . . . . . . . . . . . . . . . . 24 3.2 U s e o f LOGO 25 3 . 2 . 1 B o l t , B e r a n e k and Newman, I n c . . . . . . . . i . . . . . . . . . . 25 3 . 2 . 2 A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y a t MIT . . 26 3 . 2 . 3 U n i v e r s i t y o f E d i n b u r g h 28 3 . 3 C o m p e t i n g L a n g u a g e s . . . . 3 0 4. Summary o f LOGO . l. . . . . . . . 32 5. T e a c h i n g M a t e r i a l s B u i l t A r o u n d LOGO 35 6 . E x p e r i e n c e i n C o m p u t e r S c i e n c e 200 . . . . . . . . . . . . . . . . a . . . . 37 6 . 1 The Two A s s i g n m e n t s . . . . 38 6 . 2 Two-^Par t Q u e s t i o n n a i r e 39 6 . 2 . 1 Q u e s t i o n s on LOGO 39 6 . 2 . 2 Q u e s t i o n s on t h e M a n u a l . . . . . . . . . . . . . . . . . . . . . . . 41 6 . 3 Q u e s t i o n n a i r e R e s u l t s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7. C r i t i q u e o f LOGO . . . . . . . . . . . . . . . 45 8 . C o n c l u s i o n 49 9. R e f e r e n c e s • 51 A p p e n d i x 54 ACKNOWLEDGEMENT I w o u l d l i k e t o t h a n k my s u p e r v i s o r , D r . A l a n M a c k w o r t h , f o r h i s many i d e a s , s u p p o r t ; p a t i e n c e a n d c a r e f u l e d i t i n g o f t h i s t h e s i s . I w o u l d a l s o l i k e t o t h a n k D r . Abbe M o w s h o w i t z a n d V i n c e n t M a n i s f o r t h e i r commen t s a n d my h u s b a n d , B a r y , f o r h i s e n c o u r a g e m e n t a n d u n d e r s t a n d i n g . 1 L O G O : AN APPROACH TO C O M P U T E R - B A S E D L E A R N I N G 1 • I n t r o d u c t i o n A l t h o u g h t h e f i r s t u s e s o f c o m p u t i n g w e r e l a r g e l y f o r m i l i t a r y a n d s c i e n t i f i c c o m p u t a t i o n s , t h e m a j o r u s e t o d a y i s f o r d a t a p r o c e s s i n g and a d m i n i s t r a t i o n . T h i s u s a g e i s c h a r a c t e r i z e d by l a r g e v o l u m e s o f i n p u t and o u t p u t a n d r e l a t i v e l y s i m p l e c o m p u t a t i o n s . D a t a p r o c e s s i n g e n t a i l s , among o t h e r t h i n g s , c r e a t i n g , u p d a t i n g a n d d e l e t i n g r e c o r d s , r e c o r d i n g t r a n s a c t i o n s , s o r t i n g a n d p r i n t i n g s t a t e m e n t s £ B O H L , 1 9 7 1 J . T h e s e p r o c e s s e s a r i s e i n t h e n o r m a l o p e r a t i o n o f b u s i n e s s , i n s t i t u t i o n s a n d g o v e r n m e n t . O t h e r u s e s o f c o m p u t e r s i n c l u d e g e n e r a t i o n o f m u s i c , p l a y i n g c h e s s , c h e c k e r s , o r b r i d g e , g e n e r a t i n g p i c t u r e s f o r a n i m a t e d f i l m s a n d c o n t r o l l i n g m a c h i n e r y . Why s h o u l d c o m p u t e r s i n s c h o o l s be c o n f i n e d t o t a s k s s u c h a s " c o m p u t e t h e sum o f t h e s q u a r e s o f t h e f i r s t t w e n t y o d d n u m b e r s " ? Why n o t u s e c o m p u t e r s t o h e l p c h i l d r e n l e a r n f u n d a m e n t a l s k i l l s w h i c h a r e n e e d e d i n e v e r y d a y l i f e ; l e t u s u s e t h e c o m p u t e r s t o h e l p e d u c a t e t h e n e x t g e n e r a t i o n . T h i s t h e s i s d e s c r i b e s o n e a p p r o a c h t o u s i n g c o m p u t e r s i n t h e e d u c a t i o n a l p r o c e s s . U n f o r t u n a t e l y , when e d u c a t o r s s p e a k a b o u t c o m p u t e r s i n e d u c a t i o n t h e y do n o t a l l h a v e t h e same i m a g e i n m i n d . Some t h i n k o f u s i n g t h e c o m p u t e r t o p r o g r a m t h e c h i l d ; o t h e r s t h i n k o f t e a c h i n g t h e c h i l d t o p r o g r a m t h e c o m p u t e r . B u t mos t 2 e d u c a t o r s h a v e a t l e a s t t h i s b e l i e f i n common: t h e t r a n s a c t i o n s b e t w e e n t h e c o m p u t e r a n d t h e c h i l d w i l l be some k i n d o f c o n v e r s a t i o n o r q u e s t i o n s a n d a n s w e r s u s i n g w o r d s o r n u m b e r s . C o m p u t e r s may be u s e d t o h e l p c h i l d r e n w i t h v a r i o u s l e v e l s o f a b i l i t y and i n t e l l i g e n c e . T h e y may be u s e d t o h e l p t h o s e s t u d e n t s who a r e b r i g h t a n d f i n d t h e e v e r y d a y r o u t i n e o f t h e c l a s s r o o m b o r i n g ^ T h e s e s t u d e n t s c a n u s e c o m p u t e r s t o h e l p t h e m i n a d v a n c e d s u b j e c t s w h i l e t h e t e a c h e r i s b u s y w i t h o t h e r s t u d e n t s . The c o m p u t e r may be u s e d by t h o s e s t u d e n t s who a r e s l o w o r who a r e h a v i n g d i f f i c u l t y i n a p a r t i c u l a r s u b j e c t . T h e c o m p u t e r c a n g i v e t h e s e s t u d e n t s t h e i n d i v i d u a l h e l p w h i c h t h e y n e e d . I n t e r a c t i o n w i t h c o m p u t e r s c a n be an e n j o y a b l e l e a r n i n g e x p e r i e n c e f o r a l l s t u d e n t s no m a t t e r how q u i c k l y o r s l o w l y t h e y l e a r n i f a p r o p e r e n v i r o n m e n t i s p r o v i d e d . T h i s t h e s i s i s a b o u t L O G O , a h i g h - l e v e l a d v a n c e d c o m p u t e r l a n g u a g e d e s i g n e d e s p e c i a l l y f o r t h e b e g i n n e r . I t was d e v e l o p e d j o i n t l y by B o l t , B e r a n e k a n d Newman, I n c . , a n d S e y m o u r P a p e r t , a c o n s u l t a n t f r o m t h e A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y a t M I T . B o t h BBN a n d P a p e r t h a v e b e e n u s i n g LOGO t o h e l p c h i l d r e n l e a r n m a t h e m a t i c a l s k i l l s , t o a i d c h i l d r e n who h a v e m e n t a l d i s a b i l i t i e s a n d t o t e a c h c h i l d r e n t o l e a r n how t o t h i n k . One o f t h e f e a t u r e s w h i c h makes LOGO e s p e c i a l l y a t t r a c t i v e f o r i n s t r u c t i n g b e g i n n e r s i s i t s f a c i l i t i e s f o r " t u r t l e s " . A t u r t l e i s a d i s k a b o u t one f o o t i n d i a m e t e r e q u i p p e d w i t h w h e e l s * a l i g h t , a h o r n and a p e n f o u n d o n t h e b o t t o m i n t h e c e n t e r o f t h e d i s k . The t u r t l e i s r u n by commands g i v e n t o i t 3 by the c h i l d w i t h the a i d o f a but ton box. The b u t t o n s s p e c i f y the f o l l o w i n g a c t i o n s : F o r w a r d , Backward, E i g h t , L e f t , Go, S top , Pendown, Penup and Honk. When the pen i s down the t u r t l e t r a c e s the path i t i s t a k i n g . S e v e r a l s t u d i e s have been done on c h i l d r e n who are low i n s c h o l a s t i c s k i l l s ; t y p i c a l l y , a f t e r o n l y one month o f i n d i v i d u a l work with the computer these s k i l l s have improved and the c h i l d r e n have aga in become i n t e r e s t e d i n l e a r n i n g . The o b j e c t i v e s o f t h i s t h e s i s a r e to present a d e s c r i p t i o n of LOGO, to e v a l u a t e the c l a i m s o f i t s p r o p o n e n t s , t o c r i t i c a l l y review the LOGO a p p r o a c h , t o expose the reader to a few CAI languages wi th a d e s c r i p t i o n of each and to e v a l u a t e s tudents* r e a c t i o n s to LOGO. In Chapter 2 I d i s c u s s the a r e a of computers i n e d u c a t i o n — how computers a r e used f o r i n s t r u c t i o n i n p u b l i c s c h o o l s throughout B r i t i s h Columbia and how computers have he lped s i m p l i f y a d m i n i s t r a t i v e t a s k s . I a l s o d i s c u s s Computer A s s i s t e d I n s t r u c t i o n and presen t a summary o f the SOPHIE, PLATO, EUCLID, PILOT and NATAL -74 systems. Chapter 3 d i s c u s s e s the h i s t o r y of LOGO and summarize what BBN, MIT and Edinburgh are do ing with the language* A d d i t i o n a l l y , t h e r e i s a s e c t i o n d e s c r i b i n g the o t h e r languages wi th which LOGO has to compete. C h a p t e r 4 p r e s e n t s an o v e r a l l summary of the LOGO language . LOGO i s compared with LISP and there i s a s h o r t s e c t i o n on c o n t r o l and data s t r u c t u r e s . Chapter 5 d e s c r i b e s the m a t e r i a l s I have developed f o r making use o f LOGO. C h a p t e r 6 p r e s e n t s a summary o f my e x p e r i e n c e i n CPSC 200, a course i n which LOGO and my manual were used, a l s o 4 t h e r e s u l t s o f t h e q u e s t i o n n a i r e , l i s t i n g e a c h s t a t e m e n t w i t h s t u d e n t s ' r e s p o n s e s . C h a p t e r 7 p r e s e n t s a c r i t i q u e o f L O G O . A n d i n C h a p t e r 8 I p r e s e n t my c o n c l u s i o n s and some t h o u g h t s f o r f u t u r e w o r k . 5 2 . C o m p u t e r s i n E d u c a t i o n 2 . 1 S u r v e y , w i t h i n B r i t i s h C o l u m b i a The u s e o f c o m p u t e r s i n e d u c a t i o n i s b e c o m i n g v e r y common: o u t o f a p p r o x i m a t e l y 90 s c h o o l d i s t r i c t s t h r o u g h o u t B r i t i s h C o l u m b i a 25 ( i n c l u d i n g a l l L o w e r M a i n l a n d s c h o o l s ) h a v e c o m p u t e r a c c e s s o f one f o r m o r a n o t h e r [ D O D D S , 1 9 7 8 ] , A v a i l a b l e h a r d w a r e r a n g e s f r o m t i m e - s h a r e d m e d i u m - t o l a r g e - s c a l e c o m p u t e r s y s t e m s w h i c h a r e owned o r r e n t e d b y t h e s c h o o l s t o p o r t a b l e m i c r o - c o m p u t e r s w h i c h a r e a l s o owned o r r e n t e d by t h e s c h o o l s ; . A l t h o u g h o n l y B A S I C i s b e i n g t a u g h t a n d u s e d on m o s t o f t h e s e s y s t e m s many s t u d e n t s a r e s p o n s o r e d t o g o t o OBC o r SFU and l e a r n a d d i t i o n a l l a n g u a g e s — P A S C A L , APL B C P L a n d o t h e r s . A t t h e e l e v e n t h and t w e l f t h g r a d e l e v e l s f u l l s e m e s t e r c o m p u t e r c o u r s e s a r e a v a i l a b l e ; i n g r a d e l e v e l s e i g h t , n i n e a n d t e n t h e r e a r e u n i t s o n c o m p u t e r s t h a t t h e s t u d e n t s may e l e c t t o t a k e . I n a l l l e v e l s s t u d e n t s w r i t e p r o g r a m s a n d do s i m u l a t i o n s i n s u c h a r e a s as b u s i n e s s a p p l i c a t i o n s , e c o n o m i c s a n d m a t h e m a t i c s . Many s t u d e n t s become v e r y i n v o l v e d w i t h c o m p u t e r s a n d s p e n d mos t o f t h e i r s p a r e t i m e l e a r n i n g more a b o u t t h e i r o r g a n i z a t i o n , s t r u c t u r e a n d u s e , a s w e l l a s l e a r n i n g a d d i t i o n a l l a n g u a g e s . 6 2 . 2 A d m i n i s t r a t i v e U s e The a d m i n i s t r a t i v e u s e o f c o m p u t e r s i n t h e s e c o n d a r y a n d e l e m e n t a r y s c h o o l s may be d i v i d e d i n t o t w o g e n e r a l c a t e g o r i e s : b u s i n e s s a p p l i c a t i o n s and t e a c h e r r e l a t e d t a s k s . A t t h e M i n i s t e r i a l , S c h o o l D i s t r i c t a n d S c h o o l l e v e l s , t h e e d u c a t i o n s y s t e m i s a " b u s i n e s s " , w i t h a c c o u n t i n g , r e c o r d - k e e p i n g a n d r e p o r t i n g r e q u i r e m e n t s v e r y s i m i l a r t o a n y o t h e r l a r g e b u s i n e s s . B e s i d e s r e m o v i n g a l o t o f c l e r i c a l w o r k , t h e u s e o f c o m p u t e r s f o r a c c o u n t i n g , p l a n n i n g a n d management p r o v i d e s a d v a n t a g e s t h a t a r e n o t p o s s i b l e w i t h m a n u a l s y s t e m s . I n many c a s e s c o m p u t e r s y s t e m s a r e f a s t e r , more c o s t e f f e c t i v e a n d more e f f i c i e n t . T h e r e a r e a m u l t i t u d e o f o t h e r t a s k s w h i c h r e l a t e s p e c i f i c a l l y t o s c h o o l s : c a f e t e r i a a c c o u n t i n g , m a i n t e n a n c e , s c h e d u l i n g , p u p i l c e n s u s , f i l m r e s e r v a t i o n s , h o n o u r r o l l , s c h o o l b u s s c h e d u l i n g , p u p i l h e a l t h r e c o r d s , g r a d e r e p o r t s , p o s t i n g g r a d e s , t e s t r e s u l t s a n d l i b r a r y h o l d i n g s . C o m p u t e r s a r e now b e i n g u s e d t o a u t o m a t e many o f t h e s e t a s k s . An i m p o r t a n t a p p l i c a t i o n n o t y e t m e n t i o n e d i s t h a t o f c l a s s s c h e d u l i n g . T h i s i n v o l v e s c o r r e l a t i n g t h e r e q u e s t s f o r c o u r s e s s u p p l i e d by s t u d e n t s w i t h t h e c o u r s e s o f f e r e d a n d t h e f a c i l i t i e s a v a i l a b l e i n t h e s c h o o l t o p l a n w h i c h t e a c h e r s w i l l t e a c h w h i c h c o u r s e s i n w h i c h r o o m s a t what t i m e s , a n d w h i c h s t u d e n t s w i l l be i n e a c h c l a s s . R e p o r t s a r e n e e d e d f o r s t u d e n t s , t e a c h e r s and t h e p r i n c i p a l f o r r e p o r t i n g t o h i g h e r l e v e l s i n t h e s c h o o l d i s t r i c t . W i t h t h e a i d o f t h e c o m p u t e r 7 t h i s i n f o r m a t i o n may w i t h o u t b e i n g s o p r o n e be o b t a i n e d r a p i d l y a n d i n e x p e n s i v e l y t o "human e r r o r " . 8 2-3 C o m p u t e r A s s i s t e d I n s t r u c t i o n S y s t e m s I n C o m p u t e r A s s i s t e d I n s t r u c t i o n ( C A I ) , t h e g o a l i s t o r e p l a c e t h e t r a d i t i o n a l s t u d e n t - t e a c h e r d i a l o g w i t h a s t u d e n t - c o m p u t e r i n t e r a c t i o n . B e c a u s e m a c h i n e s c o m m u n i c a t e f a s t e r t h a n h u m a n s , t h e y s h o u l d be a b l e t o p r o v i d e m o r e , a n d b e t t e r , c o m m u n i c a t i o n . T h i s o b j e c t i v e h a s b e e n a c h i e v e d i n d r i l l and p r a c t i c e * a n d i n o t h e r n a r r o w l y d e f i n e d c i r c u m s t a n c e s — f o r e x a m p l e , c l a s s e s f o r s a l e s p e r s o n a l , a i r c r a f t a n d w e a p o n - s y s t e m s t r a i n i n g . H o w e v e r , t h e s e c i r c u m s t a n c e s r e p r e s e n t o n l y a f r a c t i o n o f a l l e d u c a t i o n a l e n v i r o n m e n t s . I n t h e v a s t m a j o r i t y o f c a s e s , C A I h a s y e t t o show r e s u l t s c o m p a r a b l e t o t h o s e a s s o c i a t e d w i t h a n e x p e r i e n c e d human t e a c h e r , e v e n when e x c e p t i o n a l p r o g r a m m i n g m a t e r i a l h a s b e e n a v a i l a b l e [ S U G A B M A N , 1 9 7 8 J . I n s t r u c t i o n a l m a t e r i a l p r e p a r e d f o r C A I s y s t e m s may b e c o m p a r e d t o a s e r i e s o f t e x t b o o k s t h a t h a v e b e e n b r o k e n down i n t o s m a l l u n i t s o f i n f o r m a t i o n . U n l i k e a t e x t b o o k , h o w e v e r , t h e m a t e r i a l may be p r e s e n t e d t o s t u d e n t s on many l e v e l s o f d i f f i c u l t y a n d e a c h s t u d e n t p r o g r e s s e s t h r o u g h t h e m a t e r i a l o n an i n d i v i d u a l p a t h c h a r t e d by h i s p r e v i o u s p e r f o r m a n c e . The c o m m u n i c a t i o n b e t w e e n t h e s t u d e n t a t t h e t e r m i n a l a n d t h e t e a c h e r i s p r i v a t e . E a c h s t u d e n t p r o g r e s s e s a t h i s own s p e e d a n d l e v e l , c o m p e t i n g o n l y w i t h h i m s e l f — n o t w i t h o t h e r s t u d e n t s . F a s t s t u d e n t s p r o c e e d more q u i c k l y b e c a u s e t h e y make f e w e r m i s t a k e s , w h i l e s l o w e r s t u d e n t s t a k e l o n g e r b e c a u s e t h e y a r e i n f o r m e d o f t h e i r m i s t a k e s a n d a r e a l l o w e d t o t r y a g a i n . 9 C A I s y s t e m s a r e c u r r e n t l y b e i n g u s e d i n many e d u c a t i o n a l e n v i r o n m e n t s : (1) A t t h e U n i v e r s i t y o f I l l i n o i s m o s t c o u r s e s a r e u s i n g C A I i n s t r u c t i o n i n c h e m i s t r y , p h y s i c s , f o r e i g n l a n g u a g e s , m e d i c i n e a n d a c c o u n t i n g [ SDGAEMAN, 1 9 7 8 ] ; (2) A t t h e U n i v e r s i t y o f C a l i f o r n i a a t I r v i n e c o m p l e t e c o u r s e s i n p h y s i c s , m a t h e m a t i c s and a n t h r o p o l o g y a r e u s i n g C A I i n s t r u c t i o n ; (3) A t S t a n f o r d U n i v e r s i t y f o u r c o m p l e t e m a t h e m a t i c c o u r s e s a n d p a r t s o f s e v e r a l f o r e i g n l a n g u a g e c o u r s e s u s e C A I ; (4) and a t t h e U n i v e r s i t y o f B r i t i s h C o l u m b i a N A T A L - 7 4 , a t y p i c a l C A I l a n g u a g e , i s c u r r e n t l y b e i n g u s e d . P e r h a p s t h e m o s t s i g n i f i c a n t a d v a n t a g e o f C A I o v e r more t r a d i t i o n a l i n s t r u c t i o n i s i t s f l e x i b i l i t y . I n a t y p i c a l C A I c l a s s r o o m y o u m i g h t f i n d o n e s t u d e n t d o i n g d r i l l on S p a n i s h v e r b s , a n o t h e r s t u d e n t c o n d u c t i n g a c h e m i s t r y e x p e r i m e n t , y e t a n o t h e r s t u d e n t s o l v i n g a m a t h e m a t i c a l p r o b l e m a n d o t h e r s t u d e n t s s t u d y i n g F r e n c h g r a m m a r , E n g l i s h , h i s t o r y a n d p h y s i c s . E a c h s t u d e n t p r o g r e s s e s a t h i s own l e a r n i n g r a t e — t h e o n e w h i c h i s b e s t s u i t e d f o r h i n u O f t e n when a p e r s o n t h i n k s o f d r i l l and p r a c t i c e m a t e r i a l s , he v i s u a l i z e s l o n g s e q u e n c e s o f a d d i t i o n p r o b l e m s o r v o c a b u l a r y w o r d s a n d a s s o c i a t e s s u c h e x e r c i s e s w i t h d u l l r e p e t i t i o n , r o t e memory , l o w i n c e n t i v e a n d few s i d e b e n e f i t s . T h i s n e e d n o t be t h e c a s e . T h e r e a r e s e v e r a l e x a m p l e s o f w e l l - d e s i g n e d d r i l l m a t e r i a l s i n e l e m e n t a r y m a t h e m a t i c s [ D U G D A L E , 1975 ] a n d o n e i n s c i e n c e I S M I T H , 1 9 7 1 j . E a c h o f t h e s e e x a m p l e s e x h i b i t s more t h a n j u s t r o t e memory p r a c t i c e . F i r s t , m o t i v a t i o n i s p r o v i d e d b y m a k i n g a c o m p e t i t i v e game o f 10 t h e p r a c t i c e m a t e r i a l . The p r a c t i c e c o m e s as t h e s t u d e n t g e n e r a t e s (by a d d i t i o n , s u b t r a c t i o n , m u l t i p l i c a t i o n a n d d i v i s i o n ) many n u m b e r s i n d e t e r m i n i n g w h a t he t h i n k s i s h i s b e s t movei The s t u d e n t c o m p e t e s a g a i n s t t i m e , t h e c o m p u t e r , o r a n o t h e r s t u d e n t . I n a d d i t i o n t o r e i n f o r c e m e n t by d r i l l , a n o t h e r o b j e c t i v e o f t h e m a t e r i a l i s p r a c t i c e i n d e c i s i o n m a k i n g a n d s t r a t e g y d e v e l o p m e n t . The s t u d e n t m us t make d e c i s i o n s a s t o how t o p r o c e e d i n t h e game a n d a s he m a k e s t h e s e d e c i s i o n s he d e v e l o p s a s t r a t e g y t h a t h e l p s d e t e r m i n e t h e o u t c o m e o f t h e game . T h i s t y p e o f d r i l l and p r a c t i c e g i v e s up some o f t h e c o n t r o l n e e d e d t o m e a s u r e t h e t y p e o f d i f f i c u l t y a s t u d e n t i s h a v i n g , b u t i t h a s many a d d i t i o n a l a d v a n t a g e s . O f a l l t h e a d v a n t a g e s c l a i m e d f o r C A I , t h e m o s t i m p o r t a n t i s t h a t i t e n a b l e s e a c h s t u d e n t t o l e a r n a t h i s own p a c e i n s t e a d o f b e i n g f o r c e d t o s t a y l o c k e d i n s t e p w i t h c l a s s m a t e s whose k n o w l e d g e and l e a r n i n g r a t e s a r e d i f f e r e n t . I n d i v i d u a l i z e d i n s t r u c t i o n h a s l o n g b e e n a g o a l i n e d u c a t i o n I WEISGEBBEB , 1 9 7 1 , ] . P a p e r t e m p h a s i z e s t h e v e r s a t i l i t y o f C A I a n d t h e e x c i t i n g o p p o r t u n i t i e s i t o f f e r s f o r t e a c h i n g c o n c e p t s and t e c h n i q u e s i n m a t h e m a t i c s , b i o l o g y , and m e c h a n i c s e v e n t o e l e m e n t a r y s c h o o l s t u d e n t s [ P A P E R T , 1971 J . To p r o v i d e t h e r e a d e r w i t h a f e e l i n g f o r t h e : c u r r e n t s t a t e o f t h e a r t i n C A I s y s t e m s I p r e s e n t a b r i e f s u r v e y o f f i v e r e c e n t r e s e a r c h p r o j e c t s : S O P H I E , P L A T O , E U C L I D , P I L O T a n d N A T A L - 7 4 . 11 T h e s e f i v e p r o j e c t s w e r e s e l e c t e d b e c a u s e t h e y a r e r e p r e s e n t a t i v e o f t h e C A I s y s t e m s c u r r e n t l y a v a i l a b l e and t h e y i l l u s t r a t e t h e v a r i o u s t h e m e s w h i c h C A I r e s e a r c h e r s f o l l o w i n t h e i r s y s t e m s 1 d e s i g n a n d i m p l e m e n t a t i o n . I n p a r t i c u l a r , S O P H I E i s r e p r e s e n t a t i v e o f t h e a r t i f i c i a l i n t e l l i g e n c e a p p r o a c h t o w a r d s l i m i t e d , s p e c i f i c " i n t e l l i g e n t " C A I s y s t e m s . PLATO r e p r e s e n t s t h e more o r l e s s t r a d i t i o n a l g e n e r a l - p u r p o s e l a r g e s c a l e a p p r o a c h . E U C L I D r e p r e s e n t s t h e t r a d i t i o n a l s p e c i a l - p u r p o s e a p p r o a c h . P I L O T i s r e p r e s e n t a t i v e o f s y s t e m s w h i c h a r e d e s i g n e d f o r m i n i c o m p u t e r s a n d s m a l l - s c a l e s y s t e m s . L a s t l y , t h e c o u r s e w a r e f o r N A T A L - 7 4 e x e m p l i f e s t h e v a r i o u s a u t h o r l a n g u a g e s a v a i l a b l e f o r C A I . T h i s s y s t e m i s a d i r e c t d e s c e n d a n t o f t h e f i r s t w i d e l y p r o m o t e d a u t h o r l a n g u a g e , C O U B S E W R I T E B , w h i c h was d e v e l o p e d by I B M i n t h e e a r l y a n d m i d - 1 9 6 0 ' s . 12 2 . 3 . 1 S O P H I E S O P H I E i s a n i n s t r u c t i o n a l s y s t e m f o r t e a c h i n g e x p e r t - g r a d e e l e c t r o n i c t r o u b l e s h o o t i n g w h i c h h a s b e e n u n d e r d e v e l o p m e n t a t BBN f o r s e v e r a l y e a r s [BROWN, 1974 a n d 1 9 7 6 ] . S O P H I E was d e v e l o p e d t o p r o v i d e s y m b o l i c k n o w l e d g e , p r o b l e m s o l v i n g s t r a t e g i e s a n d n a t u r a l c a p a b i l i t i e s s i m i l a r t o a human t u t o r . I n p a r t i c u l a r SOPHIE u s e s many o f t h e c o n c e p t s a n d t e c h n i q u e s o f A r t i f i c i a l I n t e l l i g e n c e . SOPHIE i s e s p e c i a l l y i m p o r t a n t b e c a u s e i t d e p a r t s f r o m t h e t r a d i t i o n a l C A I a p p r o a c h o f p r o v i d i n g o n l y a q u e s t i o n - r e s p o n s e e n v i r o n m e n t — i t i s a b l e t o d r a w c o n c l u s i o n s b a s e d o n i t s " i n t e l l i g e n c e " . The p r i m a r y s e a t o f t h i s i n t e l l i g e n c e r e s i d e s i n a c o l l e c t i o n o f s p e c i a l p u r p o s e i n f e r e n c i n g p r o c e d u r e s , e a c h o f w h i c h p e r f o r m s a c e r t a i n c l a s s o f i n f e r e n c e s e x t r e m e l y e f f i c i e n t l y . T h e m o s t i m p o r t a n t o f t h e s e p r o c e d u r e s d r i v e s p e c i a l a n d g e n e r a l p u r p o s e s i m u l a t o r s i n o r d e r t o d e t e r m i n e t h e r e s u l t o f some p a r t i c u l a r a c t i o n . The f a c t u a l d a t a b a s e r e s i d e s i n a s e m a n t i c n e t . 13 2 - 3 . 2 PLATO B e g i n n i n g i n 1960 a s a s i n g l e t e r m i n a l , w h i c h c o n s i s t e d o f a s m a l l k e y b o a r d a n d an o r d i n a r y t e l e v i s i o n r e c e i v e r c o n n e c t e d t o I L L I A C I , PLATO h a s e v o l v e d o v e r t h e p a s t 19 y e a r s t o t h e PLATO I V S y s t e m . T h i s i s p r o b a b l y t h e l a r g e s t , m o s t h e a v i l y - f u n d e d C o m p u t e r A s s i s t e d I n s t r u c t i o n e x p e r i m e n t i n t h e w o r l d [ D E N E N B E R G , 1 9 7 8 ] . B i t z e r a n d B r a u n f e l d at- t h e U n i v e r s i t y o f I l l i n o i s i n i t i a t e d t h e PLATO p r o j e c t . T h e s y s t e m was u s e d i n i t s e a r l y s t a g e s f o r t e a c h i n g c o m p u t e r - r e l a t e d t o p i c s , a s w e l l a s m a t h e m a t i c s a n d l a n g u a g e d r i l l s [ K I N G E R Y , 196 7 j . The PLATO s y s t e m i s b a s e d on a C o n t r o l D a t a C o r p o r a t i o n C y b e r 7 3 - 2 c o m p u t e r w i t h a h i g h - s p e e d c e n t r a l memory o f 6 5 , 0 0 0 6 0 - b i t w o r d s a n d t w o c e n t r a l p r o c e s s i n g u n i t s e a c h c a p a b l e o f a p p r o x i m a t e l y one m i l l i o n i n s t r u c t i o n s p e r s e c o n d [ B I T Z E R , 1 9 7 6 ] . PLATO i s c o n s t a n t l y b e i n g e x t e n s i v e l y e v a l u a t e d b y t h e E d u c a t i o n a l T e s t i n g S e r v i c e s a t P r i n c e t o n , New J e r s e y . The s t u d i e s a r e o n t h e u s e o f PLATO i n a v a r i e t y o f e d u c a t i o n a l s e t t i n g s . PLATO h a s s e v e r a l a i d s t o h e l p s t u d e n t s , t e a c h e r s a n d e v a l u a t o r s i n g a t h e r i n g a n d p r o c e s s i n g r e l e v a n t d a t a . F i r s t , t h e a u t h o r o r t e a c h e r c a n s p e c i f y w h a t v a r i a b l e o r c o m p u t e r - s t u d e n t t r a n s a c t i o n s s h o u l d b e s t o r e d by t h e c o m p u t e r f o r l a t e r p r o c e s s i n g . S e c o n d , t h e s t o r e d i n f o r m a t i o n c a n be s o r t e d , p r o c e s s e d a n d d i s p l a y e d i n any manner s p e c i f i e d b y t h e 14 t e a c h e r , . The s e c u r i t y o f t h e s y s t e m makes i t p o s s i b l e f o r a s t u d e n t t o s e e s u c h t h i n g s as h i s p r o g r e s s t h r o u g h t h e l e s s o n m a t e r i a l , t e s t s c o r e s a n d r e l a t i v e s t a n d i n g i n t h e c o u r s e , w i t h o u t b e i n g a b l e t o s e e t h e i d e n t i c a l r e s u l t s f o r o t h e r s t u d e n t s ; The PLATO c o m p u t e r - b a s e d e d u c a t i o n a l s y s t e m h a s b e e n s p e c i f i c a l l y d e s i g n e d t o p r o v i d e i n t e r a c t i v e , s e l f - p a c e d i n s t r u c t i o n t o l a r g e n u m b e r s o f s t u d e n t s [ B I T Z E R , 1 9 7 6 ] . L e s s o n m a t e r i a l i s d i s p l a y e d on a s c r e e n 22 c e n t i m e t e r s s q u a r e and may c o n s i s t o f t e x t , d r a w i n g s , g r a p h s , and c o l o u r p h o t o g r a p h s . S t u d e n t s i n t e r a c t w i t h t h e m a t e r i a l t h r o u g h a s p e c i a l k e y s e t t h a t c l o s e l y r e s e m b l e s a t y p e w r i t e r k e y b o a r d , a n d t h e y r e c e i v e e s s e n t i a l l y i n s t a n t a n e o u s r e i n f o r c e m e n t o f c o r r e c t w o r k a n d a s s i s t a n c e when t h e y e n c o u n t e r d i f f i c u l t i e s . S t u d e n t s c a n work a t t h e i r c o n v e n i e n c e i n c l a s s r o o m s . The u s e r s o f PLATO r a n g e f r o m g r a d e s c h o o l s t u d e n t s l e a r n i n g r e a d i n g a n d m a t h e m a t i c s t o g r a d u a t e s t u d e n t s i n t h e m e d i c a l s c i e n c e s [ S M I T H , 1 9 7 6 j . The v a r i o u s PLATO i n s t a l l a t i o n s l o c a t e d i n u n i v e r s i t i e s , c o l l e g e s , c o m m u n i t y c o l l e g e s , p u b l i c s c h o o l s * m i l i t a r y t r a i n i n g s c h o o l s a n d c o m m e r c i a l o r g a n i z a t i o n s now i n c l u d e s e v e r a l d i f f e r e n t m a i n f r a m e s a n d o v e r 950 t e r m i n a l s . The PLATO s y s t e m a t t h e U n i v e r s i t y o f I l l i n o i s p r o v i d e s u s e r s a c c e s s t o more t h a n 3500 h o u r s o f i n s t r u c t i o n a l m a t e r i a l i n more t h a n 100 s u b j e c t a r e a s { .SMITH, 1976 j . A c o m p l e t e l e s s o n on PLATO h a s many o f t h e c h a r a c t e r i s t i c s o f a c h a p t e r i n a t e x t b o o k . L i k e c h a p t e r s i n a b o o k , s u c h l e s s o n s n e e d t o b e a s s e m b l e d i n a f o r m t h a t i s e a s y f o r 15 s t u d e n t s t o u s e . A l l o f t h e l e s s o n s a s s o c i a t e d w i t h a p a r t i c u l a r c o u r s e c a n b e made a v a i l a b l e f r o m an i n d e x . T h e n , when a s t u d e n t s i g n s on t o t h e PLATO s y s t e m w i t h h i s name a n d t h e name o f t h e c o u r s e , h e may c h o o s e t o p i c s o r l e s s o n s t o s t u d y . He makes h i s s e l e c t i o n f r o m a l i s t o f d e s c r i p t i v e t i t l e s , much a s c h a p t e r s i n a b o o k a r e s e l e c t e d f r o m t h e t a b l e o f c o n t e n t s . T h e r e a r e t h r e e m a i n c o m p o n e n t s o f t h e PLATO a s p e c t s o f t h e c o u r s e : i n s t r u c t i o n a l l e s s o n s , homework and an o n - l i n e g r a d e b o o k . S t u d e n t s a r e a s s i g n e d i n s t r u c t i o n a l l e s s o n s t o s t u d y ; a p a r t o f t h e i r g r a d e i s b a s e d on how many o f t h e s e l e s s o n s t h e y c o m p l e t e . Homework i s g r a d e d by PLATO r a t h e r t h a n b y t h e i n s t r u c t o r s . The s t u d e n t i s g i v e n p r i n t e d hom ework p r o b l e m s t h a t he i s e n c o u r a g e d t o work a t h o m e . When t h e s t u d e n t i s r e a d y , he g o e s t o a t e r m i n a l t o e n t e r h i s r e s u l t s . E a c h i n s t r u c t o r c a n l o o k a t a n d c h a n g e t h e s c o r e s o f h i s own s t u d e n t s a n d c a n s e e s c o r e s f o r h i s s e c t i o n m a r k e d on t h e c o u r s e d i s t r i b u t i o n g r a p h . An i m p o r t a n t b e n e f i t o f t h i s m a c h i n e r y i s t h a t a n i n s t r u c t o r c a n p l a n c l a s s a c t i v i t i e s o n t h e b a s i s o f u p - t o - d a t e i n f o r m a t i o n on how f a r s t u d e n t s h a v e g o t t e n i n t h e i r s t u d i e s . PLATO h a s b e e n i n t e g r a t e d i n t o i n s t r u c t i o n i n many o t h e r w a y s . F o r e x a m p l e , i n l a n g u a g e c o u r s e s ( i n c l u d i n g F r e n c h , S p a n i s h , G e r m a n , R u s s i a n , H e b r e w , L a t i n and E s p e r a n t o ) , PLATO i s u s e d h e a v i l y t o d r i l l t h e s t u d e n t on v o c a b u l a r y a n d g r a m m a r a n d t o g i v e p r a c t i c e i n t r a n s l a t i n g s e n t e n c e s f r o m one l a n g u a g e t o t h e o t h e r . A n o t h e r i m p o r t a n t i n t e g r a t i o n o f PLATO i n t o 16 c o u r s e s i s i l l u s t r a t e d b y t h e u s e i n c h e m i s t r y o f s i m u l a t e d l a b o r a t o r y e x p e r i m e n t s a s a means o f b e t t e r p r e p a r i n g t h e s t u d e n t f o r a r e a l l a b o r a t o r y e x p e r i m e n t . The PLATO c o m p u t e r - b a s e d t e a c h i n g s y s t e m p r o v i d e s i n d i v i d u a l i z e d i n s t r u c t i o n t o h u n d r e d s o f s t u d e n t s s i m u l t a n e o u s l y . L e s s o n m a t e r i a l c a n i n c l u d e n a t u r a l l a n g u a g e d i a l o g u e s , g r a p h i c s , n u m e r i c a l a n d a l g e b r a i c e x e r c i s e s a n d c o l o u r p h o t o g r a p h s . 17 2 . 3 , 3 E U C L I D E U C L I D i s a t o o l f o r i n d i v i d u a l i n s t r u c t i o n i n h i g h s c h o o l g e o m e t r y a l o n g more o r l e s s t r a d i t i o n a l C A I l i n e s [ K E L A N I C , 1 9 7 8 j . W i t h E U C L I D s t u d e n t s w o r k a t t h e i r own r a t e s a n d a l o n g t h e i r own r o u t e s i n c o n s t r u c t i n g p r o o f s t o t h e o r e m s . E U C L I D i s t h e f o u r t h v e r s i o n o f a t h e o r e m - p r o v i n g c o m p u t e r p r o g r a m w r i t t e n by K e l a n i c s i n c e 1 9 7 2 . The p r e s e n t v e r s i o n was d e v e l o p e d a t T a y l o r A l l d e r d i c e H i g h S c h o o l , P i t t s b u r g h , P e n n s y l v a n i a , i n 1 9 7 7 . E U C L I D i s w r i t t e n i n e x t e n d e d B A S I C . V a r i o u s s e g m e n t s c o n t a i n t h e g e n e r a l l o g i c o f i n t e r a c t i v e p r o o f s , a T u r i n g c o n t r o l l e r a n d a u s e r command i n t e r p r e t e r . The T u r i n g c o n t r o l l e r p r o v i d e s f o r f u l l y a u t o m a t i c t h e o r e m - p r o v i n g b y d e t e r m i n i n g w h i c h s t e p t o t a k e n e x t . The u s e r command i n t e r p r e t e r o p e r a t e s on a l l i n p u t s t r i n g s h a v i n g f e w e r t h a n f o u r c h a r a c t e r s . P r o g r a m s e g m e n t E U C L I D o f f e r s t h e u s e r one o f f o u r modes o f o p e r a t i o n . I n a l l f o u r m o d e s , t h e u s e r must i n p u t t h e g i v e n a s s u m p t i o n s a n d t h e s t a t e m e n t t o be p r o v e d . T h e f o u r modes a r e a s f o l l o w s : (1) D e m o n s t r a t i o n M o d e : The T u r i n g C o n t r o l l e r d i r e c t s E U C L I D i n an a t t e m p t t o p r o v e . t h e t h e o r e m a u t o m a t i c a l l y . The p r o g r a m s u p p l i e s a l l s t a t e m e n t s , r e a s o n s , c o n c l u s i o n s , a n d h i n t s t o i t s e l f . The u s e r s i t s b a c k a n d w a t c h e s t h e c h a n g i n g f i l e s t a t u s m e s s a g e . (2) P r a c t i c e M o d e : E U C L I D s u p p l i e s a l l r e a s o n s , a l l c o n c l u s i o n s a n d p e r m i t s u s e r a c c e s s t o h i n t s a n d c o n c l u s i o n s . The u s e r m u s t s u p p l y a l l 18 s t a t e m e n t s a n d a l l r e a s o n s . (3) Q u i z M o d e : E U C L I D s u p p l i e s a l l c o n c l u s i o n s , c h e c k s u s e r r e a s o n s a n d p e r m i t s u s e r a c c e s s t o h i n t s a n d c o n c l u s i o n s . T h e u s e r mus t s u p p l y a l l s t a t e m e n t s a n d a l l r e a s o n s . (4) T e s t M o d e : E U C L I D c h e c k s t h e r e a s o n s . U s e r a c c e s s t o h i n t s , c o n c l u s i o n s a n d f i l e s t a t u s i s d e n i e d * T h e u s e r must s u p p l y a l l s t a t e m e n t s , r e a s o n s a n d c o n c l u s i o n s . 19 2 . 3 . 4 P I L O T P I L O T i s a d i a l o g - o r i e n t e d i n t e r a c t i v e l a n g u a g e f o r u s e b y t e a c h e r s a n d s t u d e n t s on s m a l l s y s t e m s [ Y O B , 1 9 7 7 J . I t s s i m p l e s y n t a x a n d f r e e f o r m a t e n c o u r a g e i n n o v a t i o n a n d u s e by t h o s e f r i g h t e n e d by c o m p u t e r s o r who l a c k t i m e t o l e a r n a more c o m p l e x l a n g u a g e * P I L O T was d e v e l o p e d i n 1969 a t t h e U n i v e r s i t y o f C a l i f o r n i a M e d i c a l C e n t e r b y J o h n S t a r k w e a t h e r t o meet some o f t h e i r i n s t r u c t i o n a l n e e d s . I t was u s e d t o t r a i n s t u d e n t s i n p h a r m a c o l o g y a n d l a t e r i n a n e l e m e n t a r y s c h o o l i n M a r i n C o u n t y . S t a n f o r d R e a s e a r c h I n s t i t u t e u s e d P I L O T i n a n e x p e r i m e n t a l e d u c a t i o n a l r e s e a r c h p r o j e c t ( w i t h v e r y g o o d r e s u l t s ) and l a t e r d e v e l o p e d a d i a l e c t , c a l l e d P Y L O N [ Y O B , 1977 J. I n 1971 a n d 1972 o t h e r v a r i a n t s o f PYLON w e r e d e v e l o p e d by S t a n f o r d U n i v e r s i t y , t h e C a l i f o r n i a S t a t e C o l l e g e c o m p u t e r n e t w o r k a n d t h e L a w r e n c e H a l l o f S c i e n c e a t t h e B e r k e l e y c a m p u s o f t h e U n i v e r s i t y o f C a l i f o r n i a . P I L O T i s a s i m p l e l a n g u a g e w h i c h i s e n t i r e l y w o r d - a n d d i a l o g - o r i e n t e d . I t i s e a s i e r t o w r i t e a s i m u l a t e d d i a l o g i n P I L O T t h a n i n mos t o t h e r l a n g u a g e s . P I L O T h a s s e v e r a l f e a t u r e s w h i c h a i d t h e c r e a t i o n o f d i a l o g s . I t h a s m i n i m i z e d t h e s y n t a x t h a t o f t e n c o n f u s e s t h e w o r d - o r i e n t e d human p r o g r a m m a r . 20 2 . 3 . 5 N A T A L - 7 4 I n 1974 t h e N a t i o n a l R e s e a r c h C o u n c i l a n d I B M c o m p l e t e d t h e d e s i g n o f a l a n g u a g e f o r C A I c a l l e d t h e N A T i o n a l A u t h o r L a n g u a g e , N A T A L - 7 4 { U E S T R O M , 1 974 ] . NATAL was i m p l e m e n t e d b e c a u s e I B M a n d NRC t h o u g h t t h a t C A I w o u l d be an i m p o r t a n t f a c t o r i n i m p r o v i n g e d u c a t i o n i n C a n a d a . The s y s t e m was f i r s t i m p l e m e n t e d o n t h e NRC P D P - 1 0 c o m p u t e r i n 1976 i n O t t a w a . The N A T A L - 7 4 s y s t e m i s now o p e r a t i o n a l i n O t t a w a a n d c u r r e n t l y i s b e i n g i m p l e m e n t e d a t DBC i n t h e D e p a r t m e n t o f E d u c a t i o n . NATAL c o n t a i n s t h r e e s u b d i v i s i o n s — p r o c e d u r e , u n i t a n d a f u n c t i o n . The p r o c e d u r e i s t h e r o u t i n e w h i c h c o n t r o l s o r manages t h e l e s s o n s . U n i t s a r e i n v o k e d o n l y by b e i n g c a l l e d f r o m p r o c e d u r e s * E a c h u n i t i n v o c a t i o n i s a t h r e e s t e p p r o c e s s . F i r s t , t h e p r o c e d u r e must d e t e r m i n e w h i c h u n i t i s t o be i n v o k e d a n d a s s e m b l e d and p r o v i d e a l l d a t a n e e d e d b y t h e u n i t f o r i t s e x e c u t i o n i n t h e c a l l i n g p a r a m e t e r l i s t . S e c o n d , t h e u n i t i s c a l l e d . T h i r d , t h e r e s u l t s o f t h e u n i t a r e w o r k e d on i f n e c e s s a r y and s t o r e d away f o r f u t u r e u s e i n s e l e c t i n g o t h e r u n i t s . The u n i t i s t h e b a s i c r o u t i n e f r o m w h i c h a l l l e s s o n s a r e c o n s t r u c t e d i n t h e N A T A L - 7 4 l a n g u a g e . A l l i n t e r a c t i o n s w i t h t h e s t u d e n t mus t be s p e c i f i e d i n e a c h u n i t r o u t i n e . U n i t s may c a l l t h e g r a p h i c f u n c t i o n f o r t h e p r e s e n t a t i o n o f s p e c i a l d i s p l a y s , t h e f o n t b l o c k f u n c t i o n t o c h a n g e t h e d i s p l a y c h a r a c t e r s e t , t h e e d i t f u n c t i o n t o e d i t s t u d e n t s ' 21 r e s p o n s e s a n d t h e g e n e r a l f u n c t i o n t o p e r f o r m r e s p o n s e a n a l y s i s , . U n i t s may n o t i n v o k e o t h e r u n i t s , n o r may u n i t s be i m p l i c i t l y l i n k e d t o g e t h e r , b u t t h e y may be l i n k e d by a d j a c e n t c a l l s f r o m a p r o c e d u r e . T h e r e c a n be o n l y one r e s p o n s e s t a t e m e n t i n a u n i t , b u t i f more a r e n e e d e d t h e r e may b e a d i s p l a y s t a t e m e n t p r e c e d i n g e a c h r e s p o n s e * 22 2 . 3 . 6 A B r i e f C o m p a r i s o n o f t h e S y s t e m s E a c h o f t h e f i v e s y s t e m s p r e s e n t e d h a s n o t a b l e s t r e n g t h s a n d w e a k n e s s e s . T h e s e a r e d u e i n p a r t t o t h e i r o r i g i n a l d e s i g n , b u t a l s o may b e s e e n a s r e s u l t i n g f r o m t h e f a c t t h a t t h e y do n o t a l l h a v e t h e same o b j e c t i v e . I n p a r t i c u l a r , t h e PLATO l a n g u a g e a n d s y s t e m i s t h e o n l y one w i t h a l o n g h i s t o r y o f s u c c e s s i n g e n e r a l C A I . N A T A L - 7 4 i s a t t a c k i n g t h e same a r e a * g e n e r a l C A I , b u t i t i s t o o e a r l y t o e v a l u a t e i t s s u c c e s s o r f a i l u r e s i n c e e x p e r i e n c e w i t h i t i s s t i l l q u i t e l i m i t e d . SOPHIE i s an e x p e r i m e n t a l v e h i c l e f o r t e s t i n g some s p e c i f i c a r t i f i c i a l i n t e l l i g e n c e t e c h n i q u e s . I t h a s l i m i t e d a p p l i c a b i l i t y , b u t t h e a r t i f i c i a l i n t e l l i q e n c e t e c h n i q u e s may become v e r y v a l u a b l e i n i m p l e m e n t i n g f u t u r e C A I s y s t e m s . E U C L I D i s r e p r e s e n t a t i v e o f s p e c i a l i z e d s y s t e m s . I t was b u i l t t o p r o v i d e C A I i n a s i n g l e d o m a i n a n d e x h i b i t s s u c c e s s i n t h i s a r e a ; I t i s d i s t i n g u i s h e d f r o m t h e o t h e r s y s t e m s ( e x c e p t SOPHIE) b e c a u s e i t i n c o r p o r a t e s a t h e o r e m p r o v e r w i t h i n i t s b a s i c d e s i g n . The P I L O T s y s t e m i s d i s t i n g u i s h e d f r o m t h e o t h e r s i n t h a t i t i m p l e m e n t s C A I i n a s m a l l s c a l e s y s t e m e n v i r o n m e n t . A v a r i e t y o f c o n s t r a i n t s a r e i m p o s e d s u c h a s l i m i t e d m e m o r y , l i m i t e d a u x i l i a r y s t o r a g e , a s m a l l number o f u s e r s , a n d t h e l i k e , w h i c h a f f e c t t h e s y s t e m d e s i g n . The mos t i m p o r t a n t s u c h r e s t r i c t i o n i s P I L O T'S r e l i a n c e on d i a l o g u e r a t h e r t h a n i n t e r a c t i o n f o r m a t s ; . 23 2 . 4 P r o g r a m m i n g a n d P r o b l e m S o l v i n g P e r h a p s t h e m o s t e x c i t i n g a p p l i c a t i o n o f c o m p u t e r t e c h n o l o g y i n t h e c u r r i c u l a o f t o d a y ' s s e c o n d a r y s c h o o l s i s i n t h e a r e a o f p r o b l e m s o l v i n g — t h e u s e o f a c o m p u t e r t o a s s i s t i n t h e s t u d y o f p r o b l e m s i n an e x i s t i n g n o n - c o m p u t e r c u r r i c u l u m . The c o m p u t e r i s mos t f r e q u e n t l y u s e d i n m a t h e m a t i c s , c h e m i s t r y , p h y s i c s , s c i e n c e a n d b u s i n e s s . P r o b l e m s o l v i n g may be t h o u g h t o f a s c u r r i c u l u m - o r i e n t e d r a t h e r t h a n c o m p u t e r o r i e n t e d . The p r o b l e m s o l v i n g m e t h o d i s n o t n e w ; i t i s a s o l d a s man. T h e u s e o f t h e c o m p u t e r i n t h e p r o b l e m s o l v i n g p r o c e s s i s r e l a t i v e l y n e w ; i t c r e a t e s e x c i t e m e n t , e n c o u r a g e s c r e a t i v i t y a n d makes t h e s u b j e c t m a t t e r m o r e i n t e r e s t i n g t o t h e s t u d e n t ; The p r o b l e m s o l v i n g a p p r o a c h i s b a s e d on r e c o g n i t i o n o f t h e f a c t t h a t t e a c h i n g i s n o t t e l l i n g . P r o b l e m s o l v i n g i s n o t m e r e l y t h e c o m m u n i c a t i o n o f k n o w l e d g e o r t h e l e a r n i n g o r m e m o r i z a t i o n o f f a c t s — i t i s d i s c o v e r i n g new t h i n g s , t h i n k i n g , a n a l y z i n g a n d s e a r c h i n g . S t u d e n t s a r e c o n f r o n t e d w i t h p r o b l e m s w h i c h a r e t o be s o l v e d o n a c o m p u t e r . T h e y b e g i n t o t h i n k . T h e y c o n c e i v e me thod f o r s o l v i n g a p r o b l e m . T h e y t h e n o b t a i n d a t a a n d a r r a n g e t h a t d a t a i n s u c h a way t h a t i t i s m e a n i n g f u l . P r o b l e m s o l v i n g f o r c e s t h e s t u d e n t t o c a r e f u l l y i n t e r p r e t b o t h p r o b l e m a n d s o l u t i o n . 24 3 . LOGO i n P e r s p e c t i v e 3 . 1 B r i e f H i s t o r y o f LOGO T h e d e v e l o p m e n t o f LOGO b e g a n i n 1968 a t B o l t , B e r a n e k a n d Newman, I n c . , f u n d e d by a g r a n t f r o m t h e N a t i o n a l S c i e n c e F o u n d a t i o n , i n c o l l a b o r a t i o n w i t h S e y m o u r P a p e r t , a c o n s u l t a n t f r o m t h e A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y a t M I T . S i n c e i t s i n t r o d u c t i o n i n N a v y c l a s s r o o m s f o r t e a c h i n g y o u n g c h i l d r e n , LOGO h a s b e e n u s e d i n t w o M a s s a c h u s e t t s s c h o o l s : A n d e r s o n F i e l d E l e m e n t a r y S c h o o l ( f o r a f i f t h g r a d e c l a s s ) , a n d E m e r s o n g rammar s c h o o l [ F E U R Z E I G , 1 9 7 8 ] . S i n c e t h e n LOGO h a s c o n t i n u a l l y b e e n i m p r o v e d a n d i t h a s b e e n u s e d i n s e v e r a l r e s e a r c h p r o j e c t s d e a l i n g w i t h c h i l d r e n a n d t h e i r d e s i r e t o l e a r n . 25 3 . 2 Use o f LOGO 3 .2.1 B o l t , B e r a n e k a n d Newman, I n c . BBN h a s done c o n s i d e r a b l e w o r k i n u s i n g LOGO t o t e a c h m a t h e m a t i c s . Much o f t h e i r w o r k i s d o c u m e n t e d i n a m u l t i - v o l u m e r e p o r t [ F E U R Z E I G , 1971 / ] . The BBN e f f o r t s t r o n g l y e m p h a s i z e s t e l e t y p e g e o m e t r y a n d t h e u s e o f LOGO t o i n t r o d u c e g e o m e t r i c c o n c e p t s . A v a r i e t y o f e x p e r i m e n t s h a v e b e e n p e r f o r m e d by B B N , p r i m a r i l y i n t h e B o s t o n m e t r o p o l i t a n a r e a , t o i n v e s t i g a t e LOGO'S u t i l i t y . . BBN h a s d e v e l o p e d t e a c h i n g s e q u e n c e s o n g e o m e t r y , n u m b e r r e p r e s e n t a t i o n , a r i t h m e t i c a l g o r i t h m s , f u n c t i o n s , e q u a t i o n s a n d on t h e c o n v e r s i o n o f s t o r y p r o b l e m s i n t o f o r m a l m a t h e m a t i c a l t e r m s . Much o f t h e i r w o r k a i m s t o p r o v i d e a s p i r i n g m a t h e m a t i c s t e a c h e r s w i t h t h e s k i l l s n e e d e d t o t e a c h p r o b l e m s o l v i n g . 26 3 . 2 . 2 A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y a t MIT I n t h e p a s t f e w y e a r s , t h e MIT LOGO g r o u p , d i r e c t e d by P a p e r t , h a s e m p l o y e d c o m p u t e r s t o p r o v i d e a c r e a t i v e l e a r n i n g e n v i r o n m e n t i n a p u b l i c - s c h o o l s e t t i n g , h a s d e s i g n e d new c o u r s e m a t e r i a l t h a t a l l o w s g r a p h i c a l i n t e r a c t i o n s i n h i g h - s c h o o l m a t h e m a t i c s a n d p h y s i c s , a n d h a s a u g m e n t e d t h e s e n s o r y e n v i r o n m e n t o f h a n d i c a p p e d c h i l d r e n J .SUGARMAN, 1978 ' } . Much o f t h e MIT work h a s b e e n d i r e c t e d t o w a r d s c h i l d r e n a n d t h e i r e x p e r i e n c e s u s i n g LOGO a n d t u r t l e s * One r e s e a r c h p r o j e c t d e a l t w i t h t h e d e v e l o p m e n t o f c o m p u t e r s a n d c o m p u t e r c o n t r o l l e d d e v i c e s [ P A P E R T , 1 9 7 1 ] . The g o a l was t o a c h i e v e a more i n v o l v e d a n d i n d i v i d u a l p a r t i c i p a t i o n o f c h i l d r e n i n t h e i r s c h o o l w o r k . U s i n g LOGO a n d t u r t l e t h e c h i l d r e n w e r e a b l e t o a c h i e v e p e r s o n a l g o a l s a n d i m p r o v e i n t h e i r s c h o o l w o r k . A n o t h e r r e s e a r c h e f f o r t d e a l t w i t h t h e d e v e l o p m e n t o f c r i t i c a l t h i n k i n g ; i n p a r t i c u l a r i t was c o n c e r n e d w i t h t e a c h i n g c h i l d r e n t o a n a l y z e how t h i n g s p e r f o r m t h e way t h e y do { .PAPERT, 1 9 7 0 ] . W i t h t h e a i d o f t h e t u r t l e t h e c h i l d r e n s t a r t e d t o u n d e r s t a n d t h a t p u s h i n g a b u t t o n m a r k e d " f o r w a r d " a l s o made t h e t u r t l e move f o r w a r d * Many o t h e r u s e s o f LOGO, i n c l u d i n g t h e u s e o f t h e t u r t l e , m u s i c n o t a t i o n , d r a w i n g p i c t u r e s a n d c a r r y i n g o u t t a s k s , h a v e b e e n d o c u m e n t e d i n MIT r e p o r t s * A d d i t i o n a l t o p i c s i n c l u d e c h i l d r e n s o l v i n g m a t h e m a t i c a l p r o b l e m s , games a n d LOGO i t s e l f . One e s p e c i a l l y s i g n i f i c a n t p r o j e c t d e a l t w i t h p r e s c h o o l c h i l d r e n l e a r n i n g t o c o m m u n i c a t e w i t h a n d p r o g r a m t h e t u r t l e 27 [ P E R L M A N , 1974J. T h i s e x p e r i m e n t c o n s i s t e d o f s e v e r a l LOGO c o n t r o l b o x e s d e s i g n e d s o t h a t o n l y a few new c o n c e p t s w e r e i n t r o d u c e d a t a t i m e , a n d more w e r e a d d e d when t h e c h i l d became f a m i l i a r w i t h w h a t he was d o i n g . The f i r s t b o x t h e c h i l d saw was c a l l e d t h e command b o x . I t h a d n i n e b u t t o n s ; . E a c h b u t t o n e v o k e d an i m m e d i a t e r e s p o n s e f r o m t h e t u r t l e . N e x t , when t h e c h i l d m a s t e r e d t h e f i r s t box a l a r g e r command b o x was p r e s e n t e d . T h i s box c o n s i s t e d o f t h e n i n e b u t t o n s f r o m t h e s m a l l e r b o x p l u s an a d d i t i o n a l e l e v e n . The t h i r d b o x was c a l l e d a memory b o x . T h i s box h a d f o u r b u t t o n s c o n t r o l l i n g t h e a c t i o n s : S T A R T , S T O P , D O I T , F O R G E T I T a n d HONK. T h i s b o x a l l o w e d t h e s t u d e n t s t o c r e a t e t u r t l e p r o g r a m s . One o f t h e m a i n q u a l i t i e s n e e d e d t o h e l p a c h i l d p l a y w i t h a b u t t o n b o x i s "common s e n s e " . T h a t i s why t h e c h i l d i s s h o w n o n l y a l i t t l e b i t a t a t i m e , more b u t t o n s b e i n g a d d e d when t h e c h i l d i s s u r e o f t h e p r e v i o u s s e t . I t i s i m p o r t a n t t h a t t h e c h i l d n e v e r f e e l t h a t he i s " t o o dumb" t o l e a r n o r t h a t t h e b u t t o n b o x i s " t o o h a r d " f o r h i m . I t i s i m p o r t a n t n o t t o p r o p o s e p r o b l e m s w h i c h t h e c h i l d c a n n o t s o l v e . T h u s t h e c h i l d i s c o n f i d e n t o f h i s a b i l i t y a t a l l t i m e s . 28 3 . 2 . 3 U n i v e r s i t y o f E d i n b u r g h The U n i v e r s i t y o f E d i n b u r g h h a s done a c o n s i d e r a b l e a m o u n t o f w o r k o n u s i n g LOGO a n d t u r t l e s . One r e s e a r c h r e p o r t d e s c r i b i n g a n a s p e c t o f an e x p e r i m e n t a l p r o j e c t b e i n g u n d e r t a k e n a t t h e u n i v e r s i t y i s e s p e c i a l l y n o t e w o r t h y [ d u B O U L A Y , 1977}. T h e p r o j e c t ' s a t t e n t i o n was d i r e c t e d a t t h e l e a r n i n g a n d u n d e r s t a n d i n g o f e l e m e n t a r y m a t h e m a t i c s o f t w o s m a l l g r o u p s o f s t u d e n t t e a c h e r s . T h e s e s t u d e n t t e a c h e r s were v o l u n t e e r s f r o m a l o c a l c o l l e g e n e a r E d i n b u r g h w h e r e t h e y were t a k i n g a t h r e e - y e a r d i p l o m a i n p r i m a r y e d u c a t i o n . The c o u r s e w o r k d e v i s e d f o r t h e s e s t u d e n t s was a n e x a m p l e o f t h e use o f c o m p u t e r s i n h i g h e r e d u c a t i o n . The m a i n c o m m i t m e n t o f t h e p r o j e c t was t o e x p l o r e t h e e f f e c t o n e a c h s t u d e n t t e a c h e r o f h e r i n t e r a c t i o n w i t h a s p e c i a l l e a r n i n g e n v i r o n m e n t b a s e d o n LOGO* The o b j e c t i v e s o f t h e p r o j e c t were t o h a v e t h e s t u d e n t t e a c h e r s become a w a r e o f t w o m a i n a r e a s t h a t r e l a t e d t o t e a c h i n g m a t h e m a t i c s i n a p r i m a r y s c h o o l : u n d e r s t a n d i n g w h a t i s b e i n g t a u g h t a n d u n d e r s t a n d i n g how t o t e a c h . A n o t h e r r e s e a r c h p r o j e c t i n v e s t i g a t e d how t h e f a s c i n a t i o n f o r m a c h i n e s s h o w n by a u t i s t i c c h i l d r e n c o u l d be e x p l o i t e d i n a L O G O - b a s e d l e a r n i n g e n v i r o n m e n t [ W E I R , 1976J. The p r o j e c t was a b o u t an e x p e r i e n c e w i t h a s e v e n - y e a r - o l d a u t i s t i c c h i l d w h o s e a c t i v e a n d e n j o y a b l e e x p l o r a t i o n s i n c o n t r o l l i n g t h e LOGO t u r t l e f o r m e d t h e b a s i s f o r t h e d e v e l o p m e n t o f l a n g u a g e f o r c o m m u n i c a t i o n , b o t h v e r b a l a n d n o n v e r b a l . The r e s e a r c h e r s 29 d i s c o v e r e d t w o f e a t u r e s n o t s h o w n b y t h e c h i l d b e f o r e . One was t h e o n s e t o f s p o n t a n e o u s l a n g u a g e b a s e d on d e s c r i p t i o n s o f t h e t u r t l e ' s b e h a v i o r a n d t h e s e c o n d was t h e a c t i v e s e e k i n g o u t o f s o c i a l i n t e r a c t i o n . T h i s d i s c o v e r y , t h e a u t h o r s b e l i e v e , f o l l o w s f r o m t h e s e l f - v a l i d a t i n g e f f e c t o f u n d e r s t a n d i n g a n d b e i n g u n d e r s t o o d . T h i s i n t u r n f o l l o w s f r o m t h e h i g h l y s t r u c t u r e d b u t c r e a t i v e l y o p e n - e n d e d n a t u r e o f t h e LOGO e n v i r o n m e n t i n w h i c h t h e c r u c i a l s t e p o f " s e e i n g w h a t i s r e l e v a n t " i s made t r a n s p a r e n t l y e a s y . E a r l i e r w o r k by Omar M o o r e i n t h e n i n e t e e n f i f t i e s [ MOOSE, 1 9 6 4 J showed a s i m i l a r e f f e c t w i t h t h e " t a l k i n g t y p e w r i t e r " . C o m p u t e r s a r e n o t , t h e r e f o r e , n e c e s s a r y f o r t h i s e f f e c t t o be d e m o n s t r a t e d * H o w e v e r , t h e y do a l l o w f o r t h e f l e x i b l e u s e o f m a c h i n e s l a v e s . A w e l l d e s i g n e d t o y t r a i n l a y o u t c o u l d c o n c e i v a b l y w o r k j u s t a s w e l l , b u t l e s s f l e x i b l y . 30 3 . 3 C o m p e t i n g L a n g u a g e s The t h r u s t o f c o m p u t e r s i n e l e m e n t a r y e d u c a t i o n seems t o be m o s t l y i n f o u r a r e a s : f i r s t , c o u r s e s d e s i g n e d t o t e a c h a b o u t c o m p u t e r s , how t h e y f u n c t i o n a n d how t o p r o g r a m t h e m ; s e c o n d , u s i n g t h e c o m p u t e r t o p a s s c u r r i c u l a o r o t h e r s t u d e n t m a t e r i a l s t o t h e s t u d e n t ; t h i r d , a c t i v e l y i n v o l v i n g t h e s t u d e n t s i n u s i n g t h e c o m p u t e r t o s o l v e p r o b l e m s i n t h e i r c o u r s e t o s t u d y ; a n d f o u r t h , a l l o w i n g s t u d e n t s t o u s e t h e c o m p u t e r f o r t h e i r own e x p r e s s i o n , s e l f - i n t e g r a t i o n a n d g r o w t h . E a c h o f t h e s e a r e a s h a v e l a n g u a g e s a s s o c i a t e d w i t h t h e m . F O R T R A N , A s s e m b l y L a n g u a g e , COBOL a n d B A S I C a r e t a u g h t w i t h c o u r s e s c o n c e r n e d w i t h how t o use a n d u n d e r s t a n d t h e c o m p u t e r . PLATO a n d t h e I B M ' s C o u r s e w r i t e r a r e b o t h C A I l a n g u a g e s w h i c h h e l p s t u d e n t s l e a r n m a t e r i a l s f o r t h e i r i n d i v i d u a l n e e d s . M o s t p r o b l e m s o l v i n g i s d o n e i n B A S I C w i t h s m a l l e f f o r t s i n FORTRAN a n d L O G O . P I L O T a n d LOGO a r e o f t e n u s e d f o r s e l f - e x p r e s s i o n a n d g r o w t h . B A S I C i s i n e s s e n c e FORTRAN w i t h many n o n - e s s e n t i a l c o n s t r u c t s r e m o v e d . I t s r e a d y a v a i l a b i l i t y o n s m a l l s y s t e m s ( e s p e c i a l l y t i m e - s h a r i n g s y s t e m s ) makes i t q u i t e p o p u l a r f o r m a t h e m a t i c s a n d s c i e n c e t e a c h e r s . The s t u d e n t l e a r n s B A S I C a s a t o o l f o r s o l v i n g n u m e r i c a l p r o b l e m s p o s e d i n h i s c o u r s e s . H o w e v e r , B A S I C i s v e r y weak w i t h s t r i n g s , w o r d s and d a t a s t r u c t u r e s ; t h i s may a c c o u n t f o r t h e f a c t t h a t B A S I C u s e r s t e n d t o be i n t h e s c i e n t i f i c a n d t e c h n i c a l d i s c i p l i n e s . 31 LOGO i s a s i m p l i f i e d v a r i a n t o f L I S P i n a manne r a n a l o g o u s t o t h e way t h a t B A S I C i s a s i m p l i f i c a t i o n o f F O B T B A N . I t s p r i m a r y a d v a n t a g e o v e r L I S P f o r C A I p u r p o s e s l i e s i n i t s c a p a b i l i t y f o r c o n t r o l l i n g d e v i c e s s u c h a s t h e t u r t l e , a p l o t t e r - r o b o t , a n d a " m u s i c b o x " . LOGO i s c a p a b l e o f h a n d l i n g l i s t s a n d r e c u r s i v e f u n c t i o n c a l l s . LOGO i s e x c e l l e n t f o r p r o b l e m s c o n c e r n i n g t h e o r d e r a n d a r r a n g e m e n t o f t h i n g s r a t h e r t h a n c a l c u l a t i o n s . U n f o r t u n a t e l y , a t p r e s e n t t h e r e a r e f ew u s e r s o f LOGO a n d t h e y a r e m a i n l y m a t h e m a t i c s a n d c o m p u t e r - o r i e n t e d * 32 4 . Summary o f LOGO The U n i v e r s i t y o f B r i t i s h C o l u m b i a ' s i m p l e m e n t a t i o n o f L O G O , B C L O G O , i s a n i n t e r p r e t e r w r i t t e n i n B C P L — a m a c h i n e - i n d e p e n d e n t l a n g u a g e d e s i g n e d e s p e c i a l l y f o r c o m p i l e r w r i t i n g £ M A N I S , 1 9 7 3 J . I t c u r r e n t l y o p e r a t e s o n t h e A m d a h l 4 7 0 / V 6 u n d e r t h e M i c h i g a n T e r m i n a l S y s t e m . E v e r y l a n g u a g e h a s a s e t o f r u l e s and LOGO i s no e x c e p t i o n . LOGO'S s y n t a x i s v e r y s i m p l e — t h e a c t i o n t o be p e r f o r m e d a l w a y s p r e c e d e s t h e l i s t i n g o f t h e d a t a t o b e u s e d . LOGO a l l o w s y o u t o d e f i n e y o u r own p r o c e d u r e s . T h e r e a r e b u i l t - i n s i m p l e p r o c e d u r e s w h i c h p r i n t s e n t e n c e s o r w o r d s a n d p r o c e d u r e s f o r h a n d l i n g i n p u t / o u t p u t . P r o c e d u r e s may be r e c u r s i v e . LOGO i n c l u d e s a p r i m i t i v e e d i t i n g s y s t e m a s w e l l * A l o n g w i t h t h e E d i t command t h e r e a r e S h o w , E r a s e , S h o w l i n e and S a v e . E a c h o f t h e s e commands h e l p s y o u o n c e y o u a r e i n s i d e a p r o c e d u r e . BCLOGO i s i n i t i a l i z e d by r e a d i n g i n a f i l e o f c o m m a n d s . T h e s e commands c a u s e p r o c e d u r e s t o be d e f i n e d , e r r o r m e s s a g e s t o be s t o r e d , i n i t i a l i z a t i o n p r o c e d u r e s t o be c a l l e d a n d m e s s a g e s t o be t y p e d t o t h e u s e r . S i n c e LOGO i s c o n s i d e r e d b y many t o be a " b a b y L I S P " i t may b e u s e f u l t o d i s c u s s t h e d i f f e r e n c e s b e t w e e n t h e s e t w o p r o g r a m m i n g l a n g u a g e s . LOGO i n t r o d u c e s two d a t a t y p e s — WOEDs a n d S E N T E N C E S . A l o n g w i t h t h e s t a n d a r d l i s t o p e r a t i o n s o f F I E S T (CAR) a n d 33 B O T F I E S T (CDR) , LOGO p r o v i d e s L A S T a n d BOTLAST f G O L D S T E I N , 1 9 7 5 J . A l l f o u r o f t h e s e o p e r a t i o n s w o r k on w o r d s a s w e l l a s s e n t e n c e s . R e p e a t e d l y B U T F I B S T i n g a s e n t e n c e i n LOGO a l w a y s t e r m i n a t e s i n t h e e m p t y l i s t . I n L I S P , w i t h i t s more g e n e r a l l i s t s t r u c t u r e b u i l t f r o m " d o t t e d p a i r s " a n d C O N S i n g * t h i s i s n o t a l w a y s s o . I n L I S P p r o g r a m s a r e t h e m s e l v e s l i s t s t r u c t u r e s w h e r e a s i n LOGO t h e y a r e n o t . E d i t i n g a n d d e b u g g i n g i n L I S P c o n s e q u e n t l y b e c o m e s a w k w a r d due t o t h e d i f f i c u l t y i n n a m i n g p a r t s o f t h e p r o g r a m . LOGO s i m p l i f i e s p r o g r a m s t r u c t u r e by r e q u i r i n g t h a t a p r o g r a m be a s e r i e s o f n u m b e r e d l i n e s . The l o c a t i o n s o f b u g s a n d i n t e n d e d e d i t s a r e t h e n f a r e a s i e r t o d e s c r i b e * On t h e o t h e r hand d y n a m i c a l l y c r e a t i n g p r o g r a m s i n LOGO i s v e r y a w k w a r d . DO ( t h e i n t e r p r e t e r c o r r e s p o n d i n g t o L I S P'S E V A L ) i s c o n s e q u e n t l y r a r e l y u s e d e x p l i c i t l y b y t h e u s e r . LOGO'S l a c k o f c a n n e d l o o p s s u c h a s DO and MAPCAE c a n be c r i t i c i z e d a s e n c o u r a g i n g b a d p r o g r a m m i n g p r a c t i c e , s u c h a s e x c e s s i v e u s e o f G O . T h i s o b s c u r e s t h e l o g i c a l s t r u c t u r e o f p r o g r a m s . A l s o , i t may be s i g n i f i c a n t l y c o n f u s i n g t o t h e b e g i n n e r a n d t h e s o u r c e o f many b u g s . A c h i l d m i g h t u n d e r s t a n d q u i t e w e l l a c o n t r o l s t r u c t u r e c o n c e p t l i k e "do t h i s p a r t o f t h e p r o g r a m t h r e e t i m e s " , o r " d o t h i s p a r t o f t h e p r o g r a m f o r e a c h e l e m e n t o f t h e l i s t " , b u t may be u n a b l e t o e x p r e s s t h a t c o n t r o l s t r u c t u r e i n t e r m s o f j u m p s a n d c o n d i t i o n a l s . LOGO p r o g r a m s c a n ' t be a u t o m a t i c a l l y f o r m a t t e d t o r e v e a l t h e i r l o g i c a l s t r u c t u r e a s c a n p r o g r a m s w r i t t e n i n L I S P o r b l o c k s t r u c t u r e d l a n g u a g e s . 34 A c o m p l e t e d e s c r i p t i o n o f t h e s y n t a x and s e m a n t i c s o f LOGO i s p r o v i d e d i n t h e LOGO U s e r ' s M a n u a l { .POLLACK, 1978 j . 35 5 . T e a c h i n g M a t e r i a l s B u i l t A r o u n d LOGO I h a v e s e e n c h i l d r e n t u r n away f r o m s c h o o l b e c a u s e o f t h e l a c k o f i n t e r e s t o r t h e i n a b i l i t y t o r e a d a n d u n d e r s t a n d w h a t t h e y a r e r e a d i n g . F o r t h i s r e a s o n I c h o o s e t o h e l p c h i l d r e n w i t h t h e a i d o f t h e c o m p u t e r . F o r i f a c h i l d e n j o y s h i s w o r k t h e n he w i l l w o r k h a r d e r t o a c h i e v e m o r e . My i n t e r e s t s l i e i n t h e e l e m e n t a r y l e v e l s a n d f o r t h i s r e a s o n my p r o g r a m s a n d t h e m a n u a l a r e a i m e d a t t h a t l e v e l . I p i c k e d t h e LOGO l a n g u a g e b e c a u s e t o me i t s h o w e d e n o u g h f l e x i b i l i t y f o r my u s a g e . LOGO i s a e a s y l a n g u a g e t o l e a r n a n d e a s y t o u n d e r s t a n d . I s t a r t e d o u t b y w r i t i n g a r i t h m e t i c p r o g r a m s : one p r o g r a m f o r e a c h a r i t h m e t i c o p e r a t i o n — a d d i t i o n , s u b t r a c t i o n , m u l t i p l i c a t i o n a n d s o o n . N e x t I w r o t e some s p e l l i n g p r o g r a m s . One was c a l l e d " O l d M a c D o n a l d " . I n t h i s p r o g r a m y o u h a d t o t y p e i n t h e name o f a n a n i m a l a n d t h e s o u n d t h a t a n i m a l makes* To a c c o m p l i s h t h i s t h e c h i l d h a d t o be a b l e t o r e a d a n d u n d e r s t a n d w h a t was g o i n g o n . T h e r e were o t h e r s p e l l i n g p r o g r a m s w h i c h c h e c k e d t o s e e i f y o u were s p e l l i n g t h e w o r d s c o r r e c t l y . T h e r e were a l s o s t o r y p r o g r a m s w h i c h a s k e d q u e s t i o n s ; t h e a n s w e r s were i n s e r t e d i n t o a s t o r y w h i c h t h e c h i l d h a d t o r e a d a n d u n d e r s t a n d . T h e s e a r e a m u s i n g p r o g r a m s , b u t a l s o e d u c a t i o n a l , f o r t h e y a s k e d t h e c h i l d t o u se t h e s k i l l s h e a l r e a d y h a s a n d i m p r o v e on t h e m . M o r e o v e r , t h e p r o g r a m s w o u l d be a v a i l a b l e t o t h e c h i l d r e n t o i n s p e c t a s n o n - t r i v i a l LOGO p r o g r a m s . T h e y w o u l d be e n c o u r a g e d t o c h a n g e t h e p r o g r a m s t o p r o d u c e d i f f e r e n t b e h a v i o r . H e r e a r e some 36 e x a m p l e s o f t h e p r o g r a m s I w r o t e . The u n d e r l i n e d w o r d s a r e w h a t t h e p r o g r a m t y p e s o u t a n d t h e w o r d s n o t u n d e r l i n e d a r e wha t t h e u s e r t y p e d i n . = MATHS T Y P E I N TWO NUMBERS 5 6 WHAT I S 5 + 6 ? 10 WELL L E T US SEE I F YOU ARE CORRECT 5 ± 6 = 11 L E T US TRY AGAIN G I V E ME THE SAME NUMBERS YOU GAVE ME BEFORE * * * * * * * * " ~ r 5 6 WHAT I S 5 + 6 ? 11 WELL L E T US SEE I F YOU ARE CORRECT 5 + 6 = 11 GREAT — YOUR ANSWER WAS CORRECT * * * * * * * * T Y P E ~ I N TWO NUMBERS 0 0 * * * * * * * * . j£c jQc 3JC *£c T H I S ~ I S A L L THERE I S FOR A D D I T I O N - - GOODBYE = FARM OLD MACDONALD HAD A FARM E E I E E I 0 AND ON H I S FARM HE HAD A P I G E E I E E I 0 WITH A OINK P I N K H E R E , AND AN OINK OINK THERE HERE AN OINK THERE AN OINK EVERYWHERE AN OINK OINK OLD MACDONALD HAD A FARM E E I E E I - 0 AND ON H I S FARM~HE HAD A F o r f u r t h e r i n f o r m a t i o n s e e t h e t h e LOGO U s e r ' s M a n u a l [ P O L L A C K , 1978 J . 37 6 . E x p e r i e n c e i n C o m p u t e r S c i e n c e 200 A t t h e U n i v e r s i t y o f B r i t i s h C o l u m b i a i n t h e S p r i n g o f 1978 I was f o r t u n a t e t o b e g i v e n t h e o p p o r t u n i t y t o h a v e my M a n u a l u s e d by e l e v e n f u l l - t i m e s t u d e n t s i n C o m p u t e r S c i e n c e 2 0 0 , C o m p u t e r s a n d M a n , i n s t r u c t e d b y D r . Abbe M o w s h o w i t z . The c o u r s e i s d e s i g n e d f o r n o n - C o m p u t e r S c i e n c e M a j o r s . The e l e v e n s t u d e n t s w e r e a l l f r o m t h e F a c u l t y o f S c i e n c e r a n g i n g f r o m M a t h e m a t i c s t o B i o c h e m i s t r y a n d f r o m f i r s t y e a r t o f o u r t h y e a r s t a n d i n g . I was a l l o w e d t h r e e h o u r s w i t h t h e c l a s s . One h o u r was s p e n t on a n a i n t r o d u c t i o n t o b a s i c m e c h a n i c s : s i g n i n g on t o t h e IBM 3270 t e r m i n a l s a n d t h e V u c o m s , r u n n i n g LOGO a n d a n s w e r i n g q u e s t i o n s a b o u t t h e t e r m i n a l s , ' t h e l a n g u a g e and o t h e r t h i n g s . The s e c o n d h o u r was s p e n t t a l k i n g a b o u t LOGO — e x p l a i n i n g t h e u s e s o f t h e g l o s s a r y , g i v i n g e x a m p l e s u s i n g LOGO a n d d i s c u s s i n g t h e t w o p r o g r a m m i n g a s s i g n m e n t s w h i c h I p r e s e n t e d * T h e t h i r d h o u r was g i v e n t h r e e w e e k s l a t e r d u r i n g w h i c h t h e s t u d e n t s a s k e d me q u e s t i o n s a b o u t LOGO a n d t h e m a n u a l . D u r i n g t h i s h o u r I a l s o h a n d e d o u t a g u e s t i o n n a i r e w h i c h c o v e r e d t h e M a n u a l and L O G O . 38 6.1 The Two A s s i g n m e n t s The two a s s i g n m e n t s w h i c h were g i v e n t h e c l a s s w e r e : (1) W r i t e a p r o c e d u r e w h i c h a d d s up e a c h n u m b e r y o u t y p e i n a n d a t t h e end o f t h e p r o c e d u r e t h e sum o f t h e n u m b e r s i s p r i n t e d o u t . (2) W r i t e a p r o c e d u r e w h i c h r e a d s i n a s t r i n g a n d r e v e r s e s t h a t s t r i n g . W r i t e a n o t h e r p r o c e d u r e w h i c h i n p u t s two s t r i n g s a n d s e e s i f t h e y a r e b o t h t h e s a m e . C o m b i n e b o t h p r o c e d u r e s t o s e e . i f a s t r i n g i s a p a l i n d r o m e ( t h a t i s , i t r e a d s t h e same f r o m f r o n t t o b a c k a n d b a c k t o f r o n t ) . The f o l l o w i n g q u e s t i o n n a i r e was u s e d t o h e l p e v a l u a t e t h e u t i l i t y o f LOGO a n d my m a n u a l . I t was p r e s e n t e d t o t h e C P S C 200 s t u d e n t s a t t h e e n d o f t h e t e r m . 6 . 2 . 1 Q u e s t i o n s o n LOGO The f o l l o w i n g a r e q u e s t i o n s o n L O G O . 1) I s LOGO a g o o d l a n g u a g e t o l e a r n i f y o u do n o t know a n y o t h e r p r o g r a m m i n g l a n g u a g e ? V e r y Good G o o d OK Bad V e r y B a d 2) I f y o u r p r o g r a m h a s an e r r o r i n i t , d o e s LOGO e x p l a i n t h e e r r o r w e l l e n o u g h f o r y o u t o c o r r e c t i t ? V e r y A d e q u a t e A d e q u a t e OK I n a d e q u a t e V e r y I n a d e q u a t e 3) Were t h e r e a n y s p e c i f i c t h i n g s a b o u t LOGO y o u d i d n o t l i k e ? Why? 4) How c a n t h e l a n g u a g e LOGO be i m p r o v e d ? 5) W o u l d y o u p r e f e r t o l e a r n a n d u s e LOGO o r some o t h e r l a n g u a g e ? S p e c i f y t h e l a n g u a g e : Why? 6) W o u l d y o u h a v e l i k e d t o s p e n d more t i m e i n t h i s c o u r s e p r o g r a m m i n g i n LOGO? How much t i m e ? Why? 40 7) I f y o u h a d t h e t i m e a v a i l a b l e * w o u l d y o u l i k e t o c o n t i n u e w o r k i n g w i t h LOGO a n d t h e c o m p u t e r ? Why? 41 6.2.2 Q u e s t i o n s on t h e M a n u a l The f o l l o w i n g a r e q u e s t i o n s on t h e m a n u a l . 1) D o e s t h e m a n u a l p r o v i d e e n o u g h i n f o r m a t i o n t o make y o u a r e a s o n a b l e p r o g r a m m a r i n LOGO? V e r y A d e g u a t e A d e q u a t e OK I n a d e q u a t e V e r y I n a d e q u a t e 2) Were y o u b o t h e r e d by t h e f a c t t h a t t h e m a n u a l was d i r e c t e d a t t h e s e c o n d a r y l e v e l ? V e r y B o t h e r e d B o t h e r e d OK N o t B o t h e r e d 3) A r e t h e number o f e x a m p l e s i n t h e m a n u a l a d e q u a t e ? V e r y A d e q u a t e A d e q u a t e OK I n a d e q u a t e V e r y I n a d e q u a t e 4) (a) The b e s t w r i t t e n s e c t i o n o f t h e m a n u a l was? Why? (b) The w o r s t w r i t t e n s e c t i o n o f t h e m a n u a l was? Why? 5) M o r e a d d i t i o n a l w o r k i s n e e d e d i n t h e f o l l o w i n g a r e a s o f t h e m a n u a l . 6) What s h o u l d be c h a n g e d o r a d d e d i n t h e m a n u a l t o make i t e a s i e r f o r y o u t o l e a r n LOGO? 42 ,6.3 Q u e s t i o n n a i r e R e s u l t s The r e s u l t s were q u i t e g o o d . I was f o r t u n a t e t o h a v e h a d s t u d e n t s who were w i l l i n g t o s p e n d t h e t i m e t o d i s c u s s i n d e t a i l t h e g o o d a n d b a d p a r t s o f b o t h t h e m a n u a l a n d L O G O . F o l l o w i n g a r e t h e r e s p o n s e s o f t h e s t u d e n t s t o e a c h o f t h e q u e s t i o n s f o u n d i n c h a p t e r 6. Q u e s t i o n s a n d r e s p o n s e s o n LOGO. (1) I s LOGO a g o o d l a n g u a g e ? V e r y Good G o o d OK Bad V e r y Bad 3 3 4 1 (2) D o e s LOGO e x p l a i n t h e e r r o r s w e l l ? V e r y A d e q u a t e A d e q u a t e OK I n a d e q u a t e 1 2 4 4 (3) Where t h e r e a n y s p e c i f i c t h i n g s a b o u t LOGO y o u d i d n o t l i k e ? Why? Too e x p e n s i v e c a n n o t r e n a m e a p r o c e d u r e (4) How c a n t h e l a n g u a g e LOGO be i m p r o v e d ? Sum a n d d i f f e r e n c e be s u b s t i t u t e d b y + -a l l o w f o r s u b r o u t i n e s more b u i l t i n f u n c t i o n s e r r o r m e s s a g e s n e e d i m p r o v e m e n t 43 (5) W o u l d y o u p r e f e r t o l e a r n LOGO o r some o t h e r l a n g u a g e ? 5 f o r LOGO — e a s y t o u s e , t o l e a r n , OK t o s t a r t w i t h b u t n e e d a more s o p h i s t i c a t e d l a n g u a g e t o do more c o m p l i c a t e d p r o b l e m s 3 f o r FOBTRAN — u s e d f o r s c i e n t i f i c w o r k , b u t LOGO n i c e f o r f u n , LOGO e a s y t o l e a r n f o r a f i r s t l a n g u a g e 3 w i t h no c o m m e n t s (6) S p e n d more t i m e w i t h LOGO? 6 s t a t e d Y e s — more p r o b l e m s , 3 o r 4 more w e e k s , a i n t e r e s t i n g l a n g u a g e , more l e c t u r e t i m e 5 s t a t e d No — more p r a c t i c a l a p p l i c a t i o n s w o u l d be a p p r o p r i a t e , c a n n o t a f f o r d t o s p e n d t h e t i m e , n o t e n o u g h t i m e t o s p e n d on p r o g r a m s (7) I f y o u h a d t h e t i m e w o u l d y o u l i k e t o c o n t i n u e w i t h LOGO and t h e c o m p u t e r ? 8 s t a t e d Y e s — f u n , u s e f u l t o l e a r n a n o t h e r l a n g u a g e , more d i f f i c u l t p r o g r a m s , e x p e r i m e n t w i t h t h e l a n g u a g e 3 s t a t e d No - - o t h e r i n t e r e s t s * n e e d a l a n g u a g e t o s o l v e m a t h e m a t i c a l p r o b l e m s Q u e s t i o n s a n d r e s p o n s e s o n t h e M a n u a l . (1) D o e s t h e M a n u a l p r o v i d e e n o u g h i n f o r m a t i o n ? A d e q u a t e OK I n a d e q u a t e V e r y I n a d e q u a t e 1 5 3 2 (2) Were y o u b o t h e r e d by t h e f a c t t h a t t h e M a n u a l was d i r e c t e d a t t h e s e c o n d a r y l e v e l ? V e r y B o t h e r e d B o t h e r e d OK N o t B o t h e r e d 6 5 (3) A r e t h e r e e n o u g h e x a m p l e s i n t h e M a n u a l ? A d e q u a t e OK I n a d e q u a t e V e r y I n a d e q u a t e 1 1 5 4 (4) (a) The b e s t w r i t t e n s e c t i o n ? S i g n On a n d O f f , e d i t i n g , how t o use a n d w r i t e p r o g r a m s , e v e r y t h i n g , e x p l a i n i n g t h e i n t e r a c t i v e n a t u r e o f t h e l a n g u a g e (b) The w o r s t w r i t t e n s e c t i o n ? G l o s s a r y , : a : a s a m a i l b o x i s u n c l e a r , t e s t and e d i t i n g s e c t i o n s , how t o g e t o u t o f E d i t , r e c u r s i o n e x a m p l e s n o t g o o d , b u i l d i n g p r o g r a m s f r o m c o m m a n d s , w h o l e M a n u a l l a c k i n g i n s u f f i c i e n t d e t a i l t o be v e r y u s e f u l (5) A d d i t i o n a l w o r k i s n e e d ? G l o s s a r y , f u n c t i o n s , t e s t a n d e d i t i n g , more e x a m p l e s t h r o u g h t h e M a n u a l , show how t h e commands a r e t o be u s e d (6) What s h o u l d be a d d e d o r d e l e t e d ? M o r e c o m p l i c a t e d e x a m p l e s i n m a t h e m a t i c a l n o t a t i o n , b e t t e r u s e o f p r o c e d u r e s , more e x a m p l e s u s i n g E g u a l p , more e x a m p l e s o f p r o g r a m m i n g I u s e d t h e r e s u l t s o f t h e q u e s t i o n n a i r e t o h e l p p r e p a r e t h e c u r r e n t v e r s i o n o f t h e m a n u a l . I r e w r o t e t h e g l o s s a r y a n d i n s e r t e d e x a m p l e s f o r e a c h . I a l s o wen t t h r o u g h t h e m a n u a l a n d p u t i n e x a m p l e s w h e r e t h e y w e r e n e e d e d . 45 7- C r i t i q u e o f LOGO L i k e m o s t s y s t e m s , LOGO h a s s e v e r a l n o t a b l e w e a k n e s s e s a s w e l l a s i t s a d v e r t i s e d s t r e n g t h s . LOGO'S w e a k n e s s e s a r e t h a t i t i s l i m i t e d i n i t s a b i l i t y t o p e r f o r m n u m e r i c c o m p u t a t i o n s , a n d i t p r o v i d e s o n l y v e r y p r i m i t i v e c o n t r o l s t r u c t u r e s a n d d a t a s t r u c t u r e s . The c o m m e n t s o f t h e CPSC 200 s t u d e n t s were q u i t e u s e f u l i n c o r r e c t i n g t h e U s e r ' s M a n u a l a n d i n h e l p i n g me e v a l u a t e t h e l a n g u a g e . W i t h t h e v a r i e t y o f b a c k g r o u n d s o f t h e s t u d e n t s t a k i n g t h e c o u r s e i t was d i f f i c u l t t o f o r m an o v e r a l l i m p r e s s i o n o f t h e i r r e s p o n s e s . Some o f t h e s t u d e n t s t o o k t h e c o u r s e b e c a u s e t h e y h a d a s l i g h t i n t e r e s t i n c o m p u t e r s c i e n c e ; o t h e r s h a d FORTRAN a n d / o r B A C I C e x p e r i e n c e and f o u n d LOGO t o b e r e d u n d a n t a n d l i m i t e d ; s t i l l o t h e r s w e r e v e r y i n t e r e s t e d i n e x p l o r i n g LOGO'S p o s s i b i l i t i e s . V a r i o u s s u g g e s t i o n s f o r i m p r o v e m e n t o f t h e BCLOGO i m p l e m e n t a t i o n i n c l u d e : e n h a n c e t h e e f f i c i e n c y t o c u t i t s c o s t ; p r o v i d e f o r r e n a m i n g o f p r o c e d u r e s ; a l l o w s u b r o u t i n e s ; p r o v i d e f o r t h e u s e o f i n f i x n o t a t i o n i n a d d i t i o n t o t h e c u r r e n t p r e f i x f o r m ; i m p r o v e e r r o r d i a g n o s t i c s a n d i m p l e m e n t more g r a c e f u l e r r o r r e c o v e r y ; a n d add a f l o a t i n g p o i n t d a t a t y p e . LOGO'S s t r e n g t h s a r e : 1) i t i s an e x t r e m e l y s i m p l e l a n g u a g e w i t h r e l a t i v e l y u n c o m p l i c a t e d s y n t a x ; 2) i t i s e a s y t o t e a c h a n d e a s y t o l e a r n ; 3) i t i s d e s i g n e d f o r n o v i c e s ; 4) i t i s i n t e r a c t i v e ; 5) i t was d e s i g n e d w i t h t h e i d e a t h a t u s i n g a 46 c o m p u t e r s h o u l d b e " f u n " — n o t " w o r k " . C o m p a r i s o n o f B A S I C a n d L O G O : B A S I C : a ) The G o a l o f B A S I C : The i d e a b e h i n d B A S I C was t o make i t e a s y f o r p e o p l e a n d c o m p u t e r s t o i n t e r a c t . B A S I C was d e v e l o p e d i n t h e e a r l y s i x t i e s t o p r o v i d e f a c i l i t i e s f o r p e o p l e t o o b t a i n s o l u t i o n s t o m a t h e m a t i c a l a n d b u s i n e s s p r o b l e m s w i t h t h e a i d o f t h e c o m p u t e r . b) The A u d i e n c e : The p e o p l e who u s e B A S I C a r e p r i m a r i l y f r o m t h e b u s i n e s s w o r l d , i . e . , i n d u s t r y , b a n k i n g , m a n u f a c t u r i n g a n d r e l a t e d f i e l d s . A d d i t i o n a l l y a l a r g e number o f s c h o o l a d m i n i s t r a t o r s a n d s t u d e n t s a r e now u s i n g t h e l a n g u a g e . Many s c i e n t i s t s i n a r e a s o t h e r t h a n c o m p u t e r s c i e n c e u s e B A S I C f o r s i m p l e n u m e r i c a l c o m p u t a t i o n . c ) S y n t a x : B A S I C c a n be u s e d t o e x p r e s s p r o b l e m s a n d t h e i r s o l u t i o n s i n a f o r m t h a t i s r e a d i l y u n d e r s t a n d a b l e by humans — i t l o o k s r e a s o n a b l y s i m i l a r t o h i g h s c h o o l a l g e b r a . Some v e r s i o n s i n c l u d e e x t e n s i o n s f o r p e r f o r m i n g s t r i n g p r o c e s s i n g . I m p l e m e n t a t i o n s : T h e r e a r e many d i f f e r e n t v e r s i o n s o f B A S I C b e i n g u s e d . One p o p u l a r v e r s i o n i s B A S I C - P L U S . B A S I C - P L U S a l l o w s b o t h r e c u r s i v e f u n c t i o n s a n d r e c u r s i v e s u b r o u t i n e s . T h i s v e r s i o n o f B A S I C u s e s t h e I F . . . THEN . . . E L S E s t r u c t u r e , s t r i n g f u n c t i o n s and d y n a m i c s t r i n g a r r a y s . 4 7 e) S u m m a r y : B A S I C i s n o t a p o w e r f u l l a n g u a g e * I t i s weak i n c o n t r o l s t r u c t u r e s a n d w e a k e r i n d a t a s t r u c t u r e s . I t i s a l a n g u a g e meant f o r i n t e r a c t i v e c o m p u t i n g b y n o v i c e s , p r i m a r i l y i n t h e n u m e r i c d o m a i n . LOGO : a) T h e G o a l o f LOGO: The i d e a b e h i n d LOGO was t o c r e a t e a p r o g r a m m i n g l a n g u a g e t o do p r a c t i c a l t h i n g s w i t h t h e a i d o f c o m p u t e r s a n d t o d e s c r i b e a l g o r i t h m s . LOGO was d e s i g n e d t o work w i t h s y m b o l s r a t h e r t h a n w i t h n u m e r i c v a l u e s . T h i s f e a t u r e d i s t i n g u i s h e s LOGO f r o m B A S I C a n d F O B T B A N . b) T h e A u d i e n c e : The p e o p l e who u s e LOGO a r e c h i l d r e n w i t h s p e c i a l l e a r n i n g p r o b l e m s , " n o r m a l " c h i l d r e n a n d n o v i c e p r o g r a m m a r s . c ) S y n t a x : LOGO h a s v e r y f ew s y n t a x r u l e s . The u s e r ' s p r i m a r y g o a l i s t o l e a r n wha t t h e v a r i o u s f e a t u r e s o f LOGO d o , t h e n how t o w r i t e t h e m d o w n . LOGO i s a i n t e r p r e t e d l a n g u a g e . T h i s means t h a t LOGO o p e r a t e s i n a d i r e c t e x e c u t i o n mode [ M A N I S , 1 9 7 3 J . As t h e u s e r t y p e s i n a l i n e o f c o d e w h i c h i s n o t p a r t o f a p r o c e d u r e d e f i n i t i o n , LOGO o b e y s t h a t command i m m e d i a t e l y ; b u t i f a p r o c e d u r e i s b e i n g d e f i n e d , LOGO w i l l s t o r e t h e c o d e away f o r l a t e r u s e . I m p l e m e n t a t i o n : T h e r e a r e many v e r s i o n s o f L O G O : E d i n b u r g h , B B N , MIT a n d UBC a l l h a v e d i f f e r e n t LOGO i m p l e m e n t a t i o n s , b u t t h e y a r e s i m i l a r i n t h e i r s e m a n t i c s . UBC d o e s n o t h a v e a t u r t l e o r a g r a p h i c e n v i r o n m e n t w o r k i n g , b u t t h e o t h e r t h r e e do h a v e a t l e a s t a w o r k i n g t u r t l e . 48 Many o f t h e CPSC 200 s t u d e n t s c o m p l a i n e d t h a t BCLOGO was c o s t l y t o u s e , e s p e c i a l l y i n c o m p a r i s o n w i t h o t h e r l a n g u a g e s s u c h a s F O R T R A N . T h e r e a r e t w o r e a s o n s f o r t h i s : 1) LOGO i s i m p l e m e n t e d a s an i n t e r p r e t e r a n d i s t h e r e f o r e i n h e r e n t l y more e x p e n s i v e t o r u n t h a n c o m p i l e d l a n g u a g e s s u c h a s F O R T R A N ; 2) t h e BCLOGO i m p l e m e n t a t i o n i n B C P L i s i n e f f i c i e n t . T h e r e i s no r e a s o n i n h e r e n t i n t h e LOGO l a n g u a g e t h a t s h o u l d make i t a n y more o r l e s s c o s t l y t o u s e t h a n a n y o t h e r i n t e r p r e t i v e l a n g u a g e ( s u c h a s B A S I C o r L I S P ) . e) S u m m a r y : LOGO i s g o o d a t p r o c e s s i n g i n f o r m a t i o n b u t i t i s n o t p a r t i c u l a r l y s u i t e d t o " n u m b e r c r u n c h i n g " . B u t g i v e n a p r o g r a m w r i t t e n i n B A S I C by an e l e m e n t a r y o r s e c o n d a r y s c h o o l s t u d e n t t o p e r f o r m some c a l c u l a t i o n , LOGO c o u l d do t h e j o b a s w e l l a s B A S I C s o l o n g a s t h e n u m b e r s a r e s m a l l , . H o w e v e r , DBC LOGO h a s no f l o a t i n g p o i n t d a t a t y p e , s o t h e p r o b l e m w o u l d h a v e t o be s o l v a b l e u s i n g i n t e g e r s . The S e m a n t i c s o f B A S I C a n d LOGO: B o t h l a n g u a g e s h a v e t h e r o u g h l y same f o r m a t . E x a m p l e s o f some o f t h e mos t s i m i l a r s t a t e m e n t s a r e : LOGO B A S I C P R I N T " t h i s i s a t e s t " P R I N T sum 8 22 MAKE " A " y e s GO 100 END B Y E MAKE " X " r e q u e s t TEST i s A y e s I F T R U E GO 100 I F F A L S E " w r o n g " P R I N T " t h i s i s a t e s t " P R I N T 8 + 2 L E T A = y e s GOTO o r GO TO 100 END BYE I N P U T X I F A = y e s THEN 100 P R I N T " w r o n g " 8. C o n c l u s i o n LOGO i s an i d e a l language f o r the e lementary and secondary l e v e l s o f e d u c a t i o n , but i t i s d i f f i c u l t t o see how the language c o u l d be used i n o t h e r env ironments . The pr imary use of computers i s i n the b u s i n e s s w o r l d . Perhaps LOGO s h o u l d be m o d i f i e d to r e f l e c t the needs o f t h i s user community. I f LOGO were to be used o u t s i d e o f the c l a s s r o o m i t would have to be made more p o w e r f u l i n the area o f numeric c o m p u t a t i o n . C e r t a i n l y i f the BCLOGO implementa t ion were to be used i n p r o d u c t i o n env ironments the suggested improvements i n the p r e v i o u s c h a p t e r would have to be made. LOGO*s u s e f u l l i f e s p a n may a l r e a d y be over — i t has been used i n r e s e a r c h environments f o r some time and i t may be t h a t i t i s t ime to d e s i g n a succes sor l anguage , i n c o r p o r a t i n g the knowledge a c q u i r e d i n the v a r i o u s LOGO e x p e r i e n c e s and e x p e r i m e n t s . The f u t u r e f o r LOGO i s dim u n l e s s e lementary and secondary s c h o o l e d u c a t o r s are made aware o f i t s p o t e n t i a l . Of c o u r s e , g e n e r a t i n g such awareness depends on i n d u c i n g s c h o o l s to use LOGO. F o r example, i f LOGO were s u c c e s s f u l l y used i n one e lementary s c h o o l i n the Vancouver s c h o o l d i s t r i c t , o t h e r s might be encouraged t o i n t r o d u c e the language , and perhaps LOGO might f i n d i t s way i n t o secondary s c h o o l c u r r i c u l a as w e l l . Both s t u d e n t s and t e a c h e r s would b e n e f i t from the o p p o r t u n i t y to s e l e c t the most a p p r o p r i a t e language f o r t h e i r p r o b l e m - s o l v i n g t a s k s . The p o t e n t i a l o f LOGO as a v e h i c l e f o r 50 t e a c h i n g p r o b l e m s o l v i n g s k i l l s l e a d s o n e t o c o n c l u d e t h a t a L O G O - l i k e l a n g u a g e o u g h t t o be p r o v i d e d a s a n a l t e r n a t i v e t o B A S I C , FORTRAN a n d A s s e m b l y L a n g u a g e . 9 . R e f e r e n c e s B i t z e r , D . The W i d e W o r l d o f C o m p u t e r - B a s e d E d u c a t i o n , A d v a n c e s i n C o m p u t e r s ; V o l . 15 ( 1 9 7 6 ) , p a g e s 2 3 9 - 2 8 3 . B r o w n , J . , B u r t o n , R . , and B e l l . S O P H I E — A S O P H i s t i c a t e d I n s t r u c t i o n a l E n v i r o n m e n t f o r t e a c h i n g E l e c t r o n i c T r o u b l e s h o o t i n g . B o l t , B e r a n e k a n d Newman* I n c ; . A r t i f i c i a l I n t e l l i g e n c e , C a m b r i d g e , M a s s . , BBN R e p o r t N o . 2 7 9 0 ( 1 9 7 4 ) . B r o w n , J . , R u b i n s t e i n , R . , a n d B u r t o n R . # R e a c t i v e e l e c t r o n i c s i n s t r u c t i o n . B o l t , B e r a n e k and Newman, I n c . C a m b r i d g e , M a s s . , BBN R e p o r t N o . 3314 (1976) . D e n e n b e r g , S t e w a r t A . , A p e r s o n e v a l u a t i o n o f t h e PLATO s y s t e m . ; ACM S i g c u e B u l l e t i n , V o l . 1 2 , N o . 2 ( 1 9 7 8 ) , p a g e s 3 - 1 0 . D o d d s , W . , P e r s o n a l c o m m u n i c a t i o n . V a n c o u v e r S c h o o l B o a r d , V a n c o u v e r , B . C . ( 1 9 7 8 ) . du B o u l a y , B . , L e a r n i n g t e a c h i n g m a t h e m a t i c s . D e p a r t m e n t o f A r t i f i c i a l I n t e l l i g e n c e , U n i v e r s i t y o f E d i n b u r g h , D . A . I . E d i n b u r g h , S c o t l a n d . R e s e a r c h R e p o r t N o . 18 ( 1 9 7 7 ) . D u g d a l e , S . , a n d K i b b e y , D . , The f r a c t i o n s c u r r i c u l u m — PLATO e l e m e n t a r y s c h o o l m a t h e m a t i c s p r o j e c t - C o m p u t e r - b a s e d E d u c a t i o n R e s e a r c h L a b o r a t o r y , U n i v e r s i t y o f I l l i n o i s , U r b a n a ( 1 9 7 5 ) . F e u r z e i g , W . , P e r s o n a l c o m m u n i c a t i o n . B o l t , B e r a n e k a n d Newman, I n c . , C a m b r i d g e , M a s s . ( 1 9 7 8 ) . F e u r z e i g , W . , L u k a s , G . , e t a l . C o n c e p t u a l f r a m e w o r k f o r t e a c h i n g m a t h e m a t i c s . B o l t * B e r a n e k a n d Newman, I n c ; , C a m b r i d g e , M a s s . , V o l . 1 -4 , BBN R e p o r t N o . 2165 ( 1 9 7 1 ) . G o l d s t e i n , I . , L i e b e r m a n * H . , e t a l , LOGO -an i m p l e m e n t a t i o n o f LOGO i n L I S P . MIT A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y , C a m b r i d g e , M a s s . , LOGO Memo 11 (1975) . K e l a n i c , Thoman J . , T h e o r e m - p r o v i n g w i t h E U C L I D . C r e a t i v e C o m p u t i n g , V o l . 4 , N o . 4 ( J u l y - A u g u s t , 1 9 7 8 ) , p a g e s 6 0 - 6 3 . K i n g e r y , R . A . , B e r g , B . D . and S c h i l l i n g e r , E . H . , A c o m p u t e r i n t h e c l a s s r o o m . I n Men and I d e a s i n E n g i n e e r i n g : T w e l v e H i s t o r i e s f r o m I l l i n o i s . U n i v e r s i t y o f I l l i n o i s P r e s s . , U r b a n a , I l l i n o i s ( 1 9 6 7 ) , p a g e s 1 4 7 - 1 6 4 , M a n i s , V i n c e n t S . , A M a c h i n e I n d e p e n d e n t I m p l e m e n t a t i o n o f L O G O . U n i v e r s i t y o f B r i t i s h C o l u m b i a , D e p a r t m e n t o f C o m p u t e r S c i e n c e , M . S c . T h e s i s ( 1 9 7 3 ) . M o o r e , Omar K . , A u t o t e l i c r e s p o n s i v e e n v i r o n m e n t s a n d e x c e p t i o n a l c h i l d r e n , i n : J e r o m e H e l l m u t h , e d . The S p e c i a l C h i l d i n C e n t u r y 2 1 . S p e c i a l C h i l d P u b l i c a t i o n , S e a t t l e , W a s h i n g t o n ( 1 9 6 4 ) , p a g e s 8 7 - 1 3 8 . P a p e r t , S . , T e a c h i n g c h i l d r e n t h i n k i n g . MIT A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y , C a m b r i d g e , M a s s . , A l Memo N o . 247 ( 1 9 7 0 ) . P a p e r t , S . , A c o m p u t e r l a b o r a t o r y f o r e l e m e n t a r y s c h o o l s . MIT A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y , C a m b r i d g e , M a s s . , A l Memo N o . 246 (1971) . P e r l m a n , R. , TORTIS — T o d d l e r ' s Own R e c u r s i v e T u r t l e I n t e r p r e t e r S y s t e m . MIT A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y , C a m b r i d g e , M a s s . , A l Memo N o . 311 ( 1 9 7 4 ) . P o l l a c k , K i m b e r l y A . , LOGO U s e r ' s M a n u a l . U n i v e r s i t y o f B r i t i s h C o l u m b i a , D e p a r t m e n t o f C o m p u t e r S c i e n c e ( 1 9 7 8 ) . S m i t h , S . G . , C o m p u t e r - a i d e d t e a c h i n g o f o r g a n i c s y n t h e s i s . J . C h e m i c a l E d u c a t i o n 48 ( 1 9 7 1 ) , p a g e s 7 2 7 - 7 2 9 . S m i t h , S t a n l e y G . , a n d S h e r w o o d , B r u c e A . , E d u c a t i o n E d u c a t i o n a l u s e s o f t h e PLATO c o m p u t e r s y s t e m . S c i e n c e , V o l . 192 ( A p r i l , 1 9 7 6 ) , p a g e s 3 4 4 - 3 5 2 . S u g a r m a n , R . , A s e c o n d c h a n c e f o r c o m p u t e r -a i d e d i n s t r u c t i o n . I E E E S p e c t r u m ( A u g u s t , 1 9 7 8 ) , p a g e s 2 9 - 3 7 . S u g a r m a n , R . , " W h a t ' s n e w , t e a c h e r ? " A s k t h e c o m p u t e r . I E E E S p e c t r u m ( S e p t e m b e r , 1 9 7 8 ) , p a g e s 4 4 - 4 9 . W e i r , S . , a n d E m a n u e l , R . , U s i n g LOGO t o c a t a l y s i s c o m m u n i c a t i o n i n a n a u t i s t i c c h i l d . D e p a r t m e n t o f A r t i f i c i a l I n t e l l i g e n c e , U n i v e r s i t y o f E d i n b u r g h , D . A . I . , E d i n b u r g h , S c o t l a n d , R e a s e a r c h R e p o r t N o . 15 ( 1 9 7 6 ) . . W e i s g e r b e r , E . A . , P e r s p e c t i v e s i n I n d i v i d u a l i z e d L e a r n i n g . P e a c o c k , I t a s c a , I l l i n o i s ( 1 9 7 1 ) . W e s t r o m , M a r v , N A T i o n a l A u t h o r L a n g u a g e (NATAL-74) A u t h o r G u i d e . N a t i o n a l R e s e a r c h C o u n c i l o f C a n a d a , O t t a w a , O n t a r i o (1974). Y o b , G . , P I L O T . C r e a t i v e C o m p u t i n g , V o l 3, N o . 3 ( H a y - J u n e , 1977), p a g e s 57-63. 54 A P P E N D I X : LOGO U S E R ' S MANUAL 1. I n t r o d u c t i o n 56 2 . How t o S i g n o n t o a T e r m i n a l 57 3 . How t o Run LOGO „ . . . ; . . . . . . . . . 59 4 . R u n n i n g LOGO . . . . . . . . . . 61 5 . D e f i n i n g P r o c e d u r e s 68 5 . 1 E x a m p l e s o f p r o c e d u r e s 69 5 . 2 R u n n i n g Y o u r Own P r o c e d u r e s . . . . . . . . . 71 5 . 3 P r o c e d u r e s w i t h I n p u t s 72 6 . R e c u r s i o n . . . . . . . i i 74 7 . E d i t i n g a P r o c e d u r e . . . 8 5 8 . P r o c e d u r e s f o r Y o u r U s e . , 88 9 . E x a m p l e s o f W r i t i n g a P r o g r a m 90 1 0 . LOGO F u n c t i o n s ,i 93 1 0 . 1 A r i t h m e t i c . . . . . . . . . . . . . . . . . . . . . . . . . . 93 1 0 . 2 Commands : . . . . , . . . . . . . . . . 93 1 0 . 3 C o n d i t i o n a l s 93 1 0 . 4 i n p u t - O u t p u t . . . . . . . . . . . 94 1 0 . 5 C o n t r o l F u n c t i o n s 94 1 0 . 6 V a r i a b l e s . . 94 1 0 . 7 P r e d i c a t e s 94 1 0 . 8 T e x t P r o c e s s i n g 94 1 1 . G l o s s a r y 95 1 2 . W a r n i n g a n d e r r o r m e s s a g e s 107 1 3 . R e f e r e n c e s ... , . 108 I n d e x 109 55 D e a r S i r , I n t h e s e f a s t - c h a n g i n g t i m e s w i t h t h e l o w e r i n g o f m o r a l s t a n d a r d s a n d t h e i n c r e a s e i n new p r o g r a m m i n g l a n g u a g e s , I o f t e n f i n d t r o u b l e d y o u n g men a s k i n g me t h e q u e s t i o n , " F a t h e r , how c a n I be s u r e t h a t LOGO i s t h e one t r u e p r o g r a m m i n g l a n g u a g e ? " F o r s u c h c o n f u s e d s o u l s a n d e x a m i n a t i o n o f t h e i r c h i l d h o o d LOGO c a t e c h i s m o f t e n p r o v e s o f c o m f o r t . Remember how i t b e g i n s 1. What i s LOGO? LOGO i s a p r o g r a m m i n g l a n g u a g e . 2. Who made LOGO? P a p e r t and BBN made LOGO. 3. Why d i d t h e y make LOGO? T h e y made LOGO t o h e l p c h i l d r e n a n d s o c i a l s c i e n c e s t u d e n t s know i t , l o v e i t a n d t h r o u g h i t l e a r n t o j u g g l e a n d r i d e a u n i c y c l e . 4. I s t h e r e o n l y o n e LOGO? N o , t h e r e a r e many LOGO'S b u t t h e y a r e a l l r e f l e c t i o n s o f t h e one t r u e L O G O . 5 . I s LOGO j u s t a p r o g r a m m i n g l a n g u a g e ? N o , LOGO i s more t h a n a p r o g r a m m i n g l a n g u a g e , i t i s a l s o a t h e o r y o f l e a r n i n g a n d t h e p a t h t o deep p s y c h o l o g i c a l i n s i g h t . 6. W i l l LOGO h e l p me? Y e s , LOGO w i l l h e l p y o u by m a k i n g y o u r p r o b l e m s o l v i n g p r o c e s s e x p l i c i t a n d t r a n s p a r e n t u n t o y o u . 7. What a r e t h e f o u r l a s t t h i n g s ? P r o c e d u r e s , d e b u g g i n g , p r o b l e m d e c o m p o s i t i o n a n d r e c u r s i o n . 8. W i l l LOGO s t o p p e o p l e k i c k i n g s a n d i n my f a c e ? N o , b u t i t s h o u l d k e e p y o u o f f t h e b e a c h . Y o u r s s i n c e r e l y , F r . A l o y s i u s H a c k e r , C o g n i t i v e D i v i n i t y P r o g r a m I n s t i t u t e o f A p p l i e d E p i s t e m o l o g y [ 1 ] 56 LOGO U S E S ' S MANUAL 1 • I n t r o d u c t i o n Welcome t o t h e W o n d e r f u l W o r l d o f LOGO. LOGO i s a p r o g r a m m i n g l a n g u a g e w h i c h i s d e s i g n e d t o be e s p e c i a l l y e a s y t o l e a r n . I t i s d e s i g n e d t o t e a c h t h e e l e m e n t s o f p r o g r a m m i n g a n d p r o b l e m - s o l v i n g . As y o u r e a d t h e p a g e s t h a t f o l l o w y o u w i l l b e l e a r n i n g a c o m p u t e r l a n g u a g e c a l l e d L O G O . I n o r d e r t o u s e a c o m p u t e r l a n g u a g e y o u d o n o t n e e d t o know how t h e c o m p u t e r w o r k s . Y o u j u s t h a v e t o b e a b l e t o p u t t h e i n f o r m a t i o n t o work f o r y o u . LOGO i s an a d v a n c e d c o m p u t e r l a n g u a g e d e s i g n e d f o r c h i l d r e n , o r a n y o n e who i s w i l l i n g t o l e a r n a n d e n j o y t h e u s e o f a c o m p u t e r . T h i s m a n u a l was w r i t t e n f o r t h e s e c o n d a r y l e v e l o f e d u c a t i o n a n d h o p e f u l l y i t w i l l be u s e d i n h e l p i n g c h i l d r e n w i t h d i f f i c u l t i e s i n m a t h e m a t i c s a n d s p e l l i n g . No p r e v i o u s e x p e r i e n c e i s n e e d e d t o u s e t h i s l a n g u a g e o r t h e c o m p u t e r ; . The o b j e c t i v e o f t h i s m a n u a l i s t o b r i n g t o t h e s e c o n d a r y s c h o o l a d i f f e r e n t me thod o f u s i n g t h e c o m p u t e r . C u r r e n t l y , t h e B A S I C l a n g u a g e i s u s e d i n many s e c o n d a r y s c h o o l s i n t h e V a n c o u v e r a r e a , b u t i t i s my b e l i e f t h a t s t u d e n t s m i g h t b e n e f i t more by l e a r n i n g t h e e l e m e n t s o f p r o g r a m m i n g i n L O G O , a n d t h e n m o v i n g on t o more a d v a n c e d l a n g u a g e s . C e r t a i n l y s t u d e n t s s h o u l d be made a w a r e o f t h e o t h e r p r o g r a m m i n g l a n g u a g e s t h a t a r e a r o u n d . 57 2• How t o S i g n on t o a T e r m i n a l A t t h e U n i v e r s i t y o f B r i t i s h C o l u m b i a y o u w i l l f i n d t h e I B M 3 2 7 0 d i s p l a y s t a t i o n w h i c h c o n s i s t s o f a t e l e v i s i o n - l i k e s c r e e n a n d a t y p e w r i t e r k e y b o a r d . The c o m p u t e r c a n s e r v e a l a r g e number o f u s e r s c o n c u r r e n t l y , o f f e r i n g e a c h u s e r a w i d e v a r i e t y o f s e r v i c e s . The j o b o f k e e p i n g t r a c k o f a l l t h e p r o g r a m s i n t h e m a c h i n e a n d o f d e v o t i n g some a t t e n t i o n t o e a c h o f them e v e r y s e c o n d o r t w o i s h a n d l e d b y t h e MTS o p e r a t i n g s y s t e m . MTS s t a n d s f o r M i c h i g a n T e r m i n a l S y s t e m . When y o u a p p r o a c h a t e r m i n a l t h e s c r e e n w i l l r e a d : MTS i n l a r g e b l o c k l e t t e r s . T h i s s i m p l y means t h a t t h i s t e r m i n a l i s r e a d y f o r y o u r u s e . The c u r s o r i s p o s i t i o n e d a t t h e b e g i n i n g o f t h e i n p u t a r e a . I n t h e e x a m p l e s e v e r y t h i n g w h i c h i s u n d e r l i n e d i s wha t t h e p r o g r a m t y p e s o u t on t h e s c r e e n a n d wha t i s n o t u n d e r l i n e d i s w h a t y o u t y p e . I n o r d e r t o r e q u e s t s e r v i c e f r o m t h e c o m p u t e r , y o u m us t f i r s t i d e n t i f y y o u r s e l f t o M T S . T h i s i s done b y t y p i n g i n t h e word ' S i g n o n ' a n d 4 l e t t e r s • X X X X f w h i c h a r e g i v e n t o y o u by y o u r t e a c h e r . T h e s c r e e n i s c l e a r e d o f t h e b l o c k l e t t e r s * M T S ' and i n f r o n t o f y o u t h e s c r e e n s h o u l d l o o k l i k e t h i s : # SIGNON X X X X # ENTER USER PASSWORD 58 The p r o g r a m i s now r e a d y f o r y o u t o t y p e i n y o u r p a s s w o r d w h i c h w i l l be h i d d e n . Once t h i s i s d o n e t h e •#• mark w i l l b e d i s p l a y e d on t h e s c r e e n c o n f i r m i n g t h e c o m p l e t i o n o f t h e S i g n o n p r o c e s s : # Now MTS i s l i s t e n i n g t o y o u a n d i s w a i t i n g f o r y o u r r e q u e s t . T h i s c o m m u n i c a t i o n i s done t h r o u g h t h e MTS Command L a n g u a g e . 59 3 . How t o Hun LOGO LOGO i s an i n t e r p r e t e d l a n g u a g e . T h i s means t h a t LOGO o p e r a t e s i n a d i r e c t e x e c u t i o n mode [ M A N I S , 1973 j . A s t h e u s e r t y p e s i n a l i n e o f c o d e , i f he o r s h e i s n o t d e f i n i n g a p r o c e d u r e , LOGO o b e y s t h a t command i m m e d i a t e l y ; b u t i f d e f i n i n g a p r o c e d u r e , LOGO w i l l s t o r e t h e i n f o r m a t i o n away f o r l a t e r u s e . Y o u s h o u l d t h i n k o f LOGO a s a f r i e n d who i s n o t a v e r y f a s t l e a r n e r , b u t i s w i l l i n g t o c a r r y o u t y o u r o r d e r s . LOGO d o e s h a v e one p r o b l e m i t w i l l do wha t y o u s a y , n o t wha t y o u mean . To u s e t h i s l a n g u a g e y o u s i m p l y t y p e i n : # $RON LOGO:LOGO The s c r e e n w i l l t h e n come b a c k t o y o u w i t h a s i g n . T h i s •=• s i g n means t h a t LOGO i s now l i s t e n i n g t o y o u . Now y o u a r e r e a d y t o b e g i n t o g i v e LOGO commands t o do t h i n g s f o r y o u . When t h e t i m e c o m e s t h a t y o u a r e r e a d y t o l e a v e LOGO y o u t y p e i n : = BYE T h i s w i l l t e r m i n a t e LOGO a n d b r i n g y o u b a c k t o M T S . To make a c o p y o f y o u r w o r k b e f o r e y o u s i g n o f f a n d y o u a r e on t h e VDCOM you p r e s s down o n t h e S H I F T k e y a n d a t t h e same t i m e h o l d down t h e C k e y a n d t h i s w i l l p r i n t t h e b u f f e r . I f y o u a r e on t h e 3270 t e r m i n a l y o u h i t t h e PF3 k e y a n d t h e same t h i n g w i l l o c c u r . I f y o u a r e s t i l l i n LOGO a n d w i s h t o t e r m i n a t e a l l 60 t o g e t h e r w i t h o u t g o i n g b a c k i n t o MTS Y o u t y p e i n L 0 G O 0 T . T h i s command w i l l a s k y o u i f y o u w i s h a c o p y o f y o u r work b e f o r e y o u a r e s i g n e d o f f w i t h t h e c h a r g e s . I f y o u a r e t a l k i n g t o MTS a n d y o u a r e t h r o u g h f o r t h e d a y y o u t y p e i n t h e f o l l o w i n g command : # S I G N O F F T h i s command w i l l d i s p l a y on t h e s c r e e n t h e c h a r g e s f o r t h e s e s s i o n a n d t h e n r e d i s p l a y t h e ' M T S • b l o c k l e t t e r s . 61 4 . R u n n i n g LOGO LOGO i s a v e r y s i m p l e l a n g u a g e i n w h i c h t o p r o g r a m . Y o u t e l l LOGO t o do s o m e t h i n g a n d i t w i l l do i t . F o r e x a m p l e , i f I w a n t e d LOGO t o p r i n t o u t • H I * I w o u l d t y p e i n : = P R I N T " H I " LOGO w o u l d t h e n t y p e o u t on t h e n e x t l i n e : H I P R I N T i s a b u i l t - i n w o r d . I t i s a n a c t i o n w h i l e • H I * i s t h e d a t a . N o t e t h a t t h e a c t i o n t h a t i s t o be p e r f o r m e d a l w a y s m u s t p r e c e d e t h e d a t a . LOGO c o n t a i n s t w o k i n d s o f o b j e c t s WORDS a n d S E N T E N C E S . A w o r d i s any s t r i n g o f l e t t e r s o r d i g i t s s u r r o u n d e d by q u o t e m a r k s J . M A N I S , 1973 J . A w o r d c a n h a v e a s f ew a s o n e o r as many a s 255 c h a r a c t e r s i n i t . The f o l l o w i n g i s a n e x a m p l e o f a w o r d : = P R I N T "2345%$" 2345%$ A s e n t e n c e i n LOGO i s s i m p l e a s e q u e n c e o f w o r d s s e p a r a t e d b y b l a n k s . The f o l l o w i n g i s a n e x a m p l e o f a s e n t e n c e : 62 5 P R I N T " H I T H E R E , L O G O " H I T H E R E , LOGO 5 P R I N T SENTENCE " H I " SENTENCE " T H E R E , " " L O G O " H I T H E R E , LOGO B y j o i n i n g s e n t e n c e s o f w o r d s t o g e t h e r y o u g e t a L I S T . The f o l l o w i n g a r e some e x a m p l e s o f a l i s t : = P R I N T L I S T " H I " " T H E R E " H I THERE = MAKE " A " " L O G O " = P R I N T L I S T " H I , " : A : H I , LOGO F o r p u t t i n g w o r d s a n d l i s t s t o g e t h e r * t h e r e i s t h e command WORD. WORD t a k e s t w o i n p u t s , b o t h o f w h i c h m u s t be w o r d s , a n d p u t s them t o g e t h e r t o make a l o n g e r w o r d . F o r e x a m p l e : = P R I N T WORD " H I " " T H E R E " H I T H E R E LOGO h a s f o u r o p e r a t i o n s a n d when u s e d w i t h t h e command w o r d o r s e n t e n c e r e s u l t s i n a v e r y i n t e r e s t i n g o u t p u t . F o r e x a m p l e , F I R S T o u t p u t s t h e f i r s t c h a r a c t e r o f i t s i n p u t i f t h e i n p u t i s a w o r d ; a n d i f t h e i n p u t i s a s e n t e n c e , F I R S T o u t p u t s t h e f i r s t w o r d . B O T F I R S T o u t p u t s e v e r y t h i n g b u t t h e f i r s t e l e m e n t o f i t s i n p u t . L A S T a n d BDTLAST a r e s i m i l a r l y d e f i n e d . The f o l l o w i n g a r e some e x a m p l e s o f t h e u s a g e o f t h e s e o p e r a t i o n s : = P R I N T F I R S T " C A T " C = P R I N T B O T F I R S T " C A T " AT 63 = P B I N T LAST " C A T " 2 = P B I N T BOTLAST " C A T " CA = P B I N T F I B S T "LOGO I S F O N " LOGO =~PBINT B U T F I B S T "LOGO I S F O N " I S FUN = P B I N T F I B S T F I B S T "LOGO I S F U N " L The o u t p u t o f F I B S T o r L A S T i s a l w a y s a LOGO w o r d . The o u t p u t o f B U T F I B S T o r B U T L A S T a r e a l w a y s t h e same a s t h e i r i n p u t -e i t h e r a w o r d o r a s e n t e n c e . T h i s means t h a t a s i n g l e w o r d c a n s o m e t i m e s be a LOGO s e n t e n c e . The f o l l o w i n g a r e e x a m p l e s o f u s i n g more t h a n one o p e r a t i o n i n a command : = P B I N T SENTENCE " G O " WOBD " M A N " " G O " GO MANGO = P B I N T L A S T ( F I B S T " T H E C A T " ) E LOGO h a s many k i n d s o f i n s t r u c t i o n s w h i c h do t h i n g s f o r y o u . One k i n d o f i n s t r u c t i o n i s t h e COMMAND w h i c h i s an o r d e r t o do s o m e t h i n g l i k e " P i c k up y o u r b o o k " , An O P E B A T I O N , on t h e o t h e r h a n d , a n s w e r s a q u e s t i o n l i k e " Y e s , y o u c a n p i c k up my b o o k . " F o r b o t h o p e r a t i o n s a n d c o m m a n d s , t h e . i n s t r u c t i o n i s w r i t t e n w i t h t h e name o f t h e d e s i r e d a c t i o n * f o l l o w e d b y t h e d a t a t h a t t h e a c t i o n n e e d s . The i n p u t t o a n o p e r a t i o n o r command may i t s e l f be t h e r e s u l t o f a n o t h e r o p e r a t i o n , b u t c a n n o t b e a r e s u l t f r o m a command s i n c e commands do n o t o u t p u t a n y t h i n g . H e r e a r e some e x a m p l e s w h i c h y o u m i g h t t r y : 64 = P R I N T " X " means t h a t ' X * w i l l be t y p e d o u t o n t h e n e x t l i n e . = SUM " 5 " " 4 " means t h a t t h e n u m b e r ' 5 * a n d t h e number • 4» w i l l be a d d e d t o g e t h e r . B u t i f y o u j u s t t y p e i n t h e l i n e w i t h o u t a command LOGO w i l l r e t u r n a e r r o r m e s s a g e : ERROR MESSAGE " Y O U DID NOT T E L L ME WHAT TO DO WITH 5 + 4.•« The command P R I N T n e e d s o n l y one a r g u m e n t . I f y o u u s e a word w i t h t h i s p r o c e d u r e y o u n e e d t o s u r r o u n d t h e w o r d i n q u o t e s , a s s h o w n a b o v e . B u t i f t h e a r g u m e n t i s a number t h e n t h e r e n e e d n o t be a n y q u o t e s . W i t h o u t t h e q u o t e s a r o u n d t h e l e t t e r X , P r i n t w o u l d t r y t o e x e c u t e t h e p r o c e d u r e X a n d a e r r o r m e s s a g e w o u l d b e p r i n t e d . P r i n t a l s o w i l l a c c e p t a s e n t e n c e . A l l y o u n e e d t o r emember a b o u t s e n t e n c e s , i s t h a t t h e y a r e c o m p o s e d o f a d o u b l e q u o t e f o l l o w e d by a s e q u e n c e o f w o r d s , e n d i n g w i t h a d o u b l e q u o t e . H e r e a r e some e x a m p l e s : = SUM " 1 " " 2 " ERROR MESSAGE "YOU D I D NOT T E L L ME WHAT TO DO WITH 3 . ^ = P R I N T SUM " 1 " " 2 " 3 = P R I N T HELLO ERROR MESSAGE "LOGO DOES NOT KNOW HOW TO H E L L O . " 65 = P R I N T "HOW ARE YOU T O D A Y . " HOW ARE YOU TODAY Now l e t u s u s e t h e s e two w o r d s P R I N T a n d SUM and t r y some a r i t h m e t i c p r o b l e m s . I f y o u t a k e : (7 + ( 5 - 2 ) ) Y o u know t h a t i n a r i t h m e t i c t h e r e s u l t w o u l d b e 1 0 ; Y o u w o u l d f i r s t t a k e t h e i n n e r m o s t p a r e n t h e s e s a n d g e t t h e r e s u l t ; t h e n w i t h t h a t r e s u l t y o u w o u l d go t o t h e o u t e r p a r e n t h e s e s a n d s o l v e t h e p r o b l e m . I n LOGO y o u w o u l d t y p e i n t h e same p r o b l e m a s f o l l o w s : (SUM 7 ( D I F F E R E N C E 5 2) ) To h a v e t h e s o l u t i o n p r i n t o u t on t h e n e x t l i n e y o u mus t u s e t h e command P r i n t . So t h e c o m p l e t e s e n t e n c e i n LOGO w o u l d r e a d a s f o l l o w s : = P R I N T (SUM 7 ( D I F F E R E N C E 5 2) ) J O The p a r e n t h e s e s a r e t h e r e t o h e l p y o u when y o u l o o k a t t h e p r o b l e m , b u t a r e n o t n e c e s s a r y t o s o l v e t h e p r o b l e m . I n t h i s e x a m p l e t h e p r o c e d u r e D I F F E R E N C E i s g i v e n t h e n u m b e r s 5 and 2 . T h i s p r o c e d u r e r e t u r n s a r e s u l t w h i c h h a p p e n s t o be t h e n u m b e r 3 t h i s t i m e a r o u n d . T h e n , t h e p r o c e d u r e SUM i s r u n w i t h t h e n u m b e r s 7 a n d 3 , w h e r e 3 was t h e r e s u l t f r o m 66 t h e p r o c e d u r e D I F F E R E N C E * The p r o c e d u r e SUM a l s o r e t u r n s a r e s u l t , w h i c h h a p p e n s t o be t h e number 1 0 . N e x t t h e command P R I N T t a k e s o v e r . I t s e f f e c t i s t o p r i n t t h e , n u m b e r 10 on t h e s c r e e n ; Now, l e t u s t r y a n o t h e r s e n t e n c e u s i n g t h e same p r o c e d u r e s , b u t i n a d i f f e r e n t o r d e r . F i r s t l e t u s s e e w h a t i t w o u l d l o o k l i k e i n a r i t h m e t i c f o r m : (7 - (5 + 2 ) ) = 0 Now l e t u s w r i t e i t i n LOGO f o r m : ( D I F F E R E N C E 7 (SUM 5 2 ) ) And w i t h t h e command P R I N T y o u g e t : = P R I N T ( D I F F E R E N C E 7 (SUM 5 2 ) ) 0 I n t h i s e x a m p l e t h e p r o c e d u r e SUM i s g i v e n t h e n u m b e r s 5 a n d 2 . T h i s p r o c e d u r e r e t u r n s a r e s u l t w h i c h i s t h e n u m b e r 7 . T h e n , t h e p r o c e d u r e D I F F E R E N C E i s r u n w i t h t h e n u m b e r s 7 and 7 , w h e r e t h e l a s t 7 was t h e r e s u l t f r o m t h e p r o c e d u r e SUM. The p r o c e d u r e D I F F E R E N C E a l s o r e t u r n s a r e s u l t , w h i c h h a p p e n s t o b e t h e number 0 . And a t l a s t , t h e command PRINT t a k e s o v e r a n d i t p r i n t s t h e r e s u l t o f t h e s e p r o c e d u r e s , on t h e s c r e e n . A l l t h e a r i t h m e t i c p r o c e d u r e s n e e d t w o i n p u t s b e f o r e t h e y c a n c a l c u l a t e t h e i r r e s u l t s . I f y o u f o r g e t t o u s e t h e command P R I N T , LOGO w i l l r e t u r n a m e s s a g e t o y o u s a y i n g : 67 YOU DID NOT T E L L ME WHAT TO DO WITH - R E S U L T w h e r e t h e r e s u l t i s t h e a n s w e r o r v a l u e y o u r s e n t e n c e c a l c u l a t e d . LOGO r e a d s y o u r commands f r o m l e f t t o r i g h t , l o o k i n g f o r t h e c o r r e c t number o f i n p u t s f o r e a c h p r o c e d u r e . A l s o n o t e t h a t i n LOGO o p e r a t i o n s a l w a y s come b e f o r e t h e n u m b e r s o p e r a t e d on w h e r e a s i n a l g e b r a i c n o t a t i o n t h e o p e r a t i o n s come b e t w e e n t h e n u m b e r s . The LOGO command MAKE i s u s e d f o r n a m i n g . MAKE t a k e s two i n p u t s ; t h e f i r s t i s t h e name a n d t h e s e c o n d i s t h e t h i n g b e i n g n a m e d , = MAKE " X " 27 T h i s s t a t e m e n t w i l l a s s i g n t h e name * X ' t o 2 7 . A name m u s t be a LOGO w o r d . 27 i s t h e v a l u e o r t h i n g , a n d may be a number o r a w o r d o r a l i s t o r a n y t h i n g e l s e y o u w i s h i t t o . b e . = P R I N T : X : 12 = MAKE " M I L K " " L I Q U I D " (MILK I S THE NAME AND L I Q U I D I S THE THING) = P R I N T : M I L K : L I Q U I D 68 5. D e f i n i n g P r o c e d u r e s LOGO a l l o w s y o u t o d e f i n e a s many s e p a r a t e p r o c e d u r e s a s y o u l i k e , a n d i t s t o r e s t h e m a l l i n y o u r s e c t i o n o f w o r k i n g s p a c e * B e c a u s e y o u c a n h a v e more t h a n one p r o c e d u r e i n t h e w o r k i n g s p a c e i t i s n e c e s s a r y t o g i v e e a c h p r o c e d u r e i t s own name so t h a t y o u c a n r u n t h e o n e y o u w a n t . D e f i n i n g a p r o c e d u r e i s l i k e t e l l i n g someone w h a t t o d o . Y o u r i n s t r u c t i o n s s h o u l d be c l e a r a n d e a s y t o f o l l o w . F o r e x a m p l e : HOW TO DRINK A G L A S S OF M I L K 1 GET A G L A S S , 2 GET THE M I L K , 3 POOR THE M I L K INTO THE G L A S S , 4 P I C K UP THE G L A S S AND DRINK THE M I L K . I n o r d e r t o d e f i n e a p r o c e d u r e y o u mus t [ M A N I S , 1 9 7 3 ] : a . T h i n k up a name o r t i t l e f o r y o u r p r o c e d u r e t h a t w i l l h e l p y o u i n r e m e m b e r i n g wha t i t d o e s . b . D e c i d e on wha t i n p u t s a n d o u t p u t y o u wan t y o u r p r o c e d u r e t o h a v e . 69 5 . 1 E x a m p l e s o f P r o c e d u r e s I n t h e e x a m p l e t h a t f o l l o w s y o u a r e s h o w n how t o d e f i n e a new p r o c e d u r e w h i c h w i l l be named G R E E T . T h i s p r o c e d u r e ' s j o b i s t o o u t p u t t w o s e n t e n c e s o n t h e d i s p l a y s c r e e n . = TO GREET 3) 10 P R I N T " H E L L O " 1 20 P R I N T "WHAT I S YOOR N A M E ? " ji> END We c a l l ' T O G R E E T ' t h e ' t i t l e l i n e ' , a n d GREET i s t h e name o f t h e p r o c e d u r e . The command END t a k e s y o u o u t o f e d i t i n g mode a n d i t a l s o c a u s e s LOGO t o n o t e t h a t y o u h a v e f i n i s h e d w i t h t h e d e f i n i t i o n o f t h e p r o c e d u r e , a n d i t w i l l r e s p o n d w i t h t h e s t a t e m e n t : GREET D E F I N E D . The b o d y o f a p r o c e d u r e i s s t o r e d i n t h e o r d e r o f i t s l i n e n u m b e r s . T h e r e f o r e y o u s h o u l d s t a r t o f f a t t h e n u m b e r 10 a n d i n c r e a s e b y 1 0 . T h e n , i f t h e r e a r e a n y i n s e r t i o n s , y o u h a v e room f o r t h e m . Once t h e p r o c e d u r e i s d e f i n e d i t i s s t o r e d i n LOGO'S memory u n t i l y o u s a y ' B Y E ' . I f y o u w i s h t o be a b l e t o r u n one o f y o u r p r o c e d u r e s a t a n o t h e r s e s s i o n a n d do n o t w a n t t o h a v e t o d e f i n e i t a g a i n y o u c a n command LOGO t o ' S A V E ' t h e p r o c e d u r e . The command SAVE n e e d s o n l y one i n p u t . T h i s i n p u t s h o u l d be t h e q u o t e d name o f a p r o c e d u r e w h i c h i s t o be r e m e m b e r e d by L O G O . F o r e x a m p l e : = SAVE " G R E E T " 70 When y o u s t a r t up LOGO t h e n e x t d a y o r t h e n e x t s e s s i o n a n d y o u h a v e SAVED t h e p r o c e d u r e GREET f r o m t h e l a s t s e s s i o n a l l y o u mus t t y p e i n i s t h e f o l l o w i n g l i n e : = GET " G R E E T " T h i s l i n e w i l l r e c a l l t h e p r o c e d u r e GREET f r o m LOGO'S m e m o r y . Y o u mus t t y p e i n t h i s l i n e , w i t h t h e c o r r e c t p r o c e d u r e ' N A M E ' , f o r e v e r y p r o c e d u r e y o u s a v e d and w i s h t o work w i t h . When y o u do n o t w i s h t o h a v e t h e p r o c e d u r e GREET a r o u n d a n y more a l l y o u do i s t y p e i n t h e f o l l o w i n g command and t h e p r o c e d u r e GREET w i l l no l o n g e r e x i s t : = E R A S E " G R E E T " 71 5 . 2 R u n n i n g Y o u r Own P r o c e d u r e s To r u n a n y p r o c e d u r e y o u m u s t t y p e i n t h e name o f t h e p r o c e d u r e w i t h o u t t h e ' T O ' . LOGO a s s u m e s t h a t names w i t h o u t TO a r e p r o c e d u r e s t o be e x e c u t e d . R u n n i n g a p r o c e d u r e i s l i k e t e l l i n g someone t o c a r r y o u t t h e i n s t r u c t i o n s t h a t y o u h a v e g i v e n h i m e a r l i e r . To r u n t h e p r o c e d u r e GREET y o u j u s t t y p e i n t h e name w i t h o u t t h e T O , a n d t h e p r o c e d u r e w i l l f o l l o w t h e i n s t r u c t i o n s t h a t y o u t o l d i t t o d o . F o r e x a m p l e : = GREET HELLO WHAT I S YOUR NAME? The p r o c e d u r e G R E E T * s j o b i s t o e x e c u t e t h e t w o l i n e s i n t h e r i g h t o r d e r . E a c h one o f t h e l i n e s c o n t a i n t h e name o f o n e o f LOGO*s commands . I n t h e c a s e i t i s t h e command P R I N T , a n d a s y o u c a n s e e t w o s e n t e n c e s a r e p r i n t e d o u t o n t h e s c r e e n . 72 5 - 3 P r o c e d u r e s w i t h I n p u t s A f t e r y o u h a v e t r i e d r u n n i n g t h e e x a m p l e s s h o w n a b o v e a f ew t i m e s y o u a r e p r o b a b l y r e a d y f o r a new p r o c e d u r e . A p r o c e d u r e w i t h a n i n p u t i s o n e w h i c h e x p e c t s t o r e c e i v e i n f o r m a t i o n f r o m y o u , t h e u s e r . Bemember t h e p r o c e d u r e G B E E T ? W e l l , l e t u s c r e a t e a new p r o c e d u r e w i t h i t s a i d * = TO GBEET 3 10 P B I N T " H E L L O " ( P B I N T S OOT THE WOED • H E L L O * ) 3} 20 P B I N T "WHAT I S YOOB N A M E ? " ( P B I N T S SENTENCE) S END (END OF THE PBOCEDDEE) G B E A T D E F I N E D . ( T H I S I S PRINTED BY LOGO) = TO R E S P O N S E : P E E S O N : J 10 P B I N T " H E L L O " ( P B I N T S OUT THE WORD • H E L L O * ) 3 20 P R I N T "MY NAME I S " ( P B I N T S SENTENCE) 3 25 P B I N T : P E B S O N : ( P B I N T S THE NAME GIVEN) 3 END (END OF THE PROCEDUBE) B E S P O N S E D E F I N E D . (THIS I S PBINTED BY LOGO) Do y o u s e e t h e d i f f e r e n c e b e t w e e n t h e s e t w o p r o c e d u r e s ? T h e r e t i t l e s a r e d i f f e r e n t . I n t h e p r o c e d u r e BESPONSE t h e w o r d p e r s o n s u r r o u n d e d by c o l o n s a s b e e n a d d e d t o t h e ' t i t l e l i n e * . N o t e t h a t t h e w o r d PEBSON comes a f t e r t h e t i t l e o f t h e p r o c e d u r e . B y e n c l o s i n g PERSON i n c o l o n s y o u a r e t e l l i n g LOGO t h a t PERSON i s a v a r i a b l e . A v a r i a b l e i s s i m p l y a h o l d i n g p l a c e f o r a w o r d o r number y o u w i s h t o u s e a t a l a t e r t i m e . I n o t h e r w o r d s a v a r i a b l e i s s i m p l y t h e name o f t h e m a i l b o x i n w h i c h v a l u e s c a n be s t o r e d . F o r e x a m p l e : = RESPONSE " K I M B E E L Y " HELLO MY NAME I S K I M B E E L Y 73 The w o r d 1 K I M B E R L Y * i s p u t i n t h e m a i l b o x named P E R S O N . So u n t i l y o u c h a n g e P E R S O N , ' K I M B E R L Y " w i l l r e m a i n i n t h e m a i l b o x . Y o u may d e f i n e a p r o c e d u r e w i t h a s many i n p u t s a s y o u w a n t by a d d i n g a f t e r PERSON a n o t h e r c o l o n w i t h a n o t h e r v a r i a b l e . F o r e x a m p l e : = TO E X A M P L E : P E R S O N : : A G E : : S E X : : W E I G H T : The LOGO o p e r a t i o n REQUEST w a i t s f o r t h e u s e r t o t y p e i n a l i s t a n d t h e n o u t p u t s t h a t l i s t . = TO AGREE 5> 5 P R I N T " T Y P E SOMETHING YOU L I K E " a) 10 P R I N T SENTENCE " I " S " L I K E " S REQUEST " T O O " a END AGREE D E F I N E D . = AGREE T Y P E SOMETHING YOU L I K E C A K E AND I C E CREAM I L I K E C A K E AND I C E CREAM TOO REQUEST a l w a y s o u t p u t s a l i s t , e v e n i f i t i s a l i s t c o n t a i n i n g o n e ( o r no) w o r d s . 74 6 . R e c u r s i o n A p r o c e d u r e c a n c a l l i t s e l f . T h i s i s c a l l e d a r e c u r s i o n . I t c a n be a l o t o f f u n t o u s e , b u t i t a l s o c a n c a u s e LOGO t o r u n w i l d w h i c h may be q u i t e e x p e n s i v e . F o r e x a m p l e : = TO LAUGH ( t o i s a command a n d l a u g h i s t h e p r o c e d u r e name) a 10 P R I N T "HA H A " ( p r i n t s ha ha) 3 20 LAUGH ( c a l l s i t s e l f ) a END ( p r o c e d u r e s t o p s ) LAUGH D E F I N E D , ( t h i s i s p r i n t e d by LOGO) What y o u w i l l s e e on p a p e r i s t h e f o l l o w i n g : = LAUGH ( name o f t h e p r o c e d u r e ) HA HA HA HA HA HA E T C . T h e r e i s n o way t o s t o p t h i s p r o c e d u r e e x c e p t t o h i t t h e I N T E R R U P T b u t t o n . When t h e p r o c e d u r e LAUGH r e a c h e s l i n e 20 i t c a l l s f o r t h e e x e c u t i o n o f t h e s u b - p r o c e d u r e L A U G H , a n d i t w i l l t h e n s t a r t a new p r o c e d u r e c a l l e d LAUGH w h i c h w i l l a l s o p r i n t HA H A ' s . The r e s u l t i s a b i g l o o p , and page a f t e r page o f HA H A ' s . T h e e x a m p l e t h a t f o l l o w s s h o w s a s t e p by s t e p t r a c e t h r o u g h t h e p r o c e d u r e L A U G H . 75 S n a p s h o t 1 ,AUGH_ "HA HA" LAUGH c a l l s PRINT HA HA 20 -J S n a p s h o t 2 76 HA HA HA HA HA HA Snapshot 7 77 So p l e a s e r e m e m b e r , a l t h o u g h a r e c u r s i v e p r o c e d u r e may be f u n t o t r y , i t may a l s o be v e r y e x p e n s i v e . Make s u r e y o u a r e a b l e t o s t o p t h e p r o c e d u r e o n c e i t h a s s t a r t e d t o r u n . Now, t o t r y a r e c u r s i v e p r o c e d u r e t h a t w i l l s top , ; To do t h i s y o u m u s t p u t a l i m i t on how many HA H A ' s w i l l come o u t . T h e r e f o r e y o u mus t h a v e a p r o c e d u r e w i t h a n i n p u t . F o r e x a m p l e : = TO LAUGH : N : 3 10 T E S T I S : N : 0 3 20 I F T R U E STOP a 30 I F F A L S E P R I N T "HA H A " a 40 I F F A L S E LAUGH D I F F E R E N C E : N : 1 a END LAUGH D E F I N E D . Now, l e t u s r u n t h i s new p r o c e d u r e ' L A U G H * . = LAUGH 4 HA HA HA HA HA HA HA HA W i t h t h i s new p r o c e d u r e LAUGH y o u h a v e r e c u r s i o n and a l s o t h e a b i l i t y t o s t o p i t . Remember t h e a b i l i t y t o s t o p t h e p r o c e d u r e c o m e s when t h e c o m p u t e r mus t make a d e c i s i o n . A c o m p u t e r c a n c h e c k t o s e e i f a number i s z e r o * o r w h e t h e r a w o r d i s ' s t o p * , • g o * , o r e q u a l t o a n o t h e r w o r d * T h e d e c i s i o n t o t e s t t h e s e a n d o t h e r c o n d i t i o n s y i e l d s a n o u t p u t o f e i t h e r T r u e o r F a l s e . 78 I n t h e p r o c e d u r e LAUGH y o u a r e a s k i n g i f : N : i s e q u a l t o 0 . I f N d o e s e q u a l 0 , y o u t a k e t h e I F T R U E b r a n c h a n d s t o p . B u t i f N d o e s n o t e q u a l 0 , y o u t a k e t h e I F F A L S E b r a n c h a n d p r i n t o u t • H A H A * . T h e n y o u s u b t r a c t 1 f r o m N and do t h e t e s t a g a i n . N r e p r e s e n t s t h e number o f t i m e s y o u a s k t h e p r o c e d u r e t o l o o p t h r o u g h t h e t e s t . The e x a m p l e t h a t f o l l o w s s h o w s a s t e p b y s t e p t r a c e t h r o u g h t h e p r o c e d u r e LAUGH 4 . 79 ,A0GH4\ ' 10 ' 20 30 40 / 5 S n a p s h o t 1 S n a p s h o t 2 4 <> 0 "HA H A " HA HA LAOGH4 c a l l s P R I N T S n a p s h o t 3 4 - 1 = 3 LA0GH4 c a l l s LAUGH3 S n a p s h o t 4 80 3 <> 0 HA HA HA HA LA0GH3 c a l l s P R I N T Snapshot 7 Snapshot 8 81 Snapshot 12 82 Snapshot 13 Snapshot 16 83 S n a p s h o t 17 0 = 0 S n a p s h o t 18 STOP S n a p s h o t 19 84 The o n l y t i m e y o u use q u o t e s i n a n i n p u t p r o c e d u r e i s when t h e i n p u t i s a w o r d . L o o k b a c k t o t h e p r o c e d u r e R E S P O N S E - p a g e 6 8 . As y o u s e e , t h e w o r d ' K I M B E R L Y * , i s a n i n p u t , a n d i t i s e n c l o s e d i n q u o t e s ; t h e n u m b e r 4 , i s a l s o a n i n p u t , a n d i t i s n o t e n c l o s e d i n q u o t e s . Why d o n ' t y o u t r y t h e p r o c e d u r e R E S P O N S E w i t h o u t q u o t e s a r o u n d t h e i n p u t w o r d a n d s e e w h a t h a p p e n s . Do t h e same t h i n g w i t h t h e p r o c e d u r e L A U G H . The command OUTPUT c a n o n l y be u s e d i n a p r o c e d u r e ; i t r e t u r n s c o n t r o l t o t h e c a l l i n g p r o c e d u r e , and o u t p u t s i t s a r g u m e n t s . By u s i n g OUTPUT t h e u s e r c a n d e f i n e p r o c e d u r e s w h i c h a r e o p e r a t i o n s . See t h e g l o s s a r y f o r e x a m p l e o f u s i n g O U T P U T . 85 7• J^iiisa 5 P r o c e d u r e O n c e y o u h a v e d e f i n e d a p r o c e d u r e , y o u may w a n t t o c h a n g e s o m e t h i n g w i t h i n i t . To do t h i s y o u n e e d t o c a l l t h e command E D I T . F o r e x a m p l e : = TO LAUGH : N : S 10 T E S T I S : N : 0 (SEES I F THE V A L U E OF N = 0) S 20 I F F U E E STOP ( I F T E U E THEN STOP) a 30 I F F A L S E P E I N T "HA H A " ( I F F A L S E P E I N T HA HA) a 40 I F F A L S E LAUGH D I F F E E E N C E : N : 1 (ALSO I F F A L S E 1 WILL BE SUBTEACTED FEOM THE V A L U E N) a END (THIS WILL END THE PEOCEDUEE) LAUGH D E F I N E D . I f y o u h a d r u n LAUGH w i t h t h e m i s t a k e on l i n e 2 0 , LOGO w o u l d r e t u r n a n e r r o r message t o t h e s c r e e n a s f o l l o w s : I DO NOT KNOW HOW TO I F F U E E . LOGO WAS E X E C U T I N G L I N E 20 OF L A U G H . F r o m t h i s e r r o r message y o u a r e t o l d o f t h e m i s s p e l l e d w o r d on l i n e 2 0 . To be a b l e t o c o r r e c t t h e m i s s p e l l e d w o r d y o u m u s t f i r s t t y p e i n t h e command E D I T . E D I T by i t s e l f w i l l n o t h e l p y o u , so w h a t y o u n e e d i s t h e w o r d E D I T f o l l o w e d b y t h e name o f t h e p r o c e d u r e y o u w i s h t o w o r k o n . F o r e x a m p l e : = EDIT LAUGH (EDIT I S A COMMAND TO LOGO AND LAUGH I S THE PEOCEDUEE YOU WISH TO WOEK ON) Y o u m u s t be a b l e t o see wha t i s i n t h e p r o c e d u r e L a u g h b e f o r e y o u c a n make a n y c h a n g e s . T o d o t h i s t h e command SHOW i s u s e d . SHOW w i l l p r i n t o u t e v e r y t h i n g i n t h e p r o c e d u r e . F o r e x a m p l e : 86 = E D I T LAOGH 3 SHOW TO LAOGH : N : 10 TEST I S : N : 0 20 I F F U R E STOP 30 I F F A L S E P R I N T ^ H A H A ^ 40 I F F A L S E LAUGH D I F F E R E N C E : N : J END Now, w i t h t h e p r o c e d u r e b e f o r e y o u , y o u c a n c o r r e c t t h e s p e l l i n g e r r o r . Y o u c o r r e c t i t s i m p l y by r e t y p i n g l i n e 20. LOGO w i l l n o t l e t a p r o c e d u r e b e r u n i f t h e r e a r e t w o l i n e s w i t h t h e same n u m b e r , so t h e mos t r e c e n t l i n e i s s a v e d a n d t h e o l d l i n e i s f o r g o t t e n . S o t o c o r r e c t t h e p r o c e d u r e LAUGH, y o u t y p e i n t h e f o l l o w i n g l i n e : a 20 IFTRUE STOP The o l d l i n e 20 w i t h t h e m i s s p e l l e d w o r d i s f o r g o t t e n a n d t h e new l i n e 20 w i t h t h e c o r r e c t s p e l l i n g i s r e m e m b e r e d . = EDIT LAUGH 3 SHOW TO LAUGH : N : 10 TEST I S : N : 0 20 I F T R U E STOP 30 I F F A L S E P R I N T " H A H A " 40 I F F A L S E LAUGH D I F F E R E N C E : N : 1 END END t a k e s y o u o u t o f e d i t i n g mode w h i l e . S T O P t e r m i n a t e s e x e c u t i o n o f t h e p r o c e d u r e a n d r e t u r n s c o n t r o l t o t h e c a l l i n g p r o c e d u r e . S o m e t i m e s i t i s n e c e s s a r y t o d e l e t e l i n e s f r o m a p r o c e d u r e . To do t h i s y o u w o u l d a g a i n E D I T t h e p r o c e d u r e a n d c a l l t h e 87 command SHOW. N o w , t o d e l e t e a l i n e y o u t y p e i n t h e number o f t h e l i n e a n d e n t e r i t w i t h n o t h i n g e l s e on t h e l i n e b u t t h e n u m b e r . F o r e x a m p l e : 5) 40 T h i s w i l l d e l e t e l i n e 40 f r o m t h e p r o c e d u r e c u r r e n t l y b e i n g e d i t e d . I f y o u a r e make a t y p i n g m i s t a k e w h i l e d e f i n i n g a p r o c e d u r e a n d i t i s b e f o r e y o u h a v e e n t e r e d t h a t l i n e o f c o d e , y o u c a n c o r r e c t t h e m i s t a k e by p r e s s i n g down t h e CTRL k e y a t t h e same t i m e h o l d i n g down t h e H k e y . P r e s s t h e H k e y a s u f f i c i e n t number o f t i m e s t o b r i n g t h e c u r s o r u n d e r t h e l a s t g o o d c h a r a c t e r . T h e n y o u c o n t i n u e t o t y p e a s i f n o t h i n g h a d h a p p e n e d . F o r e x a m p l e : 5) 20 I F F O R E STOP FTROE STOP T h i s m e t h o d i s u s e d on t h e s i l e n t 7 0 0 t e r m i n a l . On t h e 3 2 7 0 t e r m i n a l t h e r e i s a l e f t a r r o w w h i c h y o u u s e t o do b a c k s t e p s . And on t h e VOCOM t h e r e i s a l s o a l e f t a r r o w . 88 8 . P r o c e d u r e s f o r Y o u r U s e I f y o u w i s h t o r u n some p r o c e d u r e s i n e i t h e r a r i t h m e t i c o r s p e l l i n g , y o u mus t t y p e i n t h e f o l l o w i n g s t a t e m e n t : = GET " ? ? ? ? ? " The • ? ? ? ? ? * S h o u l d be r e p l a c e d w i t h t h e name o f t h e p r o c e d u r e y o u w i s h t o r u n . F o r e x a m p l e : = GET " F A R M " • F A R M ' i s t h e name o f one o f t h e p r o c e d u r e s t h a t d e a l s w i t h s p e l l i n g The f o l l o w i n g p r o c e d u r e s a r e a v a i l a b l e t o y o u o n r e q u e s t : MATHL — D e a l s w i t h l e s s - t h a n p r o b l e m s MATHG — D e a l s w i t h g r e a t e r - t h a n p r o b l e m s MATHE — D e a l s w i t h e q u a l p r o b l e m s MATHS — D e a l s w i t h a d d i t i o n p r o b l e m s MATHD — D e a l s w i t h s u b t r a c t i o n p r o b l e m s MATHP — D e a l s w i t h m u l t i p l i c a t i o n p r o b l e m s MAXMIN — D e a l s w i t h maximum a n d min imum p r o b l e m s FARM — A s p e l l i n g r o u t i n e . Y o u a r e a s k e d t o s p e l l a k i n d o f a n i m a l a n i m a l a n d t h e n s p e l l t h e n o i s e t h e a n i m a l m a k e s . S P E L L — A s p e l l i n g r o u t i n e . Y o u a r e g i v e n a n o i s e a n d y o u mus t s p e l l t h e k i n d o f a n i m a l t h a t makes t h a t n o i s e , T R U S T , BUMP AND DREAM — S p e l l i n g r o u t i n e s . You s i m p l y r e s p o n d t o some q u e s t i o n s t h a t a r e a s k e d a n d t h e a n s w e r s y o u g i v e w i l l f i n d t h e i r way i n t o a s t o r y . 89 L E A R N — A l e a r n i n g r o u t i n e . I t s i m p l y s h o w s y o u how t o c r e a t e a s t o r y o f y o u r o w n . To t e r m i n a t e t h e s p e l l i n g r o u t i n e s o r t h e a r i t h m e t i c r o u t i n e s y o u mus t t y p e i n t h e w o r d •STOP * a n d y o u w i l l f i n d y o u r s e l f b a c k w i t h LOGO w a i t i n g f o r y o u r n e x t command. P l e a s e r emember t h a t i f y o u w i s h t o r u n t h e ma th r o u t i n e s y o u must t y p e i n some a d d i t i o n a l i n f o r m a t i o n . I f y o u w i s h t o r u n t h e p r o c e d u r e MATHL y o u mus t t y p e i n t h e f o l l o w i n g b e f o r e y o u c a n r u n M A T H L : = GET " M A T H L " = GET " M A T H G " The same g o e s f o r t h e o t h e r ma th r o u t i n e s . MATHG mus t be a c c o m p a n i e d by M A T H S , MATHS m u s t be a c c o m p a n i e d b y MATHD, MATHD mus t b e a c c o m p a n i e d by MATHP, MATHP mus t be a c c o m p a n i e d b y MAXMIN a n d MAXMIN c a n be b y i t s e l f . A l l a r e t y p e d as s h o w n a b o v e . P l e a s e a l s o r e m e m b e r t h a t t h e math r o u t i n e s o n l y t a k e i n t e g e r s ( w h o l e n u m b e r s ) . 0 1 2 3 4 . . . 90 9. E x a m p l e o f w r i t i n g a p r o g r a m The f o l l o w i n g i s a p r o g r a m w h i c h t e s t s o n e ' s u n d e r s t a n d i n g o f a r i t h m e t i c m u l t i p l i c a t i o n * T h i s p r o g r a m d e m o n s t r a t e s t h e u s e o f mos t o f t h e b a s i c w o r d s t h a t y o u w i l l n e e d when y o u w r i t e p r o g r a m s o f y o u r o w n . A n o t h e r way o f w r i t i n g s e n t e n c e s i s w i t h t h e l e t t e r ' S ' . O s i n g ' S ' y o u c a n f i t e v e r y t h i n g on one l i n e . I f y o u s p e l l o u t t h e w o r d * S e n t e n c e ' t h e r e w i l l n o t be e n o u g h room f o r t h e r e s t o f t h e s t a t e m e n t i f t h e s t a t e m e n t i s a l o n g one* = TO M U L T I a 5 P R I N T » ' • * * * * * * * * " 3 10 P R I N T S "WHAT I S " S RANDOM S " * " S RANDOM " ? " 3 15 MAKE " A " REQUEST (ASKS YOU FOR A NUMBER AND PUTS I T INTO THE MAILBOX C A L L E D ' A ' ) 3 20 T E S T I S F : A : 0 (TEST TO SEE I F THE F I R S T ELEMENT I N THE M A I L B O X ' A ' = 0 ) 3 25 I F T R U E GO 100 ( I F I T I S TRUE GO TO L I N E 100) 3 30 I F F A L S E GO 5 ( I F F A L S E YOU GO TO L I N E 5) 3100 P R I N T • • * * • * * * * * * " 3102 P R I N T " END OF E X E R C I S E — B Y E — " 3 END (END OF THE PROCEDURE) MULTI D E F I N E D . Now t o s e e wha t i t w i l l l o o k l i k e when y o u r u n M u l t i . = MULTI * * * * * * * * * * WHAT I S 7 * 9? 63 * * * # * * * * * * * WHAT I S 6 * 7? 42 # * * * * * * * * * WHAT I S 5 * 6? 30 * * * * * * * * * * WHAT I S 9 * 1? 0 * * * * * * * * * * * END OF E X E R C I S E — BYE — 91 Now y o u w i l l see a m o d i f i c a t i o n o f M u l t i . = TO M U L T I 5) 5 P B I N T • • * * * * * * * * • • § 10 P B I N T " P L E A S E T Y P E I N TWO NUMBERS" 3 15 MAKE " X " REQUEST MAKE " Y " REQUEST (ASKS FOR TWO NUMBERS) S 20 P R I N T S "WHAT I S " S : X : S " * " S : Y : " ? " S 25 MAKE " A " REQUEST ( T Y P E I N THE ANSWER) 3 30 P R I N T "NOW L E T US SEE I F YOU ARE C O R R E C T . " a 35 P R I N T S : X : S " * " S : Y : " = " 3 40 P R I N T PRODUCT F : X : F : Y : ( P R I N T S THE PRODUCT OF THE F I R S T ELEMENT I N EACH OF THE M A I L B O X E S X AND Y) 3 45 T E S T I S F : A : PRODUCT F : X : F : Y : ( S E E S I F ' A ' I S THE ANSWER) a 46 I F T R U E P R I N T " G R E A T YOUR ANSWER WAS C O R R E C T " GO 50 (JUMP TO L I N E 50) 3 47 I F F A L S E P R I N T " L E T US TRY A G A I N . 3 48 I F F A L S E P R I N T " G I V E ME THE SAME NUMBERS AS B E F O R E . " GO. 50 3 50 T E S T I S F : X : 0 ( I F X=0 THEN YOU W I L L QUITE) 3 51 I F T R U E GO 100 3 52 I F F A L S E GO 5 (GOES BACK TO 5) 3 100 PRINT • • * * * * * « 3 10 1 P R I N T "END OF E X E R C I S E — B Y E — " 3 END (END OF THE PROCEDURE) MULTI D E F I N E D * 9 2 Now t o s e e what i t w i l l l o o k when y o u r u n M u l t i . = MULTI JJS 3JC 3JC S{c 3Qc P L E A S E T Y P E I N TWO NUMBERS 4 5 WHAT I S 4 * 5 ? 20 4 * 5 = 20 WELL L E T US SEE I F YOU ARE CORRECT 20 GREAT YOUR ANSWER WAS CORRECT * * * * * * * 0 0 WHAT I S 0 * 0 ? 0 0 * 0 = 0 WELL L E T US SEE I F YOU ARE CORRECT 0 GREAT YOUR ANSWER WAS CORRECT * * * * * * END OF E X E R C I S E - - B Y E 93 1 0 . LOGO F u n c t i o n s The i n t e n t o f t h i s s e c t i o n i s t o show t h e u s e r t h e v a r i o u s f u n c t i o n s a n d a v a g u e i d e a o f w h a t t h e y do [ M A N I S , 1 9 7 3 ] . 1 0 . 1 A r i t h m e t i c SUM, D I F F E R E N C E a n d PRODUCT do t h e f a m i l i a r o p e r a t i o n s o f a d d i t i o n , s u b t r a c t i o n , a n d m u l t i p l i c a t i o n . D I V I S I O N o u t p u t s a s e n t e n c e o f t h e q u o t i e n t a n d r e m a i n d e r f r o m a d i v i s i o n ; QUOTIENT and REMINDER c a n be u s e d t o c o m p u t e j u s t one o r t h e o t h e r r e s u l t . RANDOM o u t p u t s a r a n d o m d i g i t . MAXIMUM and MINIMUM s e l e c t t h e maximum o r min imum o f t w o n u m b e r s . 1 0 . 2 Commands TO a l l o w s y o u t o d e f i n e a new f u n c t i o n . E D I T a l l o w s y o u t o c h a n g e t h e d e f i n i t i o n o f an e x i s t i n g f u n c t i o n . END s i g n a l s t h a t y o u h a v e f i n i s h e d d e f i n i n g o r c h a n g i n g a f u n c t i o n . ERASE e x p u n g e s t h e d e f i n i t i o n o f a f u n c t i o n . E R A S E L I N E a l l o w s y o u t o d e l e t e a p a r t i c u l a r l i n e o f a f u n c t i o n . SHOW d i s p l a y s t h e d e f i n i t i o n o f a f u n c t i o n . SHOWLINE d i s p l a y s a p a r t i c u l a r l i n e o f a f u n c t i o n . T I T L E c h a n g e s t h e t i t l e l i n e o f a f u n c t i o n . OUTPUT c a u s e s t h e c u r r e n t l y e x e c u t i n g f u n c t i o n t o r e t u r n o u t p u t ' s i n p u t a s i t s v a l u e . GOTOLINE t r a n s f e r s c o n t r o l w i t h i n t h e c u r r e n t l y e x e c u t i n g f u n c t i o n ; STOP t e r m i n a t e s e x e c u t i o n o f t h e c u r r e n t l y e x e c u t i n g f u n c t i o n . 1 0 . 3 C o n d i t i o n a l s TEST s e t s t h e t r u t h f l a g f r o m i t s i n p u t . I F T R U E e x e c u t e s a s t a t e m e n t o n l y i f t h e t r u t h f l a g i s t r u e . I F F A L S E e x e c u t e s a s t a t e m e n t o n l y i f t h e t r u t h f l a g i s f a l s e . 94 1 0 . 4 I n p u t - O u t p u t REQUEST r e a d s i n t h e a l i n e o f d a t a , a n d o u t p u t s a l i s t r e p r e s e n t i n g t h a t l i n e . TYPE p r i n t s i t s i n p u t o n t o t h e u s e r ' s c o n s o l e . T Y P E I N t a k e s a n i n p u t ; i t i s e q u i v a l e n t t o " M A K E i n p u t R E Q U E S T " . P R I N T b e h a v e s a s TYPE d o e s , b u t f o l l o w s t h e p r i n t i n g by t y p i n g a c a r r i a g e r e t u r n . 10.5 S y s t e m C o n t r o l F u n c t i o n s GOODBYE g e t s y o u o u t o f LOGO a n d b a c k t o M T S . GET a l l o w s y o u t o a d d m a t e r i a l f r o m a f i l e t o t h e p r o g r a m s a n d v a r i a b l e s w i t h w h i c h y o u a r e c u r r e n t l y w o r k i n g . SAVE s t o r e s y o u r c u r r e n t w o r k s p a c e i n a f i l e . TRACE c a u s e s a s p e c i f i e d f u n c t i o n t o be m o n i t o r e d f o r d e b u g g i n g p u r p o s e s . UNTRACE t u r n s o f f d e b u g m o n i t o r i n g f o r a f u n c t i o n . LOGOUT b e f o r e y o u g e t o u t o f L O G O , y o u w i l l be a s k e d i f y o u w i s h a c o p y o f y o u r w o r k , a n d i n a d d i t i o n , t h i s command w i l l h a n g up t h e t e l e p h o n e l i n e t o t h e c o m p u t e r . 1 0 . 6 V a r i a b l e s MAKE c h a n g e s t h e v a l u e o f a s p e c i f i e d v a r i a b l e . 1 0 . 7 P r e d i c a t e s I S i s TRUE when i t s t w o i n p u t s a r e e g u a l . WORDP i s TRUE when i t s i n p u t i s a w o r d . SENTENCEP i s TRUE when i t s i n p u t i s a s e n t e n c e o r l i s t . BOTH i s TRUE when b o t h o f i t s i n p u t s a r e . E ITHER i s TRUE when e i t h e r o f i t s i n p u t s i s * NOT i s TRUE when i t s i n p u t i s f a l s e . NUMBERP i s TRUE when i t s i n p u t i s a n u m e r i c w o r d . GREATERP i s TRUE when i t s f i r s t i n p u t i s n u m e r i c a l l y g r e a t e r t h a n i t s s e c o n d . L E S S P i s TRUE when i t s f i r s t i n p u t i s n u m e r i c a l l y l e s s t h a n i t s s e c o n d . EQUALP i s TRUE when i t s i n p u t s a r e n u m e r i c a l l y e q u a l . ZEROP i s TRUE when i t s i n p u t i s n u m e r i c a l l y e q u a l t o 0* 10.8 T e x t P r o c e s s i n g F I R S T , B U T F I R S T , B U T L A S T and L A S T a l l o w y o u t o t a k e a p a r t w o r d s , s e n t e n c e s o r l i s t s . WORD, S E N T E N C E , a n d L I S T a l l o w y o u t o c r e a t e new t h i n g s . 95 11. G l o s s a r y O f LOGO F u n c t i o n s T h i s s e c t i o n d e s c r i b e s t h e s e t o f LOGO f u n c t i o n s c u r r e n t l y a v a i l a b l e . The f u n c t i o n s a r e l i s t e d i n a l p h a b e t i c a l o r d e r . I f f o l l o w e d b y a s e c o n d v e r s i o n , t h i s i s t h e a b b r e v i a t i o n w h i c h may be u s e d i f y o u do n o t wan t t o s p e l l o u t t h e e n t i r e w o r d . Some LOGO w o r d s o u t p u t v a l u e s t o o t h e r LOGO w o r d s . We c a l l t h e s e w o r d s O p e r a t i o n s . LOGO w o r d s w h i c h do n o t o u t p u t a r e c a l l e d Commands . T h e s e w o r d s command t h i n g s t o b e done now. W o r d s w h i c h s w i t c h t o a n o t h e r mode o r d e v i c e a r e c a l l e d S w i t c h e s . W o r d s w h i c h c o n t r o l t h e f l o w o f a p r o c e d u r e ( e g . S t o p p i n g * G o i n g t o a new l i n e ) a r e c a l l e d F l o w w o r d s [ G O L D E N B E R G , 1975J. BOTH ( o p e r a t i o n ) O u t p u t s t h e l o g i c a l o f b o t h i t s i n p u t s w h i c h m u s t be e i t h e r TRUE o r F A L S E . ( i e . TRUE i f a n d o n l y i f b o t h o f i t s i n p u t s a r e T R U E ) . = MAKE " R " " T R U E " MAKE " S " " T R U E " = MAKE " T " " F A L S E " = P R I N T BOTH : R : : S : TRUE = P R I N T BOTH : R : : T : F A L S E B U T F I R S T BF ( o p e r a t i o n ) B u t f i r s t o u t p u t s t h e l i s t t h a t c o n t a i n s a l l b u t t h e f i r s t e l e m e n t o f t h e l i s t . = MAKE " A " " H E L L O " = P R I N T B U T F I R S T : A : E L L O = P R I N T : A : H E L L O 96 B U T L A S T BL ( o p e r a t i o n ) B u t l a s t o u t p u t s t h e l i s t t h a t c o n t a i n s a l l b u t t h e l a s t e l e m e n t o f t h e l i s t . = P B I N T : A : H E L L O = P B I N T B U T L A S T : A : H E L L D I F F E R E N C E D I F F ( o p e r a t i o n ) G i v e n t w o n u m e r i c w o r d s , t h e r e D I F F E R E N C E i s o u t p u t e d . = MAKE " C " 6 MAKE " D " 5 = P R I N T D I F F E R E N C E : D : : C : _\ D I V I S I O N ( o p e r a t i o n ) C u r r e n t l y n o t w o r k i n g . E D I T ( s w i t c h ) E d i t i s a command f o l l o w e d b y a p r o c e d u r e name . T h i s command l e t s y o u add o r d e l e t e a l i n e i n s i d e t h e p r o c e d u r e . To s w i t c h o f f e d i t i n g mode t y p e E N D . = TO LAUGH 3 5 P R I N T "HA H A " 3 10 P R I N T " B Y " 3 END LAUGH D E F I N E D . = E D I T LAUGH 3 10 a SHOW TO LAUGH 5 P R I N T ^ H A H A ^ END 3 END LAUGH D E F I N E D . E I T H E R ( o p e r a t i o n ) O u t p u t s TRUE i f e i t h e r o f t h e i n p u t s a r e T R U E , F A L S E i f b o t h a r e F A L S E . = MAKE " S " " F A L S E " MAKE " T " " F A L S E " = MAKE " R " " T R U E " = P R I N T E I T H E R : R : : S : TRUE = P R I N T E I T H E R : S : : T : F A L S E ( o p e r a t i o n ) O u t p u t s TRUE i f t h e a r g u m e n t i s t h e e m p t y w o r d o r t h e emp ty l i s t , F A L S E o t h e r w i s e . C u r r e n t l y n o t w o r k i n g * ( s w i t c h ) T e l l s LOGO y o u a r e f i n i s h e d e d i t i n g o r d e f i n i n g a p r o c e d u r e . S w i t c h e s o f f e d i t i n g mode . = TO F00 3 5 P R I N T " H I T H E R E * " 3 END FOO D E F I N E D . = E D I T FOO 9 - 1 0 P R I N T " T H I S I S A T E S T . " 3 END FOO D E F I N E D , ( o p e r a t i o n ) O u t p u t s TRUE i f i t s i n p u t s a r e n u m e r i c a l l y e q u a l , a n d F A L S E i f t h e y a r e n o t . = MAKE " A " 6 MAKE " B " 5 MAKE " C " 6 = P R I N T EQOALP : A : : B : F A L S E = P R I N T EQOALP : A : : C : TRDE (command) E r a s e s t h e p r o c e d u r e f r o m t h e w o r k s p a c A p r o c e d u r e may n o t be e r a s e d w h i l e i t i s b e i n g e d i t e d o r d e f i n e d . = SHOW FOO TO FOO 5 P R I N T ^ H I T H E R E * " 10 P R I N T " T H I S I S A T E S T . " END = E R A S E " F O O " 5 SHOW FOO FOO I S NOT A PROCEDURE, ( e d i t i n g command) Removes t h a t l i n e f r o m t h e p r o c e d u r e y o u a r e i n . C u r r e n t l y n o t w o r k i n g . 98 ( o p e r a t i o n ) I f t h e i n p u t i s a l i s t , F i r s t o u t p u t s t h e f i r s t e l e m e n t o f t h e l i s t , w h i c h may be a w o r d o r a l i s t i t s e l f . I f t h e i s a w o r d o r a n u m b e r , F i r s t o u t p u t s t h e f i r s t c h a r a c t e r o f t h e w o r d . = MAKE " A " " H I T H E R E " = MAKE " B " " H I T H E R E " = P R I N T F I R S T : A : H I = P R I N T F I R S T : B : H = MAKE " C " 766 888 MAKE " D " " 7 6 6 8 8 8 " = P R I N T F I R S T : C : 7 = P R I N T F I R S T : D : 766 = P R I N T : D : 766 888 (command) G e t f o l l o w e d by a p r o c e d u r e name. T h i s p r o c e d u r e h a s b e e n s a v e d and p u t i n t o a s t o r a g e f i l e . C a l l i n g t h i s p r o c e d u r e e n a b l e s y o u t o t a k e t h e p r o c e d u r e f r o m t h e f i l e a n d w o r k on i t . = GET " F 0 0 " F I L E F00 SAVED ON YEAR MONTH DAY (command) P r i n t s o u t a s w e e t m e s s a g e f r o m LOGO a n d r e t u r n s y o u t o t h e o p e r a t i n g s y s t e m . = GOODBYE WOULD YOU L I K E A HARD COPY OF T H I S S E S S I O N ? # ( o p e r a t i o n ) O u t p u t s TRUE i f t h e f i r s t a r g u m e n t i s n u m e r i c a l l y g r e a t e r t h a n t h e s e c o n d , a n d F A L S E i f t h e y a r e n o t . = MAKE " C " 8 MAKE " D " 9 = P R I N T G R E A T E R P : C : : D : F A L S E 99 GOTOLINE GOTO GO ( f l o w ) U s e d i n a p r o c e d u r e t o t r a n s f e r c o n t r o l t o t h a t l i n e o f t h e p r o c e d u r e . = TO BOO 3 5 P B I N T " J U S T A T E S T USING G O T O ' S . " | 10 P B I N T " T Y P E I N A NUMBEB" 3 15 MAKE " A " BEQUEST 3 20 TEST I S F I B S T : A : 0 3 21 I F T E U E P B I N T " G O O D B Y E " GO 100 3 22 I F F A L S E P B I N T " A = 0 " GO 10 3 100 P B I N T " * * * " STOP 3 END BOO D E F I N E D . = BOO J U S T A TEST USING G O T O ' S . TYPE I N A NUMBEB 9 A I S NOT ZERO T Y P E I N A NUMBEB 0 ~ ^ GOODBYE * * * ( c o n t r o l word) E x e c u t e s t h e l i n e i f t h e r e s u l t s o f t h e mos t r e c e n t l o c a l T e s t was F A L S E . 3 I F F A L S E P B I N T " A = 0 " GO 10 ( c o n t r o l word) E x e c u t e s t h e l i n e i f t h e r e s u l t s o f t h e mos t r e c e n t l o c a l T e s t was T B U E . 3 I F T R U E P R I N T " G O O D B Y E " GO 100 ( c o n t r o l word) I s r e t u r n s TRUE i f t h e t w o o b j e c t s a r e t h e same a n d F A L S E i f t h e y a r e n o t . = MAKE " A " " H I T H E R E " = MAKE " B " " H I T H E R E " = MAKE " G " " H I T H E R E " = P R I N T I S : A : : B : F A L S E = P R I N T I S : A : : G : TRUE I F F A L S E I F F I F T R U E I F T 100 ( o p e r a t i o n ) I f t h e i n p u t i s a l i s t . L a s t o u t p u t s . The l a s t e l e m e n t o f t h e l i s t , w h i c h may be a w o r d o r a l i s t i t s e l f . I f t h e i n p u t i s a w o r d o r a n u m b e r , L a s t o u t p u t s t h e l a s t c h a r a c t e r o f t h e w o r d . = MAKE " C " 789 MAKE " D " " 7 8 9 9 9 9 " = MAKE " A " " H I T H E R E " = MAKE " B " " H I T H E R E " = P R I N T L A S T : A : THERE = P R I N T L A S T : B : I = P R I N T L A S T : C : 9 = P R I N T L A S T : D : 999 ( o p e r a t i o n ) O u t p u t s TRUE i f t h e f i r s t a r g u m e n t i s n u m e r i c a l l y l e s s t h a n t h e s e c o n d . O t h e r w i s e F A L S E . = MAKE " C " 789 MAKE " D " " 7 8 9 9 9 9 " 5 P R I N T L E S S P : C : : D : 789 999 I S NOT A NUMBER. = MAKE " E " 789 = P R I N T L E S S P : C : : E : F A L S E ( o p e r a t i o n ) O u t p u t s a t w o - e l e m e n t l i s t , whose F I R S T i s t h e f i r s t i n p u t a n d whose L A S T i s t h e s e c o n d i n p u t . T h e s e i n p u t s may be w o r d s , n u m b e r s o r a l i s t o f t h i n g s . = MAKE " A " " H I " = MAKE " B " " J U S T A T E S T " = P R I N T L I S T : A : : B : H I <JUST A TEST> = P R I N T L I S T " H E L L O , " : B : H E L L O , <JUST A TEST> (command) C o n t r o l i s r e t u r n e d t o t h e o p e r a t i n g s y s t e m — by s i g n i n g y o u o f f w i t h a m e s s a g e f r o m L O G O . = LOGOUT 101 MAKE (command) A s s i g n s t h e name o f t h e f i r s t e l e m e n t t o h a v e t h e v a l u e o f t h e s e c o n d e l e m e n t . = MAKE " A " " H I T H E R E " = P R I N T : A : H I THERE = MAKE " F " : A : = P R I N T : F : H I THERE = MAKE " A " REQUEST 9 = P R I N T : A : 9 MAXIMUM MAX ( o p e r a t i o n ) O u t p u t s t h e maximum o f t h e t w o n u m e r i c a r g u m e n t s w h i c h a r e g i v e n . = MAKE " C " 789 MAKE " D " 99 = P R I N T MAXIMUM : C : : D: 789 MINIMUM MIN ( o p e r a t i o n ) O u t p u t s t h e min imum o f t h e two n u m e r i c a r g u m e n t s w h i c h a r e g i v e n . = P R I N T MINIMUM : C : : D: » 99 NOT ( o p e r a t i o n ) O u t p u t s TRUE i f i t s i n p u t i s F A L S E and F A L S E i f i t s i n p u t i s T R U E . = MAKE " A " " H I T H E R E " = MAKE " R " " T R U E " MAKE " S " " F A L S E " = P R I N T NOT : A : TRUE = P R I N T NOT : S : TRUE = P R I N T NOT : R : F A L S E NUMBERP ( o p e r a t i o n ) O u t p u t s TRUE i f i t s i n p u t i s a number a n d F A L S E i f i t i s n o t . 5 MAKE " A " " H I T H E R E " MAKE " B " 666 = P R I N T NUMBERP : A : F A L S E 5 P R I N T NUMBERP : B : TRUE ( f l o w o p e r a t i o n ) O u t p u t t e l l s t h e p r o c e d u r e t o s t o p a n d o u t p u t wha t i t h a s i n i t s h a n d . = TO F 0 0 3 5 P R I N T " H I T H E R E " a END F 0 0 D E F I N E D . = OUTPUT F 0 0 H I THERE (command) P r i n t t y p e s i t s i n p u t on t h e c o n s o l e f o l l o w e d b y a c a r r i a g e r e t u r n . = P R I N T " H I THERE" H I THERE -= P R I N T 7 8 9 9 8 7 7 8 9 9 8 7 ( o p e r a t i o n ) O u t p u t s t h e m u l t i p l i c a t i o n o f t h e t w o n u m e r i c n u m b e r s w h i c h a r e g i v e n . = MAKE » G " 8 MAKE " H " 9 = P R I N T PRODUCT : G : : H : 72 ( o p e r a t i o n ) When d i v i d i n g two n u m e r i c n u m b e r s Q u o t i e n t w i l l g i v e y o u t h e a n s w e r . = P R I N T QUOTIENT : G : : H : 0 = P R I N T QUOTIENT : H : : G : 1 ( o p e r a t i o n ) O u t p u t s a o n e - d i g i t r a n d o m i n t e g e r . Z e r o c a n be a p o s s i b l e o u t p u t . f P R I N T RANDOM 9 = P R I N T RANDOM 7 ( o p e r a t i o n ) O u t p u t s t h e r e m a i n d e r o f two n u m e r i c n u m b e r s . = P R I N T REMAINDER : G : : H : 0 = P R I N T REMAINDER : H : : G : 1 103 (operat ion) Outputs a l i s t . = MAKE "A" REQUEST 9 = P R I N T : A : 9 = PRINT : B : = MAKE "B" : A : = PRINT : B : 9 (operat ion) The procedure w i l l be saved and put i n t o a s t o r a g e f i l e * t o be used a t a l a t e r d a t e . = SAVE "FOO" (operat ion) Outputs a sentence made from the f i r s t i n p u t f o l l o w e d by the second . = PRINT SENTENCE "HI" "THERE" HI THERE = MAKE "A" "HELLO" = PRINT SENTENCE : A : "THIS IS A TEST" HELLO THIS IS A TEST (operat ion) Outputs TRUE i f i t s i n p u t i s a sentence and FALSE i f i t i s n o t . = Make "a" " t h i s i s a t e s t " = make "c" 99 = p r i n t sentencep : a : t r u e = p r i n t sentencep : c : f a l s e 104 SHOW ( s w i t c h ) P r i n t s o u t t h e d e f i n i t i o n o f t h e s p e c i f i e d p r o c e d u r e . = SHOW FOO TO FOO 5 P R I N T " H I T H E R E ^ END = E D I T FOO 3 SHOW TO FOO 5 P R I N T ^ H I T H E R E " END 3 END FOO D E F I N E D . SHOWLINE (show command) C u r r e n t l y n o t w o r k i n g . STOP ( f l o w ) S t o p c a u s e s t h e c u r r e n t l y e x e c u t i n g p r o c e d u r e t o r e t u r n . = TO NOM 3 5 MAKE " A " REQUEST 3 10 TEST I S F I R S T : A : 0 a 11 I F T R O E P R I N T " A I S Z E R O " STOP 3 12 I F F A L S E P R I N T " A = 0" GO 5 a END NOM D E F I N E D . = NOM 9 A I S NOT ZERO 0 A I S ZERO SOM ( o p e r a t i o n ) O u t p u t s t h e sum o f t w o n u m e r i c a l n u m b e r s . = MAKE " A " 8 MAKE " B " 9 = P R I N T SOM : A : : B : 11 ~ P R I N T SOM 8 9 17 (command) T e s t r u n s i t s i n p u t , w h i c h mus t e v a l u a t e t o TRUE o r F A L S E a n d s a v e s t h e r e s u l t u n t i l I f t r u e o r I f f a l s e c a n u s e t h e i n f o r m a t i o n . = TO NUM 3 5 MAKE " A " BEQUEST 5) 10. TEST I S F I E S T : A : 0 3 11 I F T E U E P B I N T " A I S Z E R O " STOP 3 12 I F F A L S E P R I N T " A = 0 " GO 5 a END (command) C u r r e n t l y n o t w o r k i n g , ( s w i t c h ) U s e d t o d e f i n e p r o c e d u r e s . The i n p u t T i t l e mus t c o n t a i n a name n o t a l r e a d y u s e d by LOGO a n d may c o n t a i n a d d i t i o n a l w o r d s p r e f i x e d b y " : " w h i c h name i n p u t s t o t h e new p r o c e d u r e . To t u r n s on t h e e d i t i n g mode a n d i s t e r m i n a t e d b y t h e s w i t c h E n d . = TO FOO 5> 5 P R I N T " H I T H E R E " a END FOO D E F I N E D . = TO NUM : N : ( s w i t c h ) T r a c e c a u s e s t h e s p e c i f i e d p r o c e d u r e t o p r i n t o u t e v e r y l i n e w h i l e i t i s e x e c u t i n g . U n t r a c e s t o p s t h e t r a c i n g a c t i o n . = TRACE FOO H I THERE = SHOr FOO TO FOO 5 P R I N T "2HI T H E R E " END (command) L i k e P r i n t e x c e p t i t d o e s n o t c a r r i a g e r e t u r n a t t h e end o f t h e l i n e . C u r r e n t l y n o t w o r k i n g . = T Y P E FOO HI THERE 10 ( o p e r a t i o n ) O u t p u t s o n l y t h e f i r s t w o r d a s a w o r d , s i m i l a r t o R e q u e s t . C u r r e n t l y n o t w o r k i n g ; . ( s w i t c h ) O n t r a c e s t h e p r o c e d u r e t h a t was t r a c e d . = ONTRACE FOO H I THERE ( o p e r a t i o n ) O u t p u t s a w o r d made f r o m t h e c h a t a c t e r s f r o m t h e f i r s t i n p u t f o l l o w e d by t h o s e f r o m t h e s e c o n d i n p u t * An i n p u t may be a number i n s t e a d o f a word* = MAKE " A " " H I " MAKE " B " " T H E R E " = P R I N T WORD : A : : B : H I T H E R E ( o p e r a t i o n ) O u t p u t s TRUE i f i t s a r g u m e n t i s a w o r d a n d F A L S E o t h e r w i s e . = MAKE " A " " H I " MAKE " C " 9 = P R I N T WORDP : C : TRUE = P R I N T WORDP : A : TRUE = P R I N T WORDP : D : F A L S E = P R I N T : D : ( o p e r a t i o n ) o u t p u t s TRUE i f i t s i n p u t i s n u m e r i c a l l y e q u a l t o 0 a n d F A L S E o t h e r w i s e . =. MAKE " A " 8 MAKE " B " 0 = P R I N T ZEROP : A : F A L S E = P R I N T ZEROP : B : TRUE 107 12.- W a r n i n g a n d e r r o r m e s s a g e s S o u r c e e r r o r s a r e p r i n t e d b y t h e c o m p i l e r a s t h e y o c c u r a f t e r t r a n s l a t i o n . LOGO e x p l a i n s wha t i t i s o b j e c t i n g t o . The f o l l o w i n g a r e some e x a m p l e s : = 1 2 P R I N T " H I T H E R E " LOGO D O E S N ' T KNOW HOW TO 1 2 P R I N T = P R I N T S :RANDOM S " * " S : R A N D O M : S " = " F : A : YOU C A N ' T USE RANDOM SENTENCE " " * " SENTENCE AS A NAME. YOU C A N ' T USE S E N T E N C E F AS A N A M E . M I S S I N G : = TO MULTI 1 14 P R I N T PRODUCT F : R A N D O M : F : R A N D O M : 5) END = M U L T I F I R S T . B U T F I R S T , L A S T . A N D B U T L A S T DO NOT A P P L Y TO " " . LOGO WAS E X E C U T I N G L I N E 14 OF M U L T I * = P R I N T HOW ARE YOU T O D A Y " M I S S I N G « 1 3 - R e f e r e n c e s — \ [ 1 ] P r i n t e d f r o m t h e M S B E u r o p e a n N e w s l e t t e r ( J u l y , 1976) , p a g e 46,. G o l d e n b e r g , P a u l E , , A g l o s s a r y o f PDP11 LOGO p r i m i t i v e s . MIT A r t i f i c i a l I n t e l l i g e n c e L a b o r a t o r y , C a m b r i d g e , M a s s . , A l Memo N o . 3 1 5 A ( M a r c h , 1 9 7 5 ) . M a n i s , V i n c e n t S . , A M a c h i n e I n d e p e n d e n t I m p l e m e n t a t i o n o f L O G O . U n i v e r s i t y o f B r i t i s h C o l u m b i a , D e p a r t m e n t o f C o m p u t e r S c i e n c e , Mi. S c . T h e s i s (1973) . 109 I N D E X A R I T H M E T I C , . , 93 BOTH , 9 4 , 9 5 B O T F I R S T , . . 62 , 9 4 , 9 5 BOTLAST . . 6 2 , 9 4 , 9 6 B Y E - 98 COMMANDS . . . 93 C O N D I T I O N A L S . . . . . . . . 93 CONTROL FO NOTIONS , . . . . . 94 D I F F E R E N C E 9 3 , 9 6 D I V I S I O N . . . . . . . . . . . 9 3 , 9 6 E D I T . . . 9 3 , 9 6 E D I T I N G A PROCEDURE 85 EITHER . . 9 4 , 9 6 EMPTYP 97 END . » . . 6 9 , 8 6 , 9 3 , 9 7 EQUALP . . . . 9 4 , 9 7 ERASE 9 3 , 9 7 ERAS EL I N E : . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 , 9 7 ERROR MESSAGES 107 F I R S T 6 2 , 9 4 , 9 8 F . . . . 98 GET . . ' i . 6 9 , 9 4 , 9 8 GLOSSARY . . . . 95 GO . . . . . . . . . . . . . . . . . . . . 99 GOODBYE . . . . . . . . . . 9 4 , 9 8 GOTO 9 9 GOTOLINE 9 3 , 9 9 GREATERP . . . . 9 4 , 9 8 I F F A L S E , 9 3 , 9 9 I F F . 99 I F T . . . . . . i . . . . . . . . i . * 99 I F T R U E 9 3 , 9 9 I N P U T - OUTPUT . . . . . . . 94 I S . . . 9 4 , 9 9 L A S T . . 6 2 , 9 4 , 100 L E S S P . . . . . . . . . . 9 4 , 1 0 0 L I S T i . . . . . . . . . . 6 2 , 9 4 , 100 LOGO FUNCTIONS . . . . . . ,. 93 LOGO SIGNON . . . . . . . . . . . . . . . . . . . . . . . 59 LOGOUT . 5 9 , 9 4 , 100 MAKE . . . , . . . . . . 6 7 , 9 4 , 101 MAXIMUM . . . . . . . . . . . . . . . . . . . . . . . . . . . i 9 3 , 1 0 1 MAX . . . ; i . . , - . . . 101 MINIMUM * 9 3 , 1 0 1 MIN . 1 0 1 NOT 9 4 , 1 0 1 NUMBERP . 9 4 , 1 0 1 OUTPUT 8 4 , 9 3 , 1 0 2 P R E D I C A T E S 94 P R I N T WORK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 P R I N T 6 1 , 9 4 , 1 0 2 110 PROCEDURE EXAMPLES , 69 PROCEDURES WITH INPUTS . . . . 7 2 PROCEDURES . . 68 PROD 102 PRODUCT - 9 3 , 1 0 2 P . . . . . . . . . . . 102 QUOTIENT 9 3 , 1 0 2 RANDOM . , . . . . . . . . . . . . . . 9 3 , 1 0 2 RECURSION 74 REMAINDER . . . . . 9 3 , 1 0 2 REQUEST . . . 7 3 , 9 4 , 1 0 3 RUNNING PROCEDURES 71 SAVE 6 9 , 9 4 , 103 S i 103 SENTENCE 6 2 , 9 4 , 1 0 3 SENTENCEP , , . 9 4 , 103 SHOW 9 3 , 1 0 4 SHOWLINE . . . . . . . 9 3 , 1 0 4 STOP 8 6 , 9 3 , 104 SUM 9 3 , 1 0 4 TERMINAL S I G N ON , . . A . , 5 7 T E R M I N A L S I G N O F F - , 59 TEST , . . . . . . . 9 3 , 1 0 5 TEXT P R O C E S S I N G . . . . . , . . . 9 4 T I T L E , . . . . . . . . . . . . . . . . . . . . . . . . 9 3 , 1 0 5 TO 9 3 , 1 0 5 TRACE . . . . . . . . . . . 9 4 , 1 0 5 T Y P E . . . . . 9 4 , 1 0 5 T Y P E I N . , , . . . - . . . . 9 4 , 1 0 6 UNTRACE . . . . 9 4 , 1 0 6 V A R I A B L E . . . . . . . . . . . . . . . , . 72 V A R I A B L E S , . . . 94 W 106 WARNING MESSAGES , 107 WORD i . . , . 6 1 , 9 4 , 1 0 6 WORDP , i . 9 4 , 1 0 6 ZEROP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4 , 106 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0051791/manifest

Comment

Related Items