LearningForward

Kent Chesnut's technology in education blog.

August 7, 2010

More Second Language Acquisition - Part 1

Filed under: Foreign Language, Programming — kchesnut @ 7:37 pm

Second language acquisition seems to be a recurring theme on my blog!  A summary of the previous posts on learning a language (from oldest to newest):

  • Scratch in the foreign language classroom (April,  2008)
    In this post I proposed allowing students to build their own language worlds in Scratch.  Still a very good activity (I think).
  • Learning a Language like a 2 year old (January, 2009)
    In this post I compared how I am learning Spanish to how a 2 year old is learning her native language.  I discussed the differences and contemplated ways I could make my Spanish learning experience more like hers (and to hopefully improve the efficiency at which I can learn Spanish).  Major differences I listed were necessity, immersion, and authentic contexts.
  • Speeding up the Spanish (January, 2009)
    In this post I proposed a procedure by which my high school age daughter could more effectively use the “intermediate” Spanish podcasts that were assigned in her Spanish III class.
  • ¿Puedes hablar con su computadora? (March, 2009)
  • Can you talk with your computer? (August, 2009)
  • Can you talk with your computer? (Part 2) (September, 2009)
  • Can you talk with your computer? (1st Spanish Version) (September, 2009)
    In this series of posts I discussed a program I created that tried to allow for a conversation between the computer and the learner.  The algorithm used a picture for context and compared users’ questions / comments to a list of keywords to try to make a reasonable response.

I believe all of these were worthwhile endeavors… and each presented information that is useful for learning a second language.  But I’m not satisfied that I understand what would constitute great 2nd language learning.

What should 2nd language education include?  I think the list will include:

  • Vocabulary (nouns, verbs, adjectives… conjugation)
  • Reading / writing in the new language
  • Speaking / listening in the new language
  • Conversations with other learners in the new language
  • Listening / understanding of native or fluent speakers
  • Use of the new language in authentic and intensive sessions

What does a very effective 2nd language class look like in the 21st century?  In the next few posts I’m going to try to discuss examples of 21st century language classes that I find on the internet.

Anyone have a link to 2nd language instruction that they consider great?  I’d sure like to see it.

  

September 20, 2009

Can you talk with your computer? (1st Spanish Version)

Filed under: Xerte, Foreign Language, Programming — kchesnut @ 8:40 pm

Just a quick update on the foreign language conversation program I first discussed in March in my post  ¿Puedes hablar con su computadora?.  You can review the progress of the project (and its goals) in these posts: Can you talk with your computer? (Part 2) and  Can you talk with your computer? The first Spanish version is now online here.  A screenshot is shown below.

Screenshot for Spanish conversation program.

Features:

  • Simple conversation engine looks for key words in the users input and tries to respond.
  • Response is in textual and audio format.
  • Vocabulary is limited.
  • Spoken Spanish is rather slow.

Shortcomings:

  • No vocabulary page yet.
  • Conversation engine needs A LOT of work.
  • Auto-selection of the text entry field does not work when program is started (from a web browser).
  • My Spanish accent is pretty bad.

 Notes:

  • I received no reply on whether it was acceptable to use the Scratch media for projects such as this - so I decided not to.  I have grown fond of my character and decided to use him… he looks kind of like me anyway (unfortunately).

I’m not sure how far to pursue this project.  If any readers feel there is merit to continuing, I’d certainly like to hear about it.

September 6, 2009

Can you talk with your computer? (Part 2)

Filed under: Xerte, Foreign Language, Programming — kchesnut @ 6:43 am

As I discussed in my earlier posts  ¿Puedes hablar con su computadora? and Can you talk with your computer?, I want to build a simple program that will allow foreign language students to be able to practice their new language by having some sort of conversation with the computer.

 In a nutshell, you can practice reading, writing, and vocabulary by yourself.  But you need a partner to practice your conversation.  Now a computer will never replace the need for a human with which to practice communicating… but it may be able to serve as a partner when no one is available.  This conversation needs to be within a specified context to make it more concrete.

 Well the first version of my conversation program is online here.  A screenshot is shown below:

First pass of conversation program.

Status:

  • A simple conversation engine looks for key words and tries to respond based on keywords it sees in the student’s input.
  • The conversation is in English at this point.  I’m not sure if I’ll do the translations myself (the language will be simpler, but probably less accurate) or ask one of my kids to do it.  Best bet would be to do the translation myself (I can control when it gets done) and then ask my oldest to review / clean it up.
  • The program is text only (recorded audio is simple, but I didn’t want to record all the English… I’ll wait for the translations). 
  • I haven’t compiled the word lists yet; I’ll need to get the translations done first.
  • I thought talking to a character might improve the authenticity of the activity.  I’ve stuck a stick figure in there for now.  I’d really like to use one of the sprites from Scratch, but I’m not sure if that would pose a copyright problem.  I’ve put a query in on the Scratch forums to try to find out.  See here.
  • For some reason, when running online the focus is not in the text entry box when the program starts up.  I’m sure this is fixable, but haven’t had time to look into it yet.

In the next week or two I’ll try to get the Spanish and audio into the program.  Oh, and I’ll spend some time trying to improve the conversation engine.

 As always, comments are always welcome.

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, 2008

Scratch - It’s Elementary #2

Filed under: Scratch, Programming, K12 — kchesnut @ 2:50 pm

In my last post, I discussed a project that I feel would be appropriate for upper elementary students.  I noted, however, that I thought it (the car driving simulation) would probably appeal much more to boys than girls.  In this second post about Scratch as a constructive learning environment for upper elementary students, I’ve selected a project that I thought may appeal more to girls - a virtual pet simulation.

 Virtual Pet Screenshot

A screenshot of the project is shown to the right.  Run the project here.  Download the project file here.  As it is now, the project is not very interactive.  All you have to do is click on the egg and make sure the food doesn’t run out.

So what can an upper elementary student learn from making such a project?

  • Scratch programming constructs and modular programming.  The project uses loops, conditionals, broadcasts, and sprite / edge detection.  
  • Debugging and troubleshooting techniques. 
  • And hopefully she will have some fun!

One of the things I like best about the project is that there are so many ways to enhance and improve it.  A student could choose to:

  • make the project with any kind of pet - either from the wide array of art provided with Scrath or by drawing his own.
  • If he wanted the butterfly, he could have it metamorph from a caterpillar instead of hatch from an egg - luckily, we’re not talking science here ;-)
  • Keep track of the pet’s age.
  • Add variables to keep track of the pet’s happiness and provide a way for the user to play with the pet to increase its happiness.
  • Add the capacity for the pet to “poop” and provide an interesting way for the user to clean up after it.
  • Allow the pet to start smaller and grow to full size as it ages / eats.
  • Make a cage on the screen for their pet to live in.  When they are finished playing, allow the pet to escape by opening the pen and allowing the pet to find his way out and return to the wild.
  • Fix the bugs in the program… where the butterfly gets caught along an edge for a while occasionally.

Would an upper elementary student find such a project engaging?  Any comments? 

On reflection, the motion in this project may make it a little too advanced for an upper elementary student.  If a student chose to attempt a project such as this, it might be better to encourage her to do it without the motion at first.  As a second step she could add very simple motion… glide to the food when the pet gets hungry.  Finally, she could add some sort of randomness to the motion.

May 19, 2008

Scratch - It’s Elementary

Filed under: Papert, Scratch, Programming — kchesnut @ 8:44 pm

I’ve blogged about Scratch being a good learning environment for kids.  But my examples have tended to be at the Junior High level (or possibly higher).  For the next few posts, I’ll be looking at projects that I think could be generated by an upper elementary student.

This week we’ll look at a simple car game.Car Game Screenshot  A screenshot of the game screen is shown below.  The objective is simple, drive on the road.  The referee will complain if you drive in the grass.  Run the program here.  Download the project file here.

So what can an upper elementary student learn from making such a project?

  • Scratch programming constructs and modular programming.  The project uses loops, conditionals, broadcasts, and sprite / background detection.
  • Concepts such as scaling (see below).
  • Debugging and troubleshooting techniques. 
  • And hopefully he will have some fun!

The hardest part of this game is trying to connect the car angle to the steering wheel angle.  If you think about how a car works, the car angle keeps changing as you hold the steering wheel in a fixed place (as long as you’re not going straight).  The student can use his body to do the Turtle Walk (see Papert’s Mindstorms Chapter 3 for a good explanation of this) to help troubleshoot this functionality.  Additionally, a program like this allows the student to progress as far as he wants.  He could make a lot of improvements, including…

  • Improve the steering to make the car easier to drive.
  • Add a lap counter.  A lap timer.
  • Add sound effects.
  • Add a second car and make a 2 player racing game?

Would an upper elementary student find such a project interesting and motivating?  I think many boys would… but I’m not sure that this would appeal as much to girls.  Any comments?

May 3, 2008

Hypercard Lives!

Filed under: Revolution, Hypercard, Macintosh, XO Laptop, Programming — kchesnut @ 3:02 pm

The year was 1990 (give or take a year).  I wanted to replace my PC - an old CPM80 based Xerox.  My oldest son was 3.  I asked a few of my coworkers if there was a computer he would be able to use.  There was only one answer - the Apple Macintosh.

So I bought a Mac Plus.  It came with HyperCard 1.x.  I had never seen anything like it.  It was a programming environment where you actually started with a screen and worked downward.  As a System Engineer versed in assembly language and C (for embedded applications - which usually had no user interface at all), it was a real eye-opener.  I was teaching a Sunday School class for early elementary students and soon found myself lugging the “portable” Mac + to Church regularly for use with my class.  I could put together a lesson stack or a review activity in HyperCard that the kids could actually use productively! 

I upgraded to HyperCard 2.2 for about $100.  It was a good investment.  I continued to use HyperCard as I moved to a Mac Quadra 605.  My interest in education grew and I started working on a Master’s Degree in Instructional Psychology and Technology  at the University of Oklahoma in 1995.  Guess what tool we were using in our first class… HyperCard.

Many moons have come and gone and now I use PC’s.  I currently do my educational programming in Authorware or Flash.  Both are more powerful in some ways than Hypercard.  But in terms of putting together a simple database with a simple user interface, HyperCard still has its advantages.  I have followed the development of some HyperCard offspring over the years… SuperCard (Mac only), MetaCard (PC & Mac), and most recently Revolution (PC, Mac, Linux) - but hadn’t really worked with them.

As I mentioned in an earlier post, I’ve recently acquired an XO laptop.  I thought it would be nice to be able to write programs for it… a high level authoring system would really be nice.  Especially, if it allowed the kids to expand the knowledge base - which would be a constructive activity in line with the XO’s goals.  HyperCard came to mind.

Of course, HyperCard wouldn’t run on the Linux based XO (well, maybe with an emulator, see here).  I tried a program called PythonCard which was billed as a HyperCard-inspired development system with Python as the scripting language.  I didn’t see the heritage!  I then downloaded the 30 day trial version of Runtime Revolution’s Revolution 2.9 Studio and started to put together a simple stack based application (English / Spanish vocab stack with tags and sorting) to try out on the XO.  I chose the Studio version (retail $399) instead of the Media version (retail $49) because Revolution has no player for Linux at this time (the website indicated that one is in the works) and the Studio version was required to save as a standalone application.

Running the stack on the XO turned out to be disappointing.  The XO was very sluggish and also tended to lock up occasionally.  So for now I’m not considering Revolution a good development system for the XO.  Maybe I’ll look into this a little more later.

However, I am very impressed with Revolution and do want to talk a little more about it. 

  • If you are running Windows or a Mac and don’t need to generate a standalone program (i.e. you don’t mind running via a player program - much like the original Mac HyperCard), you probably don’t need the $400 Studio version.   The Revolution 2.9 Media edition will likely fill your needs.  And at $50 it is half of what I paid for HyperCard 2.2 in the early 1990’s!
  • The documentation noted that Revolution can import old HyperCard stacks.  To give this a try I pulled an old Mac laptop out of the closet and booted it up… yep, it still booted!  Then all I had to do was find a PC diskette (getting harder each day!) and I had a couple of HyperCard stacks on my Dell.  Revolution did indeed open the stacks - but they did require some massaging to get them to work.
    • I used messaging a lot in my stacks.  In HyperCard, the construct looked like “send <messagename> to stack”.  In Revolution, this must be changed to “send <messagename> to this stack”.
    • Some of the message names I used turned out to be key words in Revolution.
    • Fonts and graphics have to be adjusted - mainly due to the much larger screens available today.
  • HyperCard graphics were all bit-mapped (think Paint).  Revolution supports both bit-mapped and object based graphics (think of a drawing program).  Object based graphics are much easier to change or resize later.
  • The capabilities of Revolution are extensive.  Database interfaces, XML Support, internet support ranging from http and ftp down to socket level communications (which I haven’t tried any of yet).

I only see a few downsides to using Revolution.

  • I’ve noticed short pauses when running stacks on PCs (running both the player and the stack from a USB flash drive).  The only time I’m sure I’ve seen this is in delayed response to button presses.  I’m not sure what causes this - it may be something I’m doing wrong.
  • I don’t think there is a browser based player to permit easy delivery via the internet.  Note that the Studio ($400) version says it will ”run as CGI process on web servers”.  This may allow for internet delivery, but it doesn’t seem as straightforward as flash. 

I’ll keep at this a while.  I’ll try to finish my Vocab stack before my 30 days expire.  I’ll supplement this post if I run across any major problems or really impressive features.

March 20, 2008

Scratch - Limitations

Filed under: Constructivism, Scratch, Programming, K12 — kchesnut @ 7:40 pm

While I’m still a big advocate of Scratch as a constructive environment for children to learn programming along with powerful ideas in mathematics and science, I have run across several limitations.

Limitations are common in engineering.  Limitations - often referred to as trade-offs - are a part of every project.  I had one coworker (Electrical Engineer) who used to say - “I can do it fast, good, cheap; pick 2 out of 3.” 

In a classroom situation using Scratch to demonstrate a concept, I suspect students will run across these limitations occasionally.  Usually, all that is needed is a creative trade-off.  I can’t figure out how to make _____, but this other idea I can do is pretty good.

In my efforts to think through ways in which Scratch could be used by kids in a classroom situation to demonstrate their knowledge of a scientific concept, I started thinking about Radiocarbon dating (OK, so I have odd thought patterns!).  Suppose the class has 20 - 25 kids and 5 computers.  What could a teacher do to make a constructive use of Scratch to help kids understand Radiocarbon dating.  The following came to mind.

  • Break kids into 5 small groups.
  • Break out the basic concepts of Radiocarbon dating… I break them down as
    • How is Carbon 14 created?
    • How does Carbon 14 break down?
    • What is half-life?
    • How does the concentration of Carbon 14 change over time?
    • How does Radiocarbon dating work?
  • Allow the groups to choose one of the questions to study.  Each group studies their question (with the teacher acting as a collaborator / consultant as needed) and creates a Scratch project to demonstrate the concept.
  • The groups present their projects to the class and answers questions from the rest of the class.

I think such projects could let the kids assume multiple roles; researcher, designer, programmer, teacher, and mathematician (at least in 1 or 2 of the projects).  Do you think the students’ understanding of Radiocarbon dating would be enhanced by such an assignment?

OK, back to limitations.  The most mathematically complex of the questions has to do with the concentration of Carbon 14 over time, so I started thinking about how one might construct a Scratch project to demonstrate his knowledge of this concept (and teach the other classmembers).  Several ideas came to mind - and met with the limitations of Scratch.  Ideas and limitations included:

  • Given a starting number of Carbon 14 atoms, calculate the number of C-14 atoms at times in the distant future.  But Scratch has limited math capabilities.  The concentration decreases as an exponential function.  Scratch has no provision for trig, logarithmic, or exponential functions. 
    Trade-off?  Increase time by half-lifes and hard code in the number of C-14 atoms at each time.
  • Somehow graphically represent the  number of C-14 atoms remaining.  Well, we could draw a sprite for each C-14 atom and have them disappear or change colors as time increases.  But Radiocarbon dating is good to about 60,000 years or 11 half-lifes.  To have even 1 C-14 atom left after 11 half-lifes, we have to start with 2048 sprites.  But Scratch has limited sprite capabilities.  To manually create and place the 2048 sprites would be a tremendous amount of work. 
    Trade-off?  Maybe draw a graph of the number of atoms over time manually and have a pointer sprite move along the curve as time changes to illustrate the passage of time.  (I used Excel to do the calculations and draw the curve).

Radiocarbon dating project

 My project looks like the picture to the right.  This project does illustrate the concept pretty good.

  • Students can see that the number of C-14 atoms drops off over time.
  • The concept of half-life can be explained from the project.
  • Students can see why radiocarbon dating wouldn’t be good for really long periods of time (sensitivity of detection / measuring equipment becomes extremely critical).

Run the project here.  Download the project file here.

The biggest problem I have with the project is the graph… for several reasons:

  • Students probably don’t learn about exponential curves until their upper High School years (anyway, my Sophomore daughter in Algebra II hasn’t yet encountered them in any meaningful way).  It’s also not clear at what age a student would have sufficient experience with both the math (exponential functions) and Excel (creating data sets and charts) to be able to create the graph.
  •  Given the curve, a 6th or 7th grade student (11-12 years old) could probably create the project.  However, I doubt that the graph (with C-14 atoms / 10’s of thousands of years) will really convey the information to a student of this age.  Some sort of interaction allowing them to change the half-life or time scale interactively may be better - but beyond Scratch’s capability.
  • It is likely possible to let Scratch draw the graph as a series of lines (a sprite moving between points with its pen down) at half-life intervals.  Then the student could play with several variables (starting C-14 atoms, half-life, total time, …) and get a better feel for the concept.  In my experience with other development environments, this isn’t so hard to do for a particular data set.  But if one wants to be able to change things to see what happens, one must implement some sort of auto-scaling - which would likely make the project too complex for students younger than high school.

So what can I conclude???  Scratch is a powerful environment for constructive learning.  However, it has limitations, some of which I’ve mentioned above.  As project complexity increases and knocks on the door of Scratch’s limitations, one needs to design clever trade-offs or consider moving to a constructive environment with more capability (such as NetLogo, MicroWorlds, and probably Squeak).  As always, I’d certainly appreciate any comments and suggestions.

P.S. Another limitation is that Scratch does not allow for string variables - nor does it support the methods normally available in Logo to manipulate string variables.

February 8, 2008

Scratch - Cell Biology

Filed under: Constructivism, Scratch, Programming — kchesnut @ 8:27 pm

My daughter’s high school biology class is studying cell biology, specifically the names and functions of the organelles.  She said they were simply memorizing all this stuff, and wanted to know if there was a better way to learn it.  I assured her that since rote memorization is probably the worst method possible, I was positive that there were better ways.

I suggested she try to organize the organelles by functionality and hierarchy (some are a part of, or in other organelles) and learn that way.  Unfortunately, I didn’t see a constructive approach to this task (simply learning the names and functions of the organelles).  But I did see see this as an opportunity to see if something could be done in Scratch that was in line with my idea of kids building tools and simulations as part of their understanding of school concepts.  Ideas that came to mind include:

  • simple 2 player review game (not really as constructive as I would like, but something I believe a high school student could do)
  • simulation of the cell (sounds pretty tough to me!)

I picked the simpler, the game.  See the project here.  Download the project file here.

Cell Game

Play the game as follows:

  • Click the green flag (not shown in picture) to initialize the game. 
  • Clicking the cat generates a question and fills in the organelle the question is about.
  • A team representative presses the A key (team 1) or the L key (team 2).  The question is reshown for the team who pressed first and displayed for “Host’s Answer Time” seconds (defaults to 5 but can be changed by the players).
  • After the time has expired, the teams are asked if the selected team answered the question correctly.  If they answered correctly, they are given a point.
  • Click the cat to generate another question and continue as above.

Implementation notes:

  • Starting with a cell picture with the organelles numbered was very convenient.  Background picture is from http://en.wikibooks.org/wiki/Image:Biological_cell.svg and licensed as Gnu Free Documentation License (GFDL) and Creative Commons Attribution Share-Alike license.
  • I simply used random to decide the organelle to choose and the type of question (name the organelle or tell the function of the organelle).
  • To simplify the program and also make it better for reviewing, I included both the name and function of the organelle in the answer feedback.

Some of the things I want to consider for these projects was mentioned in a previous post…

  • Estimate the grade level of students who I believe could generate a comparable program.
    • I think Junior High level kids could generate a comparable project.  I think a 6th grader could create most of the project with a little help here and there.
  • Estimate the grade level of students who I believe could understand the program, discuss the strengths and weaknesses of the program, and possibly improve it.
    • I think 5th and 6th graders (10 - 12 year olds) could understand the scripts and discuss the project.  Those with some Scratch experience could probably improve the game.
  • Estimate the amount of time I spent putting the demo together.
    • I spent about 2 -3 hours playing with this.  Additional time was spent reading / learning about the organelles.
  • Provide sample discussion questions.
    • What would make the game more fun?  Can you change the project to implement your ideas?
    • Are there bugs in the game?  Can you find a way to exploit the bugs for your advantage?  Better yet, can you fix the bugs?

In conclusion, the cell game is not the kind of constructive project I want to examine in this series.  But since I had put it together, I thought it made sense to discuss and reflect on it in this post.

Next Page »

Powered by WordPress