LearningForward

Kent Chesnut's technology in education blog.

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.

January 25, 2008

Scratch - Phases of the Moon

Filed under: Scratch, Logo, Programming, Edtech, K12 — kchesnut @ 10:00 pm

As I mentioned in my last post, I’ll be creating some Scratch projects similar to what kids might when using Scratch as a constructive tool.

I’ll repeat the ground rules from my last post…

  • I’m not trying to create a program to teach the kids anything (I’ll have a hard time remembering this!).  I’m building a demonstration program similar to what the kids could build as part of a constructive activity as part of an inquiry into a subject.
  • These demonstrations will be created using the simplest constructs.  If there’s a clever, sophisticated way to do something and a brute force simple method, I’ll try to resist my normal inclinations and use the simple method.  This will better allow me to appraise the age of kids who could make such a program or understand and discuss such a program.
  • Recognizing that kids will do a program and then be ready to move on, I’ll try to restrain my tendencies to go back and optimize the projects.  (I know I’ll do some… it’s just too much in my nature. )

 Now, on with the phases of the moon.  The 5 requirements for the project are:

  1. Consist of the Sun, Moon, and Earth.Moon Script
  2. The Moon will orbit the earth.
  3. The side of the moon facing the Sun will always be lit.
  4. A mechanism will help the observer know what portion of the Moon is visible from the Earth.
  5. A separate picture will show the Moon as observed from the Earth.

 View the project here, or download the project file here.   The script for the Moon orbiting the Earth is shown in the image to the right.

Implementation notes:

  • The drawing tools in Scratch made it very easy to create the Moon and Earth.  Motion of the Moon around the Earth is a simple circle with the Moon stopping each day to allow us to see where it would be and how it would look.
  • Scratch allows you to select whether a sprite rotates as it changes direction.  The Earth is set to rotate.  The Moon circling the Earth is set to not rotate.
  • The red line that marks the area of the Moon that is visible from Earth is a simple line sprite that has the same motion as the Moon.
  • The view from Earth Moon image is simply 28 different costumes for the sprite.  The costume changes each time the Moon moves.

Some of the things I want to consider for these projects was mentioned in my 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 (may be within Vygotsky’s Zone of Proximal Development).  I’d really like input on this!  Any readers want to provide feedback on my estimates???
  • 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 simulation.
  • Estimate the amount of time I spent putting the demo together.
    • I spent about 2 -3 hours playing with this.  Much of that time was trying to figure out if there was a better way to show the view from Earth.  I settled on a costume for each day - there’s probably a more elegant way to do this… but using the costumes is well within the ability of the kids I mentioned above.
  • Provide sample discussion questions.
    • What’s wrong with this simulation?  (The fact that the Moon moves around the Earth in the wrong direction is one of the things wrong.)
    • Can you modify the simulation to make the Moon orbit the Earth in the correct direction?
    • How do the real phases of the Moon look different from those shown in the View from Earth?
    • Why do the real phases of the Moon appear to be crescents?  Why does the simulation always have the light / dark separation as a vertical line?  (besides the laziness of the author, think in terms of a 3 dimensional sphere lit from one side verses a 2 dimensional circle)

Well, what do you think?  Suppose you have a class of 6th graders in Science studying the Moon.  Suppose you come up with 4 - 5 concepts, break the class into small groups, and let them “Scratch” out a simulation to demonstrate their concept.  (This would include investigating the concept, coming up with simple requirements for the simulation, designing and implementing the simulation.)  Then allow the groups to show their projects to the class and discuss questions such as those I included above. 

Would the students learn the concepts better?  Would they be more (intrinsically) motivated?  Is this practical?  Why or why not?  I’d really like to know.

January 15, 2008

Stuck Record

Filed under: Scratch, Logo, Programming, K12 — kchesnut @ 8:54 pm

As I’ve been thinking back over my past posts, I’ve noted a recurring theme (or a stuck record).  It seems that when devising constructive activities, one of my suggestions is always to have the kids use Scratch to build a simulation, …  (See the 3 part Scratch in the Classroom series of posts to learn more about Scratch; part 1, part 2, part 3.)  In particular, part 3 has about 10 specific suggestions for how kids could use Scratch in a constructive way.

I decided it’s time to put these ideas to the test.  In the next few posts I’ll create demonstrations of a few of the various applications of Scratch that I’ve suggested.  These projects will not be elaborate or professional - The goal will be to use Scratch in a manner similar to how students could use it in a constructive learning environment.  For each demonstration, I’ll

  • Estimate the grade level of students who I believe could generate a comparable program.
  • 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.
  • Estimate the amount of time I spent putting the demo together.
  • Provide sample discussion questions.

A few things to remember concerning these posts…

  • I’m not trying to create a program to teach the kids anything (I’ll have a hard time remembering this!).  I’m building a demonstration program similar to what the kids could build as part of a constructive activity as part of an inquiry into a subject.
  • These demonstrations will be created using the simplest constructs.  If there’s a clever, sophisticated way to do something and a brute force simple method, I’ll try to resist my normal inclinations and use the simple method.  This will better allow me to appraise the age of kids who could make such a program or understand and discuss such a program.
  • Recognizing that kids will do a program and then be ready to move on, I’ll try to restrain my tendencies to go back and optimize the projects.  (I know I’ll do some… it’s just too much in my nature. )

First up, a simulation of the phases of the moon.  I should have it posted within a week.

January 12, 2008

EdTech Goals for 2008

Filed under: Logo, Scratch, Programming, Edtech, K12, Motivation — kchesnut @ 3:27 pm

As the new year approached, I was involved with the conversation on Will Richardson’s blog post “Some New Year’s Dreaming“.  The conversation moved toward how schools could be damaging to kids, how to make them better, …  As a parent (not professionally involved in education), I struggle with - and blog about - ways that I can be involved in improving education.

It was a fortuitous time for me to think about this… as I was working on my personal goals for 2008.  The conversation on Will’s blog helped me formulate my own educational technology goal for 2008.

Create / implement a series of 3 short term projects (1 week daily - maybe 2 months of Saturday AM) that will increasingly engage small groups of kids (< 15) in constructive and relevent learning situations in an effort to mitigate some of the damage done by schools and possibly (hopefully) provide a model for more successful project efforts.  At least one of these will be geared toward one or more of my own children.  At least one of these will be geared toward those less fortunate and provide opportunities for one or more of my children to contribute. 

Note: I contemplated pulling the section about “damage” out as it may come across as offensive.  Please read the comments on Will’s blog for context.

In thinking about how to implement such projects, I’ve concluded that Churches would be a good venue.  Ours (Fresh Start Community Church) is in Moore, OK, in one of the less affluent areas of the city.  We have an after-school program for neighborhood kids that I suspect will provide some students.  It’s handy that we also have a computer lab.  Other Churches in more urban areas have partnered with schools in a project called Whiz Kids.  These partnerships may provide a fruitful place to begin.

To get started, I’ve proposed 2 such projects at my Church

Saturday Scratch Camp – Children will learn the basics of computer programming and discover creative applications using the Scratch programming environment.  For information on Scratch, see the following links http://scratch.mit.edu and my blog entries about Scratch;  http://g4classes.com/learningforward/?p=7 (What is Scratch), http://g4classes.com/learningforward/?p=12 (Scratch Compared to NetLogo), http://g4classes.com/learningforward/?p=15 (Scratch uses in the classroom).  The idea would be to meet with the kids for 2 – 3 hours for 4 – 6 Saturdays.  Appropriate grades would likely be 4 – 8.  The kids would work on projects of their own choosing and the adults would facilitate brainstorming and problem-solving. 

Writing for a Global Audience; be a blogger – Children will learn the basics of blogging.  This may be more appropriate for Junior High age kids (and they will need to have permission for internet access) although the fifth and sixth graders probably have the requisite skills – but maybe not the inclination.  There are numerous blogs on the internet on all possible subjects – very good ed tech blogs (my area of interest) are http://www.speedofcreativity.org and http://www.weblogg-ed.com.  My personal blog is http://www.g4classes.com/learningforward (not too great - but an example of an amateur blog).  The idea would be to meet with the kids for 2 – 3 hours for 4 – 6 Saturdays.  The kids would be provided with blogs and could work as individuals or small groups to write about their interests.  One (somewhat risky) alternative to this blogging idea could be to provide guidance on how to implement a MySpace web presence.  I know this would motivate the kids – but might be too controversial.

I’d appreciate any comments on my proposals - and any other ideas you might have that would help me meet my goal.

December 23, 2007

Public Schools, Private Schools, Samba Schools

Filed under: Papert, Logo, Edtech, K12, Motivation — kchesnut @ 8:05 pm

In Mindstorms - Children, Computers, and Powerful Ideas (published in 1980), Seymour Papert seemed to foresee that schools would leave the great potential of the computer as a constructive tool largely untapped.  We can clearly see this - schools now have a significant number of powerful computers - but most are used to teach keyboarding, Microsoft Office, or to “look stuff up” on the internet.

In Chapter 8, Images of the Learning Society, Papert discusses possible venues that might be used as models to create learning environments that support the use of the computer in a way compatible with his ideas - “one that helps us not only to learn but to learn about learning.”  (page 177)  One of those models discussed is the Brazilian Samba school.

The Brazilian Samba school model is fascinating to me.  Papert describes the samba school as a social organization that forms for a specific purpose (to perform in Rio’s carnival), is composed of a few hundred to a few thousand people of various ages, works together as collaboative co-learners to put together their performance.  In this post, I’m going to make a few comments about the samba school model and then try to come up with educational examples that may fit with the model.

The samba schools:

  • Are voluntary.  It appears that people choose which (if any) of the various samba schools they want to be a part of.  This would appear to enhance intrinsic motivation.
  • Allow for significant choice.  There are lots of tasks associated with preparing for the carnival… and it appears the members can choose which activities to be a part of.  Also an intrinsic motivator.
  • Don’t allow for infinite individual choice.  The schools as a whole appear to set their goal, and then work together.  I assume an individual can’t change the direction of the whole group.  This fosters a sense of community and teamwork.
  • Provide for intergenerational interaction / teaching / learning.  This wouldn’t always be just the adults telling the students how to do something.  I suspect the more mature sometimes rely on the younger to come up with and develop new ideas. 
  • Provide for collaboration between novices and experts.
  • Provide authentic tasks / learning experiences (making costumes, choreography, learning to dance, …) within a real-world context (preparing to perform in the next carnival).

OK, so my goals don’t include travelling to Rio to perform in the carnival.  I want to understand and encourage constructive thinking and learning using technology.  Are there educational programs available that include some of the attributes of the samba school?  Let’s do some brainstorming…

  • IEEE Future City
  • Botball
  • After-school Computer Club (possibly with Logo Mindstorms / LCSI MicroWorlds)
  • Saturday Computer Camp (possibly Scratch or NetLogo Programming)
  • AECT’s ISMF (Association for Educational Communications and Technology International Student Media Festival).
  • Maybe there could be an after-school or Saturday club to explore the use of various web 2.0 tools - like blogs.  However, I think this kind of task would be best situated within one of the other clubs.  For example, someone in a botball group may choose to blog about the progress of their project.  Or the IEEE Future City group may use a wiki to collaborate on the design of their city, …

All of the above are voluntary and I belieive will allow for the kinds of constructive efforts that Papert described in the samba school.  I also believe they would foster intrinsic motivation.  Future City and Botball are competitions with a pre-specified goal - very much like the samba schools.  ISMF is a competition but with many choices for products.  These competitions supply an overall goal and real-world context.  The computer club / computer camp ideas are more geared for individual exploration and goals - in these the individual would be setting their own goals.

Does anyone have experience with such clubs / competitions / festivals?  I’d love to hear your thoughts on them.

Now I’m sure I’ve missed some really good ones!  (For example, I know there’s a small school district in Canada that hosts an international media competition - but I don’t remember where it is!)  I’d love to hear from readers (assuming such people exist) with additional ideas.

December 8, 2007

Scratch in the Classroom (Part 3 of 3)

Filed under: Scratch, Papert, Logo, Programming, Edtech, K12 — kchesnut @ 10:00 pm

One of the hardest aspects of blogging for me is determining what to name my posts!  Here I am in part 3 and have yet to talk about using Scratch in the classroom.  Oh well, I’ll try to do better.

In this last segment I’ll reflect on what Scratch can be used for in the classroom (reveiw Part 1 for an overview of Scratch as a programming environment and Part 2 for a comparison of Scratch to NetLogo).  Again I’ll note that these uses are compiled from others I read, including Gary Stager, Wesley Fryer, and Seymour Papert.  See Blogroll for links to Stager’s and Fryer’s blogs.  Papert is the author of Mindstorms  - Children, Computers, and Powerful Ideas.  However, it’s possible that I may contribute something to this conversation - hopefully!

Ways that Scratch can be used in the Classroom:

  • As a programming environment to allow kids to learn programming (and powerful Mathematic and Scientific principles - see Papert’s Mindstorms).
  • To create a slideshow (for a book report, history report, …).
  • To create a narrated slideshow (digital storytelling).
  • To create an animated story, cartoon, …
  • To create an animated story, cartoon, … with sound (narration, character voices, sound effects)
  • To simulate a science principle.
  • To simulate a math problem.
  • To design a set for a play or design a layout for a room.
  • To block out the movements of characters on the stage for a play (I saw this in one of Gary Stager’s posts recently).
  • To make a video game.

I think all of these would be valid uses of Scratch in the classroom.  However, in line with Constructionist thought, any of these activities could be vastly improved by encouraging reflection, discussions, and explanations of what was done, why various design decisions were made, …

I would have liked to create an example of each of these uses and explain how they could be used in the classroom - but I don’t have that much time or energy at the moment.  So I’ll settle for 1…

This link will demonstrate a simple physics principle (trajectory motion) in the context of juggling (pretty much laid out as Papert described in Chapter 4 of Mindstorms) that I think would be appropriate in a secondary Physics course.  Oddly enough, the balls move significantly faster when playing in the Scratch environment… they seem a little slow on the internet.  The motion of the balls is described by the script shown here.

Toss from Left Hand

This script is executed when the tossleft message is received - it simulates a throw from the left hand to the right hand.
The main part of the script executes only when the ball is in the left hand (AtLeft = 1).  The ball ignores the message if it is flying or in the right hand.
A loop of 101 passes calculates the differential x and y positions.

The 3 degree turn is just eye-candy; it looks nice for the balls to be turning at different rates.

When the ball is about at the apex (programmable with GlobalTossTime), a message is sent to toss the ball in the right hand.  (Actually the message is sent to all the balls, but only the one in the right hand responds to it.)
When the ball arrives in the right hand, the AtRight flag is set.
The X and Y positions are cleaned up so the juggle doesn’t walk across the screen.

The tossright script (tossing the ball from the right hand to the left hand) looks very much like the tossleft.  Each of the 3 balls have scripts that are very similar.  (The main difference is that ball 3, which starts in the left hand, ignores the first tossleft.)  A link to the project file is here if you want to look at it.

So what kinds of questions could be discussed in a secondary science or Physics class based on this simulation?

  • How are the equations of motion in the script similar to those studied in class?  How are they different?  Why?
    Probably similar to X(t) = Xo + Vx * t, Y(t) = Yo + Vy *t - 1/2*g*t^2
    (Does WordPress have an equation editor????)
  • What does it mean that the equations in the script are implemented as differential?
  • Where do the constants in the script come from?
  • Do the balls move as the equations of motion predict?  Are there anomalies - caused by bugs in the program?  Can you find the bugs?  Can you fix them?
  • Do the balls move as they do in the real-world (affected by the assumptions in the equations of motion)?  What kinds of forces would we need to add to better reflect the real-world situation?

I a reader can think of any other ways Scratch can be used in the classroom, I’d appreciate hearing about them.

November 14, 2007

Scratch in the Classroom (Part 2 of 3)

Filed under: Scratch, Logo, Programming, Motivation — kchesnut @ 10:17 am

In this 2nd of 3 posts about Scratch in the classroom, I’ll look at how Scratch compares to NetLogo.  Last summer, I led a computer day camp in conjunction with my Church’s summer fun days.  We used NetLogo to teach kids basic Logo programming.  I’ve been thinking about how Scratch compares with NetLogo for teaching kids programming and math concepts and will elaborate on my thoughts here.

From the NetLogo website (http://ccl.northwestern.edu/netlogo/docs/):

“NetLogo is a programmable modeling environment for simulating natural and social phenomena. It was authored by Uri Wilensky in 1999 and is in continuous development at the Center for Connected Learning and Computer-Based Modeling.

NetLogo is particularly well suited for modeling complex systems developing over time. Modelers can give instructions to hundreds or thousands of “agents” all operating independently. This makes it possible to explore the connection between the micro-level behavior of individuals and the macro-level patterns that emerge from the interaction of many individuals.”

From the Scratch website (http://scratch.mit.edu/about):

“Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web.

Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design.”

OK, back to the computer camp.  It’s clear that NetLogo was not designed specifically for kids.  LCSI’s Microworlds (http://www.microworlds.com/) would have been a better platform.  But since our network had about 12 computers (and we had a limited budget), I chose to stick with free programs.

I looked at several free versions of Logo including NetLogo, MSLogo and Elica.  I found NetLogo significantly easier to use.  But why go with Logo in the first place?  One could also use BASIC or Java.  The main reason - Logo allows you to get things working on the screen much, much quicker than any traditional programming language.  The kids need only know about 3 commands; pd(pen down), fd (forward), and rt (right turn) and they can start using these primitives to draw on the screen - and learn powerful math concepts.

The basic methodology for the computer camp was as follows:

  • I supplied cards that had selected commands, syntax, …
  • Made sure kids understood that programs that don’t act as expected aren’t bad - or wrong; they just have bugs and need debugging.  And almost all programs have bugs!
  • We’d read through a help card or two.
  • Kids would try out the commands.
  • I’d encourage some specific activities.
  • Kids would work on projects of their choosing with help from me or my helper.

Various activities included: stick drawings with the turtle, chaining commands together, procedures, total turtle trip theorem, turtle walk, branching, …  Activities I specifically encouraged included: draw a square manually, use a procedure to draw a square, use a procedure to draw a triangle, use the square and triangle procedures in another procedure to draw a house (requires debugging).  But most of the time, the kids worked on projects of their own choosing.  Things the kids really liked included: drawing patterns (boys tired of this faster than girls), using setshape to make the turtle look like something else (like a car driving across the screen), working with multiple turtles (Note - Boys will go to the extreme on this multiple turtle thing.  Within minutes of telling them how to generate multiple turtles, the boys’ computers started to hang.  I found that boys tend to go from 1 turtle to about 999,999.)  Challenges included: typing skills in lower elementary students, syntax issues (you really have to put those spaces in the right places), need to remember to send commands via the turtles or the observer (a NetLogo concept).

 I am currently contemplating a Saturday day camp for learning programming with Scratch.  I think Scratch can help overcome several of the challenges associated with NetLogo.

  • Selecting programming elements from panel instead of remembering or referencing the help cards.
  • Dragging and Dropping programming elements instead of typing.
  • Shape-based syntax should alleviate many of the syntax issues.

But what am I (I mean, the kids) missing using Scratch instead of Logo?  Seymour Papert in Mindstorms - Children, Computers, and Powerful Ideas describes some important concepts that children learn when they start programming - like drawing the figures (squares, shapes, trees, birds) and debugging them (turtle walk) when things don’t quite go right.  And don’t forget the important geometric principle of the total turtle trip theorem.  As I started working with Scratch I kind of skipped right over a lot of that.  Within a few minutes I could make an airplane fly across the screen.  Would the kids learn those important basics?  (Of course, I could encourage or even try to make the kids do activities similar to those listed above.  But one of my goals is to foster intrinsic motivation for an academic endeavor - like programming.  And to do that, I really want them to spend their time working on projects that are personally meaningful, not assigned tasks.  Somebody - probably Papert or Gary Stager - referred to this as “hard fun”.)  At this point in time I think that this won’t be a problem.  The kids will quickly run into roadblocks in their programs and need the basics.  This personal desire to learn so that they can move forward with their own project will probably create a very effective learning moment.  (For example, I started writing a simple Scratch program like the old Pong game.  It’s easy to detect impacts between the ball and the side of the screen or a sprite - the player’s paddle - but what do you do then?  First try will probably be to have the ball deflect by a fixed angle… Not quite right!  Ah!  The perfect opportunity to talk about “angle of incidence = angle of reflection” and “number of degrees in a circle”, …)

In conclusion, I consider Scratch a very good choice to use with kids learning programming.  This could be done within the classroom, in a computer class, or in a non-academic setting (like the Church class I held last Summer).  As for me, I think it’s time to re-read Mindstorms and start formulating some goals for a Scratch camp!

As my background is in engineering, I focused on Scratch as a programming environment in the first 2 posts about Scratch.  But I’ve been quite impressed with the flexibility of Scratch - it’s much more than just a programming language.  In my final Scratch post (that sounds kind of funny!), I’ll look at other ways Scratch can be used in the classroom.  Stay tuned!

Powered by WordPress