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.

May 26, 2009

Scratch on XO Update

Filed under: XO Laptop, One Laptop Per Child, Scratch — kchesnut @ 8:37 pm

While I was trying the new version of Runtime Revolution on the XO this weekend, I also did a Software Update for the XO.  A new version of Scratch was downloaded and installed.

 The new Scratch is version 1.3.1 - just like for the PC and Mac!  I decided to give it a try.  In an earlier post, I tried Scratch on the XO - and couldn’t recommend it!  See the article here.  For completeness sake, I’m running build 767 on a standard G1G1 XO.

My impressions were somewhat improved this time:

  • Performance when dragging programming elements was good.  In my previous test, I noted that the dragging was so jerky that it was almost impossible to place the programming elements.
  • The screen elements are still very small.  This is probably just an old man problem… and it didn’t seem as bad without the jerkiness when placing programming elements.
  • I tried a pretty challenging (processing wise) flight simulator game from the Scratch website, see here.  This has several scripts running in parallel in forever loops with short delays (I think they are at about .1 second).  This game was very sluggish - but it did play!
  • The flight simulator game sound played for a while and then stopped.

Although I would still choose a full powered computer over the XO to work with Scratch, it is clear that the Scratch Team is working to make the XO a viable Scratch development platform.  And, for simpler projects, I think the XO would be fine with this current version of Scratch.

A few additional notes:

  • I don’t know if it is a Scratch or XO issue, I could not download the Scratch projects from the MIT website and open them in Scratch.  Although the files would appear in the Journal, they were not associated with Scratch.  I was able to move files to the XO using a Flash drive and the Terminal activity.
  • Suspend / Resume does work now.
  • I didn’t note during my original review that the version of Scratch for the XO doesn’t include all of the backgrounds, sprites, … available in the Windows version.  Some are included - but not all.

March 14, 2009

¿Puedes hablar con su computadora?

Filed under: Foreign Language, Constructivism, One Laptop Per Child, Edtech — kchesnut @ 2:48 pm

I’ve been thinking a lot about language learning lately.  I’m learning Spanish slowly… OK, very slowly.  One of the activities in learning a language is writing in it… in this case, writing about learning it.   I’ve pulled the following from my practice wiki.

“Estoy aprendiendo la idioma español.  Hay muchos partes aprender una idioma nueva.  Algunos de los partes inclue

  • Vocabulario 
    Necesita saber palabras suficiente to tener un conversación.
  • Gramática
    Necesita poder hacer las sentencias correcta.
  • Práctica
    Necesita práctica genuina construir competencia in la idioma nueva.  Este práctica incluiria escuchando, hablando, leyendo, y escribiendo.

Se puede aprender vocabulario y gramática solo con las estrategias de memoria.  Tambien, se puede practica escuchando, leyendo, y escribiendo solo.  Pero no se puede practica conversacion a solo.  Necesito un amigo, un amigo que sabe la idioma nueva.  Es muy bueno si un amigo sabe la idioma con mas competencia como ti.  Es muy bueno tambien si un amigo tiene los interéses común con ti.

¿Dondé buscaria para este amigo? 

¿En la familia y los amigos?
¿En internet, posible ‘facebook’ or notesinspanish.com?
¿En el grupo (club) de española?
¿En la programa de computadora?  ¡Me gustaria hacer este programa!”

OK, so my written Spanish is pretty sad.  But the gist of the quote is that you can’t participate in conversations by yourself.  You need a partner… who is at about your level… and it’d be really great if they shared your interests.

But… can a computer be your partner?  Could it be effective in helping you practice conversations? 

Well, I found a program that claims to let you have a conversation with it.  It’s for the One Laptop Per Child XO laptop and it’s called Hablar Con Sara.  Click here to get more information on the activity (OLPC for program).  Essentially, you hold a Spanish conversation with the program.  You type in a sentence, the program responds with audio using TTS (Text To Speech).  Can I use it to help me learn Spanish?  Not really.  But, from what I’ve learned playing with Hablar Con Sara I think that I can describe a program that could be used to effectively practice conversations in a new language.

Program elements:

  • Interface
    Like Hablar Con Sara, I believe an interface where the user types and the computer responds with audio can be very effective.  However, the program should encourage the user to speak his sentence and the interface should also include a repeat button (to have the computer repeat the previous spoken phrase).  Spanish subtitles of the spoken phrases could also improve usability.
  • Context
    Hablar Con Sara has no apparent context for your conversation.  This is pretty open-ended for language learners.  I suggest building a program with several context-based situations.  For example, a context might be something like going to lunch at a restaurant, going to a theater, or asking for directions on the street.
  • Limited Vocabulary
    Along with a context that focuses the conversation into a concrete, and usable, situation that the student might encounter, one could limit the vocabulary that the program uses and provide a vocabulary list as a learning aid for the student.
  • Better TTS
    Maybe it’s because there is no context for the conversation… or maybe it’s because I don’t have a big enough vocabulary in Spanish… but I have trouble understanding what the computer is saying.  Although I can adjust the pitch and rate of the TTS voice, I still find it hard to understand.  A better TTS engine (or, if possible, recordings - assuming a very limited vocabulary - might be more understandable).
  • More Platform Support
    AFAIK, Hablar Con Sara only runs on the XO laptop.  It would be nice if the program ran on PCs, Macs, and other Linux platforms, too.

 Problems with the proposed program:

  • Difficulty
    How hard will it be to construct a reasonable context (pictures, …)?
    How hard will it be to construct a conversation engine (that looks for trigger words in the learner’s  input and builds responses)?
  • Constructivism / Constructionism it ain’t!
    Use of the program in language learning could not be considered constructivist / constructionist learning.  One solution to this problem would be to create some sort of toolbox that allows students to create their own context-based conversations with pictures, trigger words, …

Strengths of the program:

  • The major strength of the program is that it can empower a student to take more control of her learning.

Does anybody see any merit in this type of program?  Does this type of program already exist and is used in language learning (and I’m just in the dark about it)?  Any comments?

Plan: I’ll try to put together a simple prototype in the next week or 2.  Anybody interested in seeing it?

April 13, 2008

XO Laptop Review

Filed under: XO Laptop, One Laptop Per Child, Scratch — kchesnut @ 3:47 pm

I know, I know, the XO laptop was designed as a constructive platform for kids in the developing world.  And I’m not one!  When OLPC anounced the Give 1 Get 1 program near the end of 2007, I wanted to find out what this little computer was like.  But… I didn’t have the money to spare at the time.  But I was able to get one of these G1G1 machines a couple of weeks ago on eBay.   

I believe a laptop computer with appropriate constructive software could be the most important piece of technology a student can have.  But I do have some issues with standard laptops for education:

  1. They are bulky and heavy (you would need to replace stuff from the heavy kids’ backpack, not just add to it).
  2. They are fragile.
  3. They are pretty expensive.

The XO appears to address all of these concerns. 

I’ve been evaluating the platform for 3 possible purposes:
(BTW - I recognize that none of these are the specific design goals of the XO.)

  1. A platform for learning Scratch
  2. A school laptop for my younger kids
  3. A backup business laptop

I’ll discuss my general perceptions before looking into these 3 specific purposes.

  • It’s small!  Much smaller than I expected.  The small screen is fine for young eyes - and even for me (when I get to the right spot on my bifocals ;-)  The keyboard is a little more problematic.  It is both small (see dimensions below) and covered with a rubber cover that makes the feel a little strange.  I don’t have large hands and I am getting used to typing on it (not touch typing yet).  The size is OK for my teenage daughter (rather petite) - but she hasn’t used it enough to be touch-typing yet.  The size and feel would be fine for smaller kids - especially for those not yet touch typing.  
    The picture at right shows the XO up against a Dell 1505.
    I’ve done a few measurements on other computers.  
    From the left edge of the A to the right edge of the semicolon: XO / Dell 1505

    • Standard keyboard - 7.25″
    • Dell 1505 laptop keyboard - 7.25″
    • XO laptop keyboard - 5.125″
  • It’s a little slow.  The XO takes about 2 minutes to boot up.  Activities (programs) take about 20 seconds to start.  Inserting a picture into the word processor takes about 10 seconds to open the file dialog.  Internet browsing seems sluggish.  Scrolling through large PDF files also seems sluggish.  However, switching between activities is fast.  See Wesley Fryer’s blog entry about the XO’s performance here.
  • The software is still in work.  A big missing feature is suspend and resume (which would obviate the slowness of booting).  Some activities aren’t quite finished.  The good news is that the software is operational, pretty robust, and development is ongoing.  Also note that shortcomings and problems are documented in the OLPC wiki.
  • As I only have access to 1 XO, I wasn’t able to evaluate the collaborative capabilities of the XO.  Too bad, they appear to be some of the most interesting and innovative aspects of the laptop.  For the same reason, I can’t say much about the mesh networking.

On with the evaluation!

XO as a platform for learning Scratch

  • Positive
    • There is a Scratch activity version for the XO laptop.  It is very easy to install (just navigate to the activities web page and download the Scratch-1.xo file using the Browse activity).
    • The Scratch activity launches quickly.
    • Scratch on the XO looks / acts just like on other platforms.
    • Unlike on other Linux platforms, the Presentation Mode works (see my earlier post here about Scratch on Puppy Linux and Ubuntu).
  • Negative
    • The standard Scratch screen has been scaled to fit on the XO.  This creates a real challenge for the eyes.  Buttons (especially on the dialogs) are very small.
    • MIDI sounds don’t work (same as on the other Linux platforms).
    • It is a little sluggish.  Dragging script components can be a little jerky making it hard to place them.
  • Overall
    • I would not recommend using the XO as a platform for learning Scratch at this time.  The screen is just too small to support the standard Scratch user interface (in my opinion).  According to the Scratch website, there is a plan to adapt Scratch for the XO (see here).  I’ll be happy to give it another try at that time!

XO as a school laptop for kids

  • Positive
    • The XO is small, light, and tough.
    • The XO has long battery life.  If I remember correctly (sorry, I couldn’t find a link), the OLPC web site estimates between 3 hours (backlight on) and 5 hours (backlight off).
    • The XO is usable both inside (with backlight) and outside (reflective screen mode).
    • Good range of constructive activities installed on the computer.
    • Many additional activities available on the OLPC website activities page
    • All the activities (and the Operating System as well) are Open Source and available at no cost.
  • Negative
    • Slow bootup and activity start times.  No suspend and resume (at this point in time).
    • It’s not fast enough for gaming (such as flash games on the internet) and videos (like You-Tube).  Although these activities are not typically considered to be “school work”, most U.S. students will expect a computer to accommodate such uses.
  • Overall
    • I think the XO will prove to be a very good school laptop. 

XO as a backup business computer (way outside the scope of the OLPC project)

  • Positive
    • The XO has long battery life. 
  • Negative
    • I haven’t been able to get it to connect to my corporate network (WPA, Leap, hidden SSID).   I bet this is possible (or will be in a future system build) but it’s not automatic.
    •  Slow bootup and activity start times.
    • Screen size is pretty small.
    • Keypad size too small for many men. 
  • Overall
    • I got quite a bit of ribbing for having the XO at work… it’s small size and color scheme attracts quite a bit of attention.  Not really a positive or a negative - just an observation.
    • I probably won’t be using the XO much as a backup business laptop.

In conclusion, the XO is optimized as a very low cost platform for constructive student activities - particularly in developing countries.  As such, it’s not really optimized for the uses I’ve evaluated.   

  • I consider the XO to be a good platform for a school laptop for kids - provided they understand its limitations in games and videos.  It will be an even better school laptop once suspend and resume are implemented.  I’ll know more on this as my daughter uses the XO for school work (assuming she’s able to wrestle it away from me ;-).
  • I think the XO may well be a good platform for learning Scratch once Scratch has been optimized for the XO’s screen. 
  • The XO is probably not a good platform for a backup business laptop.

November 21, 2007

What year is it?

Filed under: One Laptop Per Child, Papert, Edtech — kchesnut @ 1:50 pm

While reading today I ran across the following (rather lengthy) quote.

“Many cultural barriers impede children from making scientific knowledge their own.  Among these barriers the most visible are the physically brutal effects of deprivation and isolation.  Other barriers are more political.  Many children who grow up in our cities are surrounded by the artifacts of science but have good reason to see them as belonging to “the others”; in many cases they are perceived as belonging to the social enemy.  Still other obstacles are more abstract, though ultimately of the same nature.  Most branches of the most sophisticated modern culture of Europe and the United States are so deeply “mathophobic” that many privileged children are as effectively (if more gently) kept from appropriating science as their own.  In my vision, space-age objects, in the form of small computers, will cross these cultural barriers to enter the private worlds of children everywhere.”  (italics added)

When I read this, I immediately thought of Nicholas Negroponte and the one laptop per child project (laptop.org).  Actually, it’s from page 4 of Seymour Papert’s Mindstorms - Children, Computers, and Powerful Ideas.  Papert’s book was published in 1980.

Powered by WordPress