Wednesday, March 18, 2009

Robots in Different Cultures

I've been listening to the robotics podcasts on Talking Robots. Dario Floreano spent about 2 years until August 2008 interviewing top researchers in the field of robotics and artificial intelligence. The podcast archive is a gold mine of information for someone wanting to get a leg up on what the current trends are in the field. One theme mentioned in several interviews is the different levels of acceptance of robots by the general public in different countries. One interviewee, I wish I could remember who, summed it up by saying "The Japanese embrace robots in their daily life, Americans are afraid robots will take control of their lives, and Europeans think robots will take their jobs." I guess for my part I hope to dispell my students' fear of robots taking over by teaching them that robots are only ever doing what they've been told to do. The key is understanding what that is. Then you know what you're dealing with.

Monday, March 16, 2009

Storytelling Alice: Looking Back


My 7th grade students have just finished their animation projects. In the end I decided to collaborate with the science teacher and have the students apply what they were learning about genetics in that class in making these stories. The assignment was to portray two groups (families) of characters in two scenes and have a character's genetically inherited trait explained in some way. One family had to be human and the other non-human (animals, aliens, robots, fairies, etc) and while with the human family the traits had to be real, they could make up the non-human characters' traits. They came up with some interesting solutions to integrating scientific information into a narrative. A few students set the story in a classroom in which a teacher was beginning a lesson on genetics, then it would cut to a video the class was watching in which genetics were explained using animals or fairies.

So what did they get out of the project? I think they did benefit from applying the genetic vocabulary to a story of their own. I overheard many conversations trying to clarify trait types, recessiveness and dominance, and how to spell words like allele and phenotype. I also wanted to them to get some programming concepts as well, and this happened to varying degrees. I demonstrated what seemed like the most useful concepts as they began their stories and told them to use them when they felt they needed them in making their stories, like tools they may or may not need in a toolbox. I showed them the looping command, do together command, and how to create a new method. Do together was by far the most widely used, which is interesting because it gives the programmer a high degree of control over the action to a degree that would be very hard to do in most programming languages. Do together essentially allows instant multi-tasking, making that concept deceptively easy to apply in Alice. Some students found it necessary and worth the effort to make new methods. We discovered how challenging it can be to program a character that doesn't know how to kick to do so. Some students were, of course, quite lost. One big misconception a few students had was thinking they had to create a new method to make anything happen. They would create a 'stand up' method and drop a whole dialog sequence in it. They were missing the basic idea of methods as meaningful containers of instructions. Some of the students realized the possibilities for programming the camera actions and made some very exciting things happen with that. Many had to be walked through the steps to create the second scene and link the two together as described in this post. A few completely missed that idea and just started a new project when they went to create their second scene. If they hadn't gone too far I would stop them and show them how to add the second scene to the first.

Next go around I'll spend more time teaching them how to create multiple scenes. I want to create a screencast of the process so they can do it independently. I also want to spend more time practicing the commands at the bottom of the scripting panel, like looping, do together, and do in order so they have a better idea of when they will be appropriate.

I encountered few bugs after using it for 6 weeks. One was due to the wireless connection not being quite robust enough when students were saving to their network drives. A lot of students were getting corrupted projects that couldn't be opened until I updated the Dell wireless drivers on the laptops and that problem stopped. Often an animation would throw an error with the message "An error has occurred during simulation." I would go back to the script and disable the command directly after the point in the animation that the error happened to try and pinpoint the faulty code. More often than not once I found the command I had to delete it and reinsert it and it worked. It often occurred with the command "Camera fade to black" for some reason. Other than that the program was impressively reliable.

Thursday, January 22, 2009

Will The White House Go Cutting Edge?

Eye-opening post about the Obama tech team trying to make sense of the antiquated technology in The White House.

Britannica Wikifies

Why?

Sunday, January 11, 2009

Creating Multiple Scenes with Storytelling Alice

I just had a great week teaching 6th graders how to program 3D animations with Storytelling Alice. (See here for more about the program.) But they also taught me a lot, because there were things I couldn't figure out how to do and their discoveries put it together for me. The biggest was how to create multiple scenes. Kelleher provides a sample animation you can access in the help section that sort of explains how, but wasn't explicit enough for me to get it. So here's how:
  1. First, understand that the default method, 'World.scene 1 method,' must be used as the method in which the first scene is scripted and an organizing method that will play all of the other scenes in your story.
  2. Add a few objects and characters to your first scene and click 'done.' You can go back and add more later.
  3. Program an action for one character in the first scene so you have something to see when you play it.
  4. Now create the second scene by clicking 'create new scene' and call it 'scene 2.'
  5. Add a character to it.
  6. Now change your current scene tripod to opening scene tripod and try playing the animation. You will see that the first scene plays but the second doesn't. We'll fix that.
  7. Up in your object tree click on the world object. You'll see the scene 1 method and scene 2 method below the tree. Drag the scene 2 method into the script area of the scene 1 method, at the bottom of what you already scripted. In this way, the actions of the first scene will play and then the second scene will follow.
  8. Now edit the scene 2 method and before any action in the scene occurs direct the camera to orient to that scene by clicking the camera in the object tree and dragging the 'camera orient to...' tile to the top of scene 2 method's script. Choose 'scene 2's tripod' in the context menu that pops up.
  9. Try playing the animation again and you'll see that the second scene now plays.
  10. Between scenes the camera swings wildly from one scene to the next. You can direct the camera to fade out before it changes orientation and fade back in when it's pointing at the second scene so you don't see the transition.
  11. If you want a title first, click the tab for the first scene in the scripting area, click the camera in the object tree and drag the 'camera show title' tile before the first action in scene 1's script.
You can program as many scenes as you want this way. The amazing revelation to me about this is that now I can see how the program allows you to direct not only the characters in the scenes but the camera, lights, and titles, giving you a lot more control than I realized. My students really took off with this once we all put it together.

Thursday, November 20, 2008

The Greening of the Web is Dark

A student of mine recently introduced me to Earthle, powered by Google so you have the same results, same options, but it's black. That's so you'll use less energy while you're searching. It's a great idea. I think more of the web should get darker to promote energy conservation. #000000 instead of #FFFFFF.

Wednesday, November 19, 2008

Photosynth


Microsoft has come up with something really amazing in its research labs called Photosynth. I learned about it from this TED talk with Blaise Aguera y Arcas. He demos the software, showing how it syncs photos of the same geographic location so you can manipulate the object of the photos in 3D passing through the lens of each picture. The pictures come from all over the web, from devices as varied as camera phones to high resolution cameras so as you pull each one into focus you can explore its specific resolution and visual character. The great quote from Aguera y Arcas comes when he compares the experience of changing one's point of view from a distant perspective to an extreme closeup to manipulating paper. He calls paper "an inherently multi-scale medium," which puts the finger on why e-paper could never take the place of physical paper. No matter what happens inside the screen, the metal and liquid crystal provide an impermeable barrier between you and the object you'd like to manipulate. Photosynth does bring you a little closer to that experience, though.

Sunday, November 09, 2008

Open Source Electronics



I've found another reason to love the Cricket. The electronics are open source, or at least some of the components are. I was having a lot of problems with wires coming out of the connectors that fasten them into the Cricket's ports. I received a bunch of crimped wires from the manufacturer that I had to splice onto the wires that came out until I started running out of those. Then I made a discovery in an unlikely source. My cordless phone battery was dying, so I went to Radio Shack to get a new one. It turned out they had changed the model and while the battery the sold was the same shape, voltage and amps as my bad one, the connector into the phone was a different shape. But the battery wires fastened into the connector in exactly the same way as the wires on the Cricket do. It turns out the crimps are a standard method of making a non-soldering wire connection. So all I have to do to fix the wires that come out is re-crimp them. There's even a page on the Molex web site (the manufacturer of the crimps) that shows how to make a good crimp.

Facebook

Now I know why Facebook is so popular. It's the ease with which people can communicate in multimedia formats. The only one that's missing is audio messages. Text, pictures, and video are all there mixed together. The brilliance is how easy it is to relate objects to one another through comments, tags, and probably other ways I don't know about in a very fluid way.:)

Saturday, November 01, 2008

Code Comments Are Essential

My 9th graders have been navigating a paper road with their Super Crickets for a few classes now armed only with the knowledge of how to create a long sequence of commands that hard code every turn and straightway. No sensors, yet. So their programs are long. I finally introduced them to the practice of adding comments to code. They were so thankful to have a way to keep track of where each turn in the road was in their programs. I realized how essential comments are.