5 ms·
Logo and Learning (2015)
- jamal-kumar 4y agoHere's an interesting video from the early 80s seeing this in action: https://www.youtube.com/watch?v=pGPu2HSSAco https://www.youtube.com/watch?v=pGPu2HSSAco
- ianbicking 4y agoWatching 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.
- cloogshicer 4y agoMindstorms, 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 http://worrydream.com/#!/LearnableProgramming
- whatrocks 4y agoWonderful 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/ https://charlieharrington.com/mindstorms/
- mgkimsal 4y agoIIRC, unit testing Logo required a mock turtle.
- geraltofrivia 4y agoIn 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 4y agoThe 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 4y agoBig Traks follow Logo-like programming. I loved mine… https://en.wikipedia.org/wiki/Big_Trak https://en.wikipedia.org/wiki/Big_Trak
- dtagames 4y agoI 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 4y ago16-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 https://youtu.be/D-guBA1_T_Y
- johnwalkr 4y agoI had the same experience. We used logo in elementary school on Apple IIes and I thought we were just "learning computers." Looking back I realize that one teacher went out of her way to teach us something useful with the oudated hardware available (this was in 1992). Other teachers of the same class just let us play around with a print shop program, and in junior high we had a computer class which was just typing practice, again using Apple IIes. They were old and unmaintained, they didn't even have software available -we had to type into the command prompt for 45 minutes. In high school I took a computer science course, but quickly dropped it because it started us off with word and excel. It wasn't until undergrad that I was exposed to programming again properly again and realized what logo and that teacher actually was trying to us. I wish subsequent teachers had kept going in that direction.
- greenbit 4y agoThe 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 4y agoGiven 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/26ae6f01105832ced8fcdf05eaf43321765ff374/logolib/case 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 4y agoOops, 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.
- dtagames 4y agoTechnically, it is a Lisp.
- borroka 4y agoI 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 4y agoI 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 4y agoI 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!
- danjoredd 4y agoI 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 4y agoFWIW, 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 4y agoFor a modern, 3D version of Logo check out https://turtlespaces.org https://turtlespaces.org
- retrocryptid 4y agoalso... I love this javascript logo environment Joshua Bell (not the violinist) put together: https://www.calormen.com/jslogo/ https://www.calormen.com/jslogo/
- Dowwie 4y agoIs there a constructionist movement anymore? Has it evolved into something else?
- hedora 4y agoDoes 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.