[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)