Saturday, October 25, 2008

A better way to teach making a timer

Last year I taught my 6th graders how to make a timer for an application we were making by using all of the primitives available. So I showed them how to use resett and print the time every. second with 'timer / 10'. I missed a great opportunity that I'm finally talking advantage of. In one fell swoop I can teach them how Logo can do math, loop, and use variables. Here's the model for the timer we're working with now:
to start-timer
make "seconds "0
repeat 60
[time, pr :seconds
wait 10
make "seconds :seconds + 1]
With this approach my students this year are getting what were doing, much better than last year.

Wednesday, October 22, 2008

Teaching is a political act

I came across this paper that traces the history of LOGO in terms of its function in most schools. Agalianos argues that, while the creators of LOGO envisioned it as a tool for children and teachers to subvert the institutional controls on learning and teaching by inventing their own individualized math curricula, it was introduced into schools in the 80s at a time when the dominant institutional philosophy was swinging from relatively progressive to conservative. In this "back to basics" climate, which continues today, LOGO wasn't rejected, but integrated into the standards and required as its own subject separate from the rest of the curriculum. Its function has ended up in many schools as no more than a "turtle graphics" program, a fun environment for kids to practice problem-solving skills. The tension between the possibilities inherent in LOGO and the constraints of the over-scheduled and fragmented school environment has been a preoccupation of mine since I began teaching technology. What is the purpose and larger context of what I'm teaching? For now I'll just keep asking.

Saturday, October 18, 2008

Logo Word Counter

numwords, pr count parse words
where "words" and "numwords" are text boxes and words is the box containing text to count.

Logo Timer

Given, you have a text box on the screen named "time," the following makes a nice timer:
to start
make "seconds "60
repeat 61
[time, pr :seconds
wait 10
make "seconds :seconds - 1]

Wednesday, August 13, 2008

Syntax coloring for Logo

As far as I know, this is only available in one place--the Java-based Jackal for Cricket microcomputers. Now that MicroWorlds EX Robotics supports the Cricket this is the only reason I'm sticking with Jackal for my 9th graders this year. I think colored syntax is a really important feature of any programmer's software toolkit and an essential type of feedback for someone beginning to learn to program in a text-based environment.

MicroWorlds ver 1.7 for Windows

I just installed the upgrade to MicroWorlds EX Robotics for Windows, version 1.7, and was thrilled to see not just support for the NXT but also the Cricket! I can't believe how much of an upgrade this is. And the help resources are robot-specific, so if you've checked the NXT, for example, and restarted the program, you'll see Robotics resources only for the NXT. One things I've learned from this is that different variations of Logo aren't dependent on the programs that you use it with so much as the robotic hardware you use it with, or maybe it's both.

Monday, August 11, 2008

Snaparea command

I've been finding the MicroWorlds EX snaparea command really useful recently. It's come in handy when I've needed to turn some text into a graphic that can be used as a shape for turtles. In this project (here for web, here for download) I made for a kid to learn some counting skills I made a text box and moved it to the coordinates [0 0], typed in the number 1 and made it larger, then ran the command snaparea 1 [-5 5] [20 20] in the command center and there was my '1' graphic in the shapes panel. The first set of coordinates is the upper left corner of the graphic and the second set is the length across and down from there. I did the same for the other nine numbers but changed the number after the command so they'd be different shape numbers. After giving 10 different turtles these graphics as shapes and making each turtle reveal a number of other turtles when clicked, she could then click a nice big number to see how much it represents. I could have used buttons with numbers as the labels, but they would have been so small.

Another more involved project (download only) is one I made for a French teacher that allows her to import her own pictures and type sentences (on the teacher page) which then become graphics the students drag on to the pictures on a Smart Board. When the right sentence touches the picture they get a "Bravo!" Snaparea comes into play when the sentences on page6 are being copied to graphics used by the turtles on each page.

Saturday, August 9, 2008

Handy Cricket LED hexadecimal codes

Pretty esoteric post for one of the first, but I recently finished making a web page that lists the hexadecimal values for all configurations of LEDs on the 4-digit LED display bus for use with the Handy and Super Cricket microcontroller. Ryan Tucker of UMass figured out and listed the codes for the alphabet, but I want my students this fall to be able to design and create more abstract animations in addition to messages, like a snake zig-zagging around. This page on shows how to program the LED display.

Why a Logo blog?

I'm not a programmer by training. I've come into programming through teaching technology and my lifetime interest in making things. That could have led me to focus on teaching graphic design, video editing, or Flash animation, but when I started working seriously with computers about 7 years ago I needed to understand how they work. The need to see under the hood has made me eschew all GUIs when practical and learn to do things with code. I've learned to use HTML, JavaScript, PHP, a (very) little Java, Processing, AppleScript, DOS batch files, and VBScript, all out of needing to solve some problem or other. Logo has allowed me to communicate the use of computer languages for solving problems and understanding how things work to middle school children. It has also allowed me to become a programmer because it's more accessible than other languages and I'm not too mathematically or logically inclined. So I'm grateful to Logo and the people who made it and the people who continue to develop it. This blog is mostly about using Logo to solve problems and create new things.�