Wednesday, January 26, 2011

Trading Cards - round 1

Programmers got a first look at their new trading cards in our January meeting.  Here's a sample:
I used sprites from the Scratch programs for the card icons.  Programmers got to choose the background they wanted.  Their "type" was based on the kind of program they created.  Their Level and 'powers' were based on the skills they used in their programs.

The Programmers were pretty eager to either continue work on their existing programs or to start fresh.  I saw some mad skills being used and a lot of learning and experimentation taking place in the 1 1/2 hours of our meeting! They also took some time to choose sprites and backgrounds for their next set of cards.  I'm eager to see what they will look like and how many Programmers will move up to the next level.  Great work, everyone!

Tuesday, December 21, 2010

Programming Trading Cards

Scratch trading cards!  As the Programmers learn new Scratch skills and put them into practice, we will keep track of what they are learning to do.  They will get points based on how difficult the skill is.  The points will determine what "level" their card will be.  They will choose between four different "types" of programming types, the background image and sprite, and other information to show on the card.  I am basing the card layout loosely on the Pokemon trading cards.

Here are the 55 skills I started with:

  • Change a sprite's direction by dragging it on the stage (5)
  • Change a sprite's direction in a script (5)
  • Choose a sprite (5)
  • Create a script that switches between costumes (5)
  • Edit a sprite (5)
  • Open a program (5)
  • Save a program (5)
  • Save a program as a different name (5)
  • Snap blocks together (5)
  • Tell about your program in the project notes (5)
  • Use 8 different blocks in your program (5)
  • After changing to way a sprite looks, change it back to the original look in a script (10)
  • Bring the sprite to the middle of the screen by shift-clicking on its thumbnail (10)
  • Change a sprite's color in the program (10)
  • Change a sprite's look (besides color) in the program (10)
  • Change an option in a block (number or drop-down) (10)
  • Change sprite's name (10)
  • Change the background (10)
  • Duplicate a script (10)
  • Export a screenshot of the scripts area by right-clicking and selecting "Save Picture" (10)
  • Import a sprite (10)
  • Make a script that asks a question (10)
  • Make a sprite say something (10)
  • Repeat a script forever (10)
  • Repeat a script the number of times you choose (10)
  • Send a sprite to an exact spot on the stage (10)
  • Troubleshoot a script using single-stepping (in the Edit menu) (10)
  • Make a sprite respond when different keys are pressed (10)
  • Use the Bounce command to turn a sprite when it touches the edge of the stage (10)
  • Use the same control to run scripts for different sprites (10)
  • Ask a question and save the answer (25)
  • Change the way the pen looks (color, shade, or width) (25)
  • Create a variable and use it (for example, to keep score) (25)
  • Export a sprite for someone else to use (25)
  • Hide a sprite (25)
  • Make a sprite draw (25)
  • Revise your program to make it easier to use or to run faster (25)
  • Show a hidden sprite (25)
  • Use a random number (25)
  • Use a Sensing block (25)
  • Use an "If" block (25)
  • Use math (Operators) in a block (25)
  • Use the "If/Else" block to make a choice (25)
  • Use the "Repeat Until" block (25)
  • Use the "Wait Until" block (25)
  • Change a sprite's rotation style (50)
  • Change an effect based on where you move your mouse (50)
  • Change an option by using a variable (50)
  • Make a variable to use in a script (50)
  • Use the "And" Operator block (50)
  • Use the "Broadcast" and "Receive" blocks to make one script cause another script to change or run (50)
  • Use the Timer (50)
  • Write a script for the stage (50)
  • Make a list to use in a script (100)
  • Use a slider (100)
Choose from these TYPES  
  • Artist    
  • Gamemaker    
  • Storyteller    
  • Teacher
To be at this LEVEL, you need this many POINTS
1   -     75
2   -   200
3   -   400
4   -   750
5   - 1000

Some of the background choices:

December 21 (Programmers)

 At our meeting this week, I proposed a new idea for Programmers - Scratch trading cards! Check the next blog post for more details.

I also showed the Programmers the Scratch cards developed by the Scratch team.  These are handy flashcards for trying new blocks.  There also are some short video tutorials on the website, too.  The best way to learn something new, though, is to just try it.  Here are some samples of what the Programmers worked on:

Hayden decided to make a game based on Lord of the Rings and is going to use a counter to keep track of how much power is left to his sprites.
I'm not sure what Asa's story will end up being, but after seeing his edits to the sprite, I'm already scared!
Elli put the Scratch cards to good use and started working her way through them one at a time.
Gordon also started a game.  He came up with a great script to make his sprite jump.

Tuesday, December 7, 2010

December 7 (Builders) Gears, Gears, Gears!

Gears are very useful for building powered contraptions with Legos but it takes some practice trying to get the teeth to sit correctly.  We started out with some simple gear trains and experimented from there.

Gordon's device used gears to turn a bucket that dropped "trash" into a dump-bed.


Josh made a crank-powered contraption (on a braced wall - go, Josh!) that turned a Lego monkey's tail.



 Here are a couple of good books and links for building with Lego gears:
LEGO Technic Idea Book: Simple Machines
Building Lego Robots for First Lego League (pdf)

Tuesday, November 23, 2010

November 23, 2010 (Programmers)

Our meeting this time focused on starting some Scratch programs. Programmers either began learning some of the basics of Scratch or worked independently on programs.  Beginners experimented with assigning different scripts to various keys on the keyboard.  They also learned they can assign multiple controls and scripts to different sprites.  Scratch is a free download from MIT.  You can find it at www.scratch.mit.edu

Here are some examples of what the Programmers started with:
Emily wrote a program based on our peanut-butter-sandwich-making meeting.
Brayden experimented with changing the sizes of the sprites.
Evan made a game.

Tuesday, November 9, 2010

November 9, 2010 (Builders)

Typically, when we are building structures with Legos, we have something specific we are building. That's particularly true in Building Club.  I want Builders to learn different ways to use the pieces, so that they aren't stuck with stacking bricks. Ships (sailing and space) are fine (and these Builders have already come up with some incredible models), but what if you want to build a trebuchet?  You need a little something more.

Shapes
So we are going to work up those skills and challenge the Builders to put pieces together in ways they normally wouldn't think of doing.  At tonight's meeting, we started out easy, by building a frame or square, then increased the level of complexity and ingenuity required to make a variety of projects.
Swingsets
Braced Walls (and a hammer)
How many Technic bricks do you have to stack before you can get the holes in a beam to line up with the holes in the bricks?*
Folded
Extended

Once everyone had practiced making solid structures, we made a simple structure that is meant to move. Several builders put theirs to use by adding hooks and picking up Legos when it was to clean up.  Great job, everyone!




* Six. If you want to make a shorter stack, you have to use plates, too.

Tuesday, October 26, 2010

October 26, 2010 (Programmers)

What do you do when a program won't do what you expect it to?

This year's group of Programmer wanna-be's found out when they tried to program ME to make a peanut butter sandwich.  Their objective was to tell me the exact steps I needed to take in order to make a sandwich.  Sounds simple and I did exactly what they said.  When they said "Open the bag of bread," I ripped a hole in the side of the bag.  When they said "Flip the bread," I did...so the peanut butter was on the bottom.

The point of the activity was to demonstrate how much we take for granted when we try to describe how to do something. We understand what we mean when we give a command - whether to another person or to a computer - so it often takes us by surprise when things don't go as we expected.  As I told the kids, computers are really very stupid.  They don't know anything or understand anything other than what we tell them. Sometimes we need to explain the extra steps ("Take off the twist tie.  Open the front of the bag.").  Sometimes we need to be more explicit with our language (there is a difference between "flip" and "rotate").  The great news is that once we understand what our expectations are, it becomes easy to describe those intermediate steps.

The kids did a FANTASTIC job.  Thinking back on it, I realize there were some times when I could have been more obtuse or contrary, but not many.  They learned quickly from my "mistakes" and fixed their "program" with very few hints.

After they were done, everyone wanted a peanut butter sandwich to celebrate, although nobody wanted the first poor, mangled sandwich.

Everyone wanted to know, "why not peanut butter and JELLY?" I thought we did well enough with just one sticky substance to deal with.