[HN Gopher] Logo and Learning (2015)
       ___________________________________________________________________
        
       Logo and Learning (2015)
        
       Author : baxtr
       Score  : 60 points
       Date   : 2022-07-17 12:10 UTC (2 days ago)
        
 (HTM) web link (el.media.mit.edu)
 (TXT) w3m dump (el.media.mit.edu)
        
       | greenbit wrote:
       | The usual impression of LOGO is that it's all about the turtle,
       | but as it happens, the language has a fair degree of Lisp-iness
       | to it. Nothing like the Lisp macro system iirc, but it did lend
       | itself to functional programming and recursive algorithms quite
       | well.
        
         | ianbicking wrote:
         | Given the nature of variables and blocks in Logo you can do
         | quite a bit. Like say you want to do a modulo-like operation:
         | IF :SIZE > 100 [MAKE "SIZE :SIZE - 100]
         | 
         | You could do:                   TO MODVAR :VARIABLE :AMOUNT
         | IF THING :VARIABLE > :AMOUNT [MAKE :VARIABLE THING :VARIABLE -
         | :AMOUNT]         END         MODVAR "SIZE 100
         | 
         | But even things like WHILE can be implemented:
         | TO WHILE :COND :BLOCK           IF :COND [EVAL :BLOCK WHILE
         | :COND :BLOCK]         END
         | 
         | And the blocks are just lists, so you could potentially rewrite
         | them.
         | 
         | I was looking at Berkeley Logo to remind myself of the
         | commands, and found that CASE (similar to switch) is
         | implemented as a macro: https://github.com/jrincayc/ucblogo-
         | code/blob/26ae6f01105832... - though it seems like it could be
         | implemented just fine as a regular function. Though
         | :caseignoredp is confusing me a bit... it's technically a
         | dynamically-scoped variable that affects many comparison
         | operations, but that wouldn't work with a macro. I wonder if
         | that's a bug from when it was converted from a normal function
         | to a macro.
        
           | ianbicking wrote:
           | Oops, while should be:                   TO WHILE :COND
           | :BLOCK           IF RUNRESULT :COND [RUN :BLOCK WHILE :COND
           | :BLOCK]         END
           | 
           | But this does fail when you do some things in the block, like
           | [OUTPUT] (equivalent of return).
           | 
           | Also looking closer at UCBLogo macros and they are evaluated
           | at runtime in a way I didn't expect. That is, they are
           | expanded at call time, and can self-reference causing
           | repeated expansions (but the expansions are immediately
           | evaluated so the program size isn't effected). But I think
           | they really could have accomplished the same thing more
           | easily with the Tcl uplevel command.
        
         | xhevahir wrote:
         | I looked at a couple of math books several years ago that used
         | Logo, and was quickly turned off by the fact that it didn't
         | have first-class functions--a pretty big limitation for a lisp.
         | I ended up translating the code to either Python or Racket.
        
         | dtagames wrote:
         | Technically, it is a Lisp.
        
           | retrocryptid wrote:
           | When I was a LOGO test subject as a kid in ths early 70s, we
           | used various list & text manipulation features of LOGO to
           | build sentence generators and parsers. It wasn't all about
           | the turtle. Very LISPy stuff. IIRC, the machine we used might
           | have been a modified early lisp machine.
        
       | borroka wrote:
       | I used Logo when I was in middle school, in the early 90s and not
       | in the US. Looking back, it was an extraordinary and before-
       | normal-times introduction to the world of computer programming.
       | But at the time I did not know the importance of programming for
       | my future personal and professional life, and certainly my
       | classmates, almost all of whom came from blue-collar backgrounds,
       | did not appreciate it either.
        
         | dtagames wrote:
         | I learned Logo at the public library when I was that same age.
         | It was extraordinary and life changing for me. It was then I
         | decided to make programming my career.
        
         | axisK wrote:
         | I was just thinking of Logo today and how it got me super
         | interested in programming. I ended up doing simple rectangles
         | with my 5 year old. He loved the turtle!
        
       | retrocryptid wrote:
       | FWIW, I was one of the LOGO kids in the early 70s, playing with
       | mechanical turtles with Cynthia Solomon and Seymore Papert. I
       | don't remember a time when applying an algoritm to a problem
       | wasn't a potential solution. I think the main benefit here wasn't
       | so much learning simple programming than it was "internalizing
       | the metaphor of algorithm." (i.e.-you can use algorithms to solve
       | problems.) You don't _have_ to have a computer to use a binary
       | search algorithm (but it certainly helps.) You don 't _have_ to
       | have a computer to apply the  "follow the left hand wall"
       | solution to maze traversal, as any DnD dungeon crawl player will
       | tell you. And then figuring out why it doesn't work when there
       | are cycles in the graph is sort of important.
       | 
       | I saw a video of young kids in England "playing LOGO" before
       | their schools had acquired computers. They were taking turns
       | playing the part of the turtle while other kids spoke programs
       | like "forward 4; right 90 degrees." Papert was big into "embodied
       | learning" where concepts are translated into physical actions and
       | artifacts, so it's no shock he would recommend something like
       | this.
       | 
       | Somewhat related... my mother was an educational researcher at
       | the time, so I'm one of the few people who can say "my mother
       | taught me Lisp when I was 7 years old." Also... I learned unix
       | sysadmin in the 80s maintaining my mom's Sun 3/60. Pretty sure
       | the idea of using a Sun as a daily driver was an idea she picked
       | up from her interactions with Papert's lab.
       | 
       | I just finished reading Brian Dear's "Friendly Orange Glow" where
       | some interviewees said they felt Papert was a bit arrogant.
       | But... having benefited from both PLATO and LOGO, the only thing
       | I can say is "more arrogance like Papert's, please."
        
       | empressplay wrote:
       | For a modern, 3D version of Logo check out
       | https://turtlespaces.org
        
       | geraltofrivia wrote:
       | In hindsight this make a lot of sense. Growing up, it didn't. I
       | did my schooling in a small Indian city where from Grade 3-5
       | (that's approx 8-10 year old) we were given access to Logo in the
       | computer room and instructed to make things (very basic stuff,
       | initially, and progressively interesting things like spirals
       | etc).
       | 
       | It was quite baffling then, till, say start of my undergrad (age
       | 18), on what was the point of learning to control a turtle using
       | simple commands. It hit me finally, as I was trying to learn
       | actual programming.
       | 
       | A lot of people (in my circles) say that learning to program is
       | intuitive, easy. I have never believed that. To teach something
       | like HTML/CSS/How to use MS Word etc would be far, far worse
       | experience (I'm looking at you, second tier Indian schools) than
       | learning to move a turtle using simple commands. If nothing else,
       | it brings home the idea of moving commands to actuate things on
       | the computer.
       | 
       | PS: I suppose you can make the argument that this is also
       | accomplished by video games but I hold that syntactically
       | coherent commands (LT 90; FD 10) give a better insight into
       | command-action nature of interaction than (Up arrow; Up arrow;
       | move mouse to enemy; left click).
        
         | pradn wrote:
         | The great thing about systems like LOGO are that you can even
         | implement them without a computer! A really easy way to get
         | kids excited about programming is having them give LOGO-like
         | instructions to "robots", their classmates, parents, or
         | teachers. There's the extra fun factor of reversing roles of
         | authority in such a setting.
         | 
         | I've helped teach CS to high schoolers for a few years. In some
         | years, we've used visual systems like this. In my experience,
         | they help kids get started with programming really easily. They
         | can slowly learn more and more programming concepts with
         | immediate visual feedback. But, in all classes, they get stuck
         | in learning to abstract or plan solutions ahead of time for
         | more complex problems. That's a hard jump with every method of
         | teaching CS, though. In a sense, the immediacy of visual
         | programming can make it hard for them to slowly develop long-
         | range planning and reasoning skills. I'm not sure if a purely
         | symbolic approach is better, still. I do think a bit more
         | practice-oriented learning may help - think multiplication
         | table worksheets.
        
           | 8ig8 wrote:
           | Big Traks follow Logo-like programming. I loved mine...
           | 
           | https://en.wikipedia.org/wiki/Big_Trak
        
             | dtagames wrote:
             | I almost lost my mind over the idea of a "programmable toy"
             | when Big Trak came out. I loved it but not really
             | programmable enough, right?
        
               | jazzyjackson wrote:
               | 16-command memory, looking it up. Apparently it's pretty
               | easy to drop in an Arduino and go from there!
               | 
               | Cool video: https://youtu.be/D-guBA1_T_Y
        
       | danjoredd wrote:
       | I used to LOVE LOGO as a kid! I used Microworlds EX as my
       | interpreter, and made many games with it. Unfortunately I was not
       | very clever, and my games kind of sucked in hindsight. I might
       | reinstall it and see if I can make something better now that I
       | have a degree
        
       | retrocryptid wrote:
       | also... I love this javascript logo environment Joshua Bell (not
       | the violinist) put together: https://www.calormen.com/jslogo/
        
       | Dowwie wrote:
       | Is there a constructionist movement anymore? Has it evolved into
       | something else?
        
       | cloogshicer wrote:
       | Mindstorms, by Seymour Papert, is well worth a read. Great book
       | on education. If you like this kind of stuff, you'll also enjoy
       | Bret Victor's Learnable programming [0] and probably all the
       | other stuff he's published over the years.
       | 
       | [0] http://worrydream.com/#!/LearnableProgramming
        
         | whatrocks wrote:
         | Wonderful book that I think about all the time. So much so that
         | I've jotted down my booknotes for Mindstorms here, if anyone's
         | interested in a quick glance:
         | https://charlieharrington.com/mindstorms/
        
       | jamal-kumar wrote:
       | Here's an interesting video from the early 80s seeing this in
       | action:
       | 
       | https://www.youtube.com/watch?v=pGPu2HSSAco
        
         | ianbicking wrote:
         | Watching the kid read his turtle-themed story - about a turtle
         | mother who had a freakish triangle child - reminds me that kids
         | really haven't changed that much.
        
       | mgkimsal wrote:
       | IIRC, unit testing Logo required a mock turtle.
        
       | hedora wrote:
       | Does anyone have a link to a curriculum for teaching Logo to a
       | young grade schooler? There are tons of articles talking about
       | the theory of education, and how great / impactful it was, but I
       | can't find a textbook, worksheets, or even an emulator with a
       | manual targeting a 1-2nd grade reading level.
        
       ___________________________________________________________________
       (page generated 2022-07-19 23:02 UTC)