LearningForward

Kent Chesnut's technology in education blog.

August 29, 2009

Can you talk with your computer?

Filed under: Xerte, Foreign Language, One Laptop Per Child, Scratch, Programming — kchesnut @ 3:14 pm

In my post on March 14 called ¿Puedes hablar con su computadora? (good grief, it’s been 5 and a half months!), I discussed an One Laptop Per Child XO program called Hablar Con Sara and how I thought one could add context to such a program and make if more effective.  The objective is to put together a program that allows a foreign language student to practice conversation with their computer.

In March, I predicted I’d have a proto in 2 - 3 weeks.  Ha!  With everything else to do, the project got shoved to the bottom of the list.  As I now have a little breathing room in my schedule, I realize I still want to do this project and think it has merit (see the original post for more details).

My original program idea was straightforward, if not simple.  Put together a context - such as going to eat at a restaurant - and have the student move through the different phases with simulated conversations with the greeter, waitress, …  Limit the vocabulary and provide a vocab list for the student to preview / review.  I still think this is a great idea, but it’s quite a chunk to bite off all at once.  So I’ve put together several simpler ideas to consider:

  • Supply a context like a restaurant, but don’t try to sequence the events.  Although this is somewhat simpler (no state machine for what part of the scenario is going on), it is very similar to the previous idea.
  • Use a picture as context and try to provide a discussion / conversation with the student about the picture.  In this program, a picture is supplied and the student is encouraged to discuss it with a picture of a kid on the screen.  The student types in phrases to the program.  The program parses the phrases for keywords and uses the results to speak back to the student.  I think this program could be easily expanded to the programs above by using a sequence of pictures that represent eating at a restaurant, …
  •  Use a picture for context and try to provide a discussion / conversation with the student about the picture.  Instead of allowing the student to construct phrases and type them into the computer, allow the student to pick from phrases that have been provided as buttons.  This is really simple - but not allowing the student to construct his responses and comments really restricts the program from allowing any resemblance of real conversation.

Based on the included comments, you can probably tell that I’ve decided to start with the middle option.  A simple task flow would be:

  • Select a picture
  • Put together 15 - 20 phrases about the picture
  • Identify trigger words and tie them to the phrases
  • Record the phrases

Interaction with the student is pretty simple 

  • Allow the student to enter a sentence
  • Parse the sentence for trigger words
  • Select a phrase that is triggered by the trigger word
  • Play the audio file of the selected phrase
  • Additionally, one might add a button that says “You start” or something similar to get the program to pick a conversation starter phrase.

So what would be a good development environment?

  • Authorware - although I have Authorware (and like it a lot), I’m not using it because it requires a player that is not commonly found on most computers.
  • Flash - Flash is a good development environment for such a program as this.  And Flash is easily deployed on the internet.  However, I prefer to use Open Source tools and think this program would actually be easier in Xerte as it doesn’t need animation.
  • Scratch - I’d like to use Scratch for this… but how could you get user input.  Then I found that in version 1.4 Scratch allows for users to enter a string.  However, writing the Scratch code necessary to parse the string for key words turned out to be pretty hard… and it appeared to be pretty slow.
  • Xerte - Xerte is similar to Authorware with Flash Actionscript as the scripting language.  And it compiles to a standard Flash swf file for easy deployment on the internet.  And it’s open source.  See my earlier post on Xerte Xerte - eLearning Development Tool for more details.   So Xerte it is!

So what’s the current status?  (so am I going to take another 5 months before getting anything done ;-)… No, I should have something to post in a couple of weeks (yea, we’ve heard that before).

The logic of handling the user input is really pretty simple.  I’ll post an early version of the code here for comments…

“Triggers = [
   new Array(”rock”, 3, 5),                                  // Trigger words and phrase indexes
   …

Unsolicited = new Array(4, 6);                        // Phrase indexes for unsolicited / unrecognized input

Phrases = [
     “This picture was taken in southern Oklahoma.”,                  // 0 Phrases - need to be recorded
     …

triggerphrase = RSTextEntry.text;

selected = -1;
for(i=0; i<Triggers.length; i++)
{
   if(triggerphrase.indexOf(Triggers[i][0]) > -1)
   {
      selected = Triggers[i][1];
   }
}

if(selected == -1)
{
   selected = Unsolicited[0];
}
IDFeedback.setText(Phrases[selected]);”

There’s still some things to do, but code complexity certainly won’t be the constraining factor.

Any comments or suggestions would be appreciated.  I guess I should quit writing about this project and get to work!

August 1, 2009

Stuff on a Stick

Filed under: XO Laptop, Xerte, One Laptop Per Child, Scratch, Programming, Logo, Uncategorized — kchesnut @ 10:14 pm

The ability to run programs directly from a USB Flash Drive - without installing them on a computer - is useful in a number of circumstances.  I’ve got several programs installed and running on my flash drive.

I have a U3 style flash drive - but most of the programs I’m describing here are not loaded as U3 programs.

Why would this be useful?

  • Some time back I was looking for a venue for a Scratch class for kids.  A local library expressed interest… but they couldn’t install software on their computers.  I’ve now found that Scratch can be installed and run from a USB Flash drive.  I can’t find a link describing how to put Scratch on the flash drive at the moment - but if I remember correctly I downloaded the .zip version of Scratch and unzipped it.  Then I just copied the whole Scratch folder onto the flash drive (I actually put the folder into a folder named Programs on the flash drive to keep the root level from getting so cluttered) and then put a Shortcut to the program onto the root level.  Note that you have to start Scratch and then open your projects.  If Scratch is not installed on the computer you are using, it won’t recognize the file extension.  Maybe that Scratch class at the library is possible now.
  • When using someone else’s computer (or a public computer), you may need access to a wide variety of utilities.  I’ve found that IrfanView (photo editing), Audacity (audio recording and editing), and jZip (a compression / decompression utility) all work fine from the flash drive.
  • So, maybe your into teaching kids a programming environment but don’t like Scratch (I can’t imagine that!).  I’ve found Squeak and NetLogo also run fine from a flash drive.
  • If you’d like to do a little multimedia authoring, I’ve found that Xerte will also run from my flash drive.
  • U3 programs I’ve installed include Skype (communications), Gimp (another photo editor - I really haven’t tried this but it did install correctly), and WinSCP (ftp utility).
  • Do you think you’d like to investigate the Sugar user interface (the shell that runs on the OLPC XO laptop)?  You can even get Sugar on a flash disk.  One note - to get Sugar to run you actually reboot your computer into Fedora linux (which is also installed on the flash disk).  This could also be very useful if you have small children and are looking for a good user environment for them.  One more note - as best as I can tell, when I boot into Fedora / Sugar, my hard drive is NOT mounted.  If I’m correct, this would mean that nothing a child (or anyone else) could do from Sugar could affect the data stored on your hard disk!

Well, that’s just a few programs that I’ve found to work on a USB Flash drive.  There are many others.  While access to other Authoring environments, etc, on a flash drive may be useful, many of these programs are licensed in such a way that (in my reading) would preclude such use.

My philosophy at this time is; if it’s licensed such that it’s not a violation to run it on multiple computers (Open Source, for example), and I think it might be a useful tool to have with me at all times, then I put in on the flash drive and see if it works.

Powered by WordPress