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]