Wednesday, April 28, 2010

Etoys Class Reflections

Taught a class today, 4 kids (8, 10, 11, 12, 14) and 2 adults (Mom and Dad of two of the kids). First class with this group.

Started with "Daemon Castle" and then had them do "Etoys Challenge".

Observation:I had one child. Nick, who was laughing hysterically.  I went over and found him playing around making the car go tight circles, bounce off walls and he eventually figured out how to make it bounce off the walls until it reached the goal.  His father who sitting next to him, got a bit upset and told him he needed to focus on what he was learning and be more disciplined.  
This reminded me of something another coach told me while coaching Soccer "Never coach your own kid, (a) they won't listen to you and (b) they will listen better to another adult".  While I don't fully believe (a), I think they do listen, they just don't want to act like they do, especially in front of the friends, he made a good point. Also, in my observations parents are harder on their own kids then they are on others, especially with their first child.

I love to see kids laugh and having a good time in class, this means they are having fun and to me fun means MOTIVATION. I firmly believe motivation trumps most other things, as kids will work hard when motivated.  That said the father had a good point and I needed to find a way to turn that "silly fun" into what others have termed "hard fun".  So I let him finish his "Etoys Challenge" then when he told me he was done I stepped back and ran his scripts on each step.  I then challenge him to reach the goals using just one script.  I have observed a number of kids who use multiple versions of the script changing it along the way until they reach the goal. Again I let them do this and congratulate them on a creative way of solving the problem and pointing out there are many ways to solve the problem, but can they find a simpler more elegant way using only one script which doesn't change?
I always try to have one part of the class where I get them AWAY from the computers and preferably outside.  Today I broke them into pairs and have them "program" each other. One child, the programmer, would give instructions to another child "the computer".  I first had them try and program each other to "walk a square".  At some point one of the kids will say "turn" and the other knowing he is supposed to walk a square will dutifully turn 90 degrees.  I then jump in and ask the child to program me. When I am told to turn I will turn some random value (usually either a very small turn or a 360 degree turn) and they will get the idea and then ask me to turn 90 degrees.  One kid got excited and came up with the idea of I can go forward 10 steps, turn 90 degrees and repeat forever.  After complimenting him (kids love compliments) I asked him what was like repeat forever in Etoys? He said a ticking script.  At some point I made the connection, wish I could remember what brought it up, to how the cells in our bodies are like millions of little ticking scripts doing their own things responding to stimulus and working together to make us and how it is amazing that is.

IMPORTANT TEACHING NOTE: I try to never give a child an answer.  Instead I will either ask them a question or give them another problem that will help them figure out the answer themselves. Basically a hint in problem or question form.

What to do with kids who finish early?  
There are always those who finish faster than others I have a couple of strategies to deal with this:
  1. Have some problems or other Etoys Challenges they can work on
    For this lesson I had "Etoys Game Challenge" which the kids like because they can create their own games, very motivating for kids.
  2. Teach them to teachThis means having them help other kids, but the danger here is they will simply show the other kids the answers they found. I do my best to impress upon the kids that they should never give them the answer, but instead help the other child find the answer themselves by asking questions or getting them to think about how their program works (aka play computer). I try to model this and point it out explicitly a bunch of times early in the lesson so the kids understand my preferred style before I ask them to help teach. I then monitor the kids closely when they first start "teaching" other kids.
  3. Have the child teach an adult in the class
    The kids get a big kick out of teaching adults.When there are adults this is especially fun, the kids get a big ego boost (and motivation from feeling they are better that an adult at something) out of teaching an adult, and it shows them the adults don't know everything (a valuable lesson in life that kids figure out faster than most adults would like to believe).  The adults are usually good sports, but read your people some peoples ego's are fragile and you need to be sensitive to that.
  4. Have them improve or extend their current work
    For example their script may not be the simplest or most elegant (ex: turn 90, turn -45; one kid had turn 45, turn -45) or having a forward 10 tile in the YES and NO of a test
    Some kids will instantly see what they can do with Etoys and start creating games or other fun stuff. If I see this and they have completed the main task (sometimes even if they haven't) I will encourage them to improve their games or show them some basic Etoys functionality that they can use to improve their game or do what they want.
At the end of class I wanted to set them up for their homework (working on the 40 Mathematical Shapes challenge) and had them try and get their car's to "Draw a Square"
(Hmmmm, another idea to get them out of the computer and use the knowledge they already have is to have them "program" their hands to draw a square on a piece of paper).  While doing this one child asked: "What's this symbol here do?" He was pointing at the "add a variable" icon in the top bar of the viewer (looks like a arrow head in a pink background pointing down).  At the time we had a script on the screen to draw a circle (forward:5, turn:5) when I had a brainstorm.  Okay we can use variables to change the value for forward and turn (I am slow I can't believe it has taken me this long and a 14 year old kid to finally figure this out!!!).  So I showed him how to add the two variables and dragged the variables into the scripting tiles to replace the 5's and then asked him to make a square without changing his script. When he looked confused (a feeling I recognize because of my vast experience with this emotion) I pointed out,  a couple of times, that the car would move forward and turn by the variables we had setup. I did NOT point this out by saying it explicitly. Instead I simply pointed to the variable (i had dragged a detailed watcher onto the screen for each variable) and then pointed to the forward tile and asked him how far it would move forward. He eventually got the idea and I went to work with another child who had been asking questions. Then all of a sudden I heard and excited voice saying "Hey I made an Octagon!!!"  I then made a big deal out of his great discovery and pointed out how with one script he could make multiple shapes just by changing the variables. Then i asked him what other shapes he could make and left him to have fun.

Towards the end of class I sent them outside again to program themselves (as opposed to others in this case) to follow a road.  I drew a sample road and then gave each of the kids some chalk and observed.  Each child drew a different shape and I asked them what there program was for following the road. Fortunately one of the dad's who was there said the scripts we wrote reminded him of a robot they have at work do deliver mail.   I told the kids some folks have been paid a lot of money to write programs just like the ones they wrote today to follow the road (when my son heard this he asked for $100K).

The kids got the idea of programming a car that could drive itself, so I challenged them to program the "Car of the Future" and asked them to think about what kinds of challenges they would have and how they would handle them (other cars, pedestrians, traffic lights). One of the parent's suggested they test their program by having multiple cars drive in Etoys world at the same time.

Anyway a lot of fun was had by all and I had to kick the kids out as they wouldn't stop working on Etoys when the class was done. (a good sign and one I always see when kids are first exposed to Etoys).

Mr. Steve

Note for future reflection: On teaching kids to think about multiple ways to solve a problem and learning how to compare solutions.