Sunday, February 5, 2012

TurtleArt


This is the second year I have taught third graders how to program in TurtleArt. TurtleArt (http://turtleart.org) is an implementation of the Logo programming language that emphasizes the artistic side of Logo. It is well-suited to using with younger students because they program the computer by snapping together blocks to make the turtle draw. Without realizing it, students are learning quite a bit about math in the process, as they have to consider angles, the X Y axis, and in some projects how long the lines are that they are programming the turtle to draw.


I introduce TurtleArt by asking the students to use the turtle to draw three different shapes: a square, a circle, and a triangle. With these three shapes student are then asked to create procedures. Procedures are a collection of moves that cause the turtle to draw. Procedures can be named, which creates a new, single block that can then be used in other procedures. For example, a square procedure can be defined as:


repeat 4 [forward 100 right 90]






Named “square,” that procedure could be called in another procedure:


repeat 36 [square right 10]


Screen shot 2012-02-05 at 3.00.35 PM.png


Once the students understand how to define procedures, I introduce them to variables. TurtleArt can use a block that calls for a range of random numbers or one number of the other. Here is an example of using variables to change the color the turtle is drawing.


Screen shot 2012-02-05 at 3.03.26 PM.png


I also attempt to teach the students about recursion, or creating a procedure that in turn calls a copy of itself. You can create many wonderful drawings using recursion. However, most recursive procedures written in TurtleArt tend to result in stack overflows, which stops the procedure. Here is an example of a recursive procedure.


Screen shot 2012-02-05 at 3.09.26 PM.png


Recursion is a little difficult for third graders to understand, so we do not linger on this project too long.


One project that the students are particularly challenged by but which they refuse to give up on is having the turtle draw their initials. This project is a particularly good opportunity for the students to collaborate with one another if they are having a difficult time figuring out how to make a letter.


The biggest project we work on is making quilt squares in TurtleArt. We create an empty square to define the quilt square. Students are then challenged to create a design that fits inside the square and does not wander out of the square. This provides the perfect opportunity to reinforce the concept of the X Y axis. Knowing the size of the square and the X Y point at which the square is started, I suggest to the students that they can “bind” their design within the square by limiting the procedure to a certain range on the X Y axis.


Screen shot 2012-02-05 at 3.16.51 PM.png


Once the students have created their procedures I combine the quilt squares together in Photoshop to create a class quilt, which I print on a large format printer.


TurtleArt-040411-1.jpg


The students really like TurtleArt. Interestingly, when I first started teaching it last year the students were concerned that others might look at their computer screens and “steal” their procedures. However, I told the students that they should feel free to collaborate, to share procedures, to help one another. This year I set up a wiki for the students to post their art so their classmates can download and remix their designs. This has worked out really well. Students are also hand-writing procedures and trading them.


image.jpg


It is great to see the designs that the students create and to see the students’ excitement. Programming a computer is an empowering skill. These students are being exposed to math skills that they typically would not encounter until fifth grade.


Monday, January 30, 2012

Autonomous Cars

I have been thinking about self-driving cars quite a bit lately. Wired Magazine has a great article in the current print issue about the different technologies that automakers are employing to make the autonomous car a reality. They also posted a great gallery of autonomous cars through the ages.

Koushik Dutta wrote a very interesting post in his Google + about how autonomous cars might create a situation where we no longer own cars as individuals but rather share them, since most automobile are parked 96% of the time, doing nothing.

Finally, I built a project in Scratch to simulate an intelligent car that can sense whether it might be on a collision course with an obstacle.


The vehicle has a distance sensor built into the front. Scratch reads the distance sensor values and adjusts the motor speed accordingly.

Tuesday, January 17, 2012

nBlog working again?


The wonderful My Apple Newton blog suggests that nBlog works with Blogger again. Here is my test from my eMate. Will it work?

It did!

Tuesday, December 20, 2011

Scratch in the Browser


Mitch Resnik hinted at this during NYC Scratch Day. Today I found a test server. Scratch running inside a browser. No saving, but you can build!

Monday, December 19, 2011

LED Light Box

My mom bought my 4 month old son a MurphLab LED Art Kit from the MakerShed. I put it together for him. I built a temporary container for it from a tie box I received for Christmas. I hope my father-in-law will help me by building a wooden case for the device.

The kit comes with a piece of cut matte board and a "lens," a piece of plastic through which the light shines.

There are three LEDs. You connect the positive terminals and the negative terminals and use a pair of pliers to crimp down a little metal tube around the LED terminals.


It is a good idea to label the terminals as you build the LED array. Here is the negative terminal.


Next, the LEDs are connected to the power supply.


Next, my attention turned to the temporary case for this project. I received a tie for Christmas that came in this handy box. I cut off one side and repurposed the stock to make an open area in the box for the power supply switch.


I built a shelf for the LED array to sit on and hot-glued it in place.


I followed the direction's suggestion to put a dab of hot glue on each of the LEDs to distort the light. It produced a great effect when the box was closed up and the lens was in place.

Tuesday, December 13, 2011

The Genesis of Apple's Design Philosophy

If you use an Apple product you should watch this video of Steve Jobs from 1980. Apple's philosophy and direction was forged at this computer user meeting. Think about how the Apple II that Steve Jobs promotes at the beginning progresses to the way the iPhone integrates well-made software into hardware. Seemless user experience from the beginning.


Monday, December 12, 2011

NYC Scratch Day

I had the good fortune of facilitating a session at the NYC Scratch Day, graciously hosted by Packer Intercollegiate Institute. I taught people how to use PicoBoards with their Scratch projects.

My friend Rob showed up and brought his son along.

Check Spelling

They developed a great Scratch PicoBoard project that used the alligator clips to create a closed circuit. Using the slider, T could make Scratch play a series of four piano chords. Here it is in action.

video

They demonstrated the project for Jaymes, who also facilitated a session on PicoBoards.

My success story for the day was working with a fifth grade girl to create her first PicoBoard project. She had previous experience using Scratch but had never before used a PicoBoard. She watched me demonstrate a few different projects that used the different sensors on the PicoBoard. She decided she wanted to make a project that used the slider, to control left and right movement of her sprite, and the button, to fire a projectile at another sprite.

An hour and a half after starting, she had her project working the way she wanted it! She could move her character with the slider, and the button fired a projectile sprite that we borrowed from another Scratch project. She was going to add a PicoBoard to her Christmas list!


This was perhaps one of the best educational technology conferences I attended or at which I facilitated a project because there were more students there than adults! The students were all very excited to be there on a Sunday to learn more about Scratch! What a fun day!