Wednesday, April 6, 2011

My first game with Kodu!

Today I played "Kodu". I made a game that was very fun! You would have to collect ten apples to win, and there was a fish that was worth 5 points.

First I hade to put a "Kodu" in the world, then program him/her to move around under my control, and also to eat apples. Then I added characters and objects, and programed them to eat each other, an the last one "alive" won.

Then Daddy and I played the game I made, against a computer ran character. We ended up winning, because the "cycle" kept going around in cicles until someone bumped it.

Dad's Take:
We've been tech busy in the past few weeks, but mainly playing games. I think I mentioned before that Gidget is participating in a "Girl Games" study being conducted by a friend at Gonzaga U. That's been fun, playing Nancy Drew, etc.

This is Spring break week so we decided to do some more programming. This time with MS Kodu, an icon-based programming interface. Really pretty cute. You click to add pre-made characters to the "world" then use the iconic programming to make them interact with the environment and other characters. You choose a "when" and when that state is met a "Do" is invoked. Here is a sample screen shot of the programming interface:


Using this model, Gidget was able to program a competative apple eating game. She created 3 characters, one controlled by each of us and an NPC. The objective was to see which character could eat 10 apples first. She even programmed the game to keep track of the score and announce a "Winner" when a character reached 10 apples. Here is the screen shot of an early iteration of the game:


Overall, this is a fantastic interface and she likes this programming much more than Python. Can't say that I blame her. While the feedback is nearly instantaneous in both cases, in Kodu, it is visual rather than text-based and you can create a complete game in a very short amount of time.

In terms of this being a literacy exercize, she was gaining a fundamental understanding of "if/then" statements, the core of actual programming. She's learning about interactivity by creating it. Most importantly, the tool itself is allowing her to be creative. It is not a paradigm-changing creativity, as there is no room to move beyond the pre-programmed constraints of the interface, but she is using the tools available to express herself in a fairly impressive way.

I'll post more on this as we move forward.

JM

Monday, January 17, 2011

Gidget's Gadget Blog - Entry #1

Today I learned to program Python! I learned that computers are very picky, because when I forgot " the computer said ERROR! I also learned that you type a math problem like16/2 the computer would give the answer 8.  I learned computer math symbols, *is the multiplication sign, - is minus, + is plus, and /is the division  sign.

I also learned if I typed print " now what I type in here, the computer types back." (after I press enter)

One of the things I did was add a math problem in with a sentence, and the computer would solve the problem and put  the answer in the  sentence.  For example, print "five times two equals" 5*2 -  the computer would write five times two equals 10 5*2= 10.

Here is one of the programs I wrote:                                                                                             #variables demonstrated
print "This program is a demo of variables"
v = 1
print "The value of v is now", v
v = v + 1
print "v now equals itself plus one, making it worth", v
v = 51
print "v can store any number to be used elsewhere."
print "for example, in a sentence. v is now worth", v
print "v times 5 equals", v*5
print "but v still remains only", v
print "to make v five times bigger, you would have to type v = v* 5"
v = v * 5
print "there you go, now v equals", v, "and not", v / 5


Dad's Take:
So we finally started working through the basics of Python together today. I had us follow an online tutorial (http://www.sthurlow.com/python/), which was a little tedious for her, since I made her type everything rather than copy/paste as it suggested. But I think that a significant part of learning this is in repetition. If Gidget keeps typing "print "blah, blah, blah"" over and over again, she will eventually remember the pattern for making the program print something. Same with the syntax for programming the computer to do math problems. She needs the repetition of  seeing that *=multiplication and / = division, to get in the habit of using those.

I find that this type of repetition is particularly useful when you are talking about programming, which is so picky about requiring that things be entered exactly in order to work. Overall, she did an excellent job and was very excited about the two programs she wrote. The first was a simple print program which made the computer output Mary had a little lamb. The second was the more complicated variable program above that incorporated print commands with variables and math problems. She wanted to keep both and has them on her desktop still.

More programming to come at a later date. But we finally got started with the blog.
Thanks to MLK day for giving us the time to sit down and work through this.

JM

Wednesday, October 27, 2010

Introduction to 21st Century Literacy in Action

I am currently sitting in a hotel room in Anaheim, California preparing a conference presentation on a "Comprehensive Definition of ICT Literacy for the 21st Century." This presentation is a strict research piece which looks to establish technology and media literacy as a core value of American society. As an information-based economy which relies heavily on both understanding and creating digital media, the need for one unified definition of what it means to be a literate individual in the Information Age is critical. This definition will allow citizens, policy makers, educators and researchers to communicate effectively with each other to clearly express their expectations for and evaluate the outcomes of literacy education. Given this background, I think that it is equally important to get this information "out there" for the general public. While traveling to make the presentation I came up with the idea of flouting the standards of conventional research publication by creating a blog in which to chronicle the developing literacy practices of my children.

First entry:
I was pleasantly surprised last week when my 3rd grade daughter informed me that she had to do research on (O)possums for school and that she would, despite it not being required, like to use her computer to make a poster displaying her findings. I thought it was a great idea and asked if she needed any help. She said that she didn't, so I went back to my own projects while she got to work (I'll post a screen capture of her poster at a later date). She requested my help with copying and pasting images, but needed to be shown only once before she got the hang of it and started creating her poster. Eventually, I also showed her how to create a table to keep her information and pictures organized, which she then used very effectively, even figuring out how to change the cell colors by herself.

The poster, and more-so the technical expertise, was impressive so I asked her how she knew how to do it all. Her answer was that she had learned it from watching me and talking to me about the work I was so often doing while she was in the room playing Webkinz. More importantly for me, she stated that she learned from trying to do it herself. I find this critical and central to my own philosophy on developing technology literacy. In order to ultimately be successful, people learning about technology need to have self-confidence. I find that the core of this self-confidence comes from the knowledge that, no-matter what you actually do on a computer, as long as you have saved your work, you can't screw-up so badly that you won't be able to recover. The second stage of this, and the reason that my daughter has her own computer, is that children in  particular, need to have the freedom to experiment with any software and hardware that they are interested in with the parental support and oversight to know that, no matter what they do, they won't be punished or break their computer.

So this has been the inspiration for creating this blog and I hope to also have her create an associated blog (or create entries in this one) about her experiences with technology both at home and in school which she will share. So this probably won't go over as hard-core research, but I think the value of telling the story of how real children develop technology literacy is far beyond peer review, and hopefully has a bit more relevance in the long-term.

Looking forward to reader comments and suggestions going forward.

Justin Marquis PhD