Logo changes: The challenge of making a square in modern Logos
January 14, 2015 at 7:44 am 9 comments
I’ve always been a Logo fan. After WIPSCE and my thoughts about the value of resurrecting Logo (see the post), I decided to download some modern Logo implementations and do the classic square.
to square :size repeat 4 [fd :size rt 90] end
The basic square works perfectly fine in Brian Harvey’s Berkeley Logo (see here) — it’s a straightforward implementation from the past. That means that you’re missing more modern and more platform-dependent features (e.g., no sound at all, no networking primitives, etc.).
Next, I tried StarLogo. Took me awhile to figure it out — I had to put the pen down (PD) because it wasn’t by default, and then I had a hard time getting the procedures to work, so I just typed in the code directly. I think I drew a square, but I think I was actually controlling thousands of turtles, because the effect was not at all what I expected.
I then tried NetLogo, which changes turtles from the old days. When you start out, you have no turtles at all. You have to create a turtle, and then you can ask the turtles to do something. I did it, but I didn’t get a square. Or maybe it’s a square but just wrapped around a lot?
The point is that modern Logo implementations were developed for different purposes than older Logo implementations. StarLogo and NetLogo are modeling platforms that support thousands of turtles. That makes it confusing for an oldster like me who wants to do the old things. If we want to be able to use the old curriculum, we’ll have to make some new Logo implementations that work like the old ones but provide the kinds of facilities that we’d want to play with today. Shouldn’t Logo know about the Web? I’d like to be able to manipulate pixels in a picture and samples in a sound — probably no surprise.
Entry filed under: Uncategorized. Tags: computing in schools, K12, Logo, MediaComp.
1.
shriramkrishnamurthi | January 14, 2015 at 12:27 pm
It’s not Logo, but the Turtle package in Racket has two points of interest:
“The value turtles are a variation on traditional turtles. Rather than having just a single window where each operation changes the state of that window, in the graphics/value-turtles library, the entire turtles window is treated as a value. This means that each of the primitive operations accepts, in addition to the usual arguments, a turtles-window value; instead of returning nothing, each returns a turtles-window value.”
http://docs.racket-lang.org/turtles/Value_Turtles.html?q=turtle
Operations like split:
“Spawns a new turtle where the turtle is currently located. In order to distinguish the two turtles, only the new one evaluates expr. For example, if you start with a fresh turtle-window and evaluate:
(split (turn/radians (/ pi 2)))
you will have two turtles, pointing at right angles to each other.”
http://docs.racket-lang.org/turtles/Traditional_Turtles.html?q=turtle
You can do some especially neat things with the latter.
2.
Bob Irving | January 14, 2015 at 1:12 pm
Try Small Basic. It’s got that old school functionality, is pretty logical, and has intellisense.
3.
Mark Guzdial | January 14, 2015 at 2:37 pm
I know there are lots of good turtle implementations out there. The ones in modern Logo implementations are interesting and novel. The question I was asking was whether a teacher could use the existing Logo books and curricula as-is with modern Logo implementations. And for the most part, the answer is no. Sure, we could move teachers to SmallBasic, or Racket, or even Python. But Brian Harvey’s great Computer Science Logo Style series of books, or the MIT Press books on using Logo to learn visual design or linguistics or physics — those are not word-for-word accessible anymore for a teacher. Someone would have to map them onto the new languages.
4.
Daniel Garcia | January 14, 2015 at 10:47 pm
Take a look at https://turtle-roy.herokuapp.com/, I think a company in Finland is using it to teach programming to kids
5.
gflint | January 14, 2015 at 11:29 pm
The old school 80’s era Logo was intended to be an easy starter, very little knowledge was needed up from to get things working. NetLogo and StarLogo have a high level of early complication. Neither is something I would give to a fifth grader to experiment with. It is kind of like redesigning the basic Lego block because it works to well but is old and no longer flashy. I have abandoned Logo because if I want to do something that complex I might as well use something a bit more mainstream; Small Basic, Python or VB. We can still have fun with something that is similar to a college direction language.
6.
fgmart | January 16, 2015 at 1:22 am
Code.org’s activities are essentially Logo, and you can draw repeat 4, right 90 squares in them (e.g., Frozen).
7.
Mark Guzdial | January 16, 2015 at 10:55 am
Dan and Fred, you teach teachers. You know that you can’t say to them “Try typing this in. Well, it’s written in Logo, and you’re working with blocks, so you can work out the mapping.” Then if something goes wrong, is it because the program is wrong, or you screwed up the mapping? The turtle-roy page you sent is super close, Dan, but the interface is wrong. I open the editor to define “to square,” and it works in the editor, but when I open the command area, my function “square” is not accessible. The editor seems to have a different scope than the command area. If I were a teacher trying to follow along with the books, that would drive me crazy!
I’m not looking for the best turtle implementation in the world. Of course, turtles have influenced lots of programming languages, and that’s super great. I’m looking for books and curricula that teachers can use to understand how to apply computing in their classes. There are many of those kinds of books written in Logo. For the most part, they can’t be used today.
8.
fgmart | January 16, 2015 at 1:18 pm
Mark – yes. All those great Logo resources can’t be used in most of today’s environments.
Probably only Scratch (and Snap) are close.
But both would still require text-to-blocks translation.
9.
How do we move forward in CS Ed and not just retrace the past? | Computing Education Blog | January 11, 2017 at 7:01 am
[…] who decided to try to resurrect some of the best of CS Education research software from the past. As I mentioned in a previous blog post, I have found that Logo code from the past doesn’t run as-is on modern Logo implementations. […]