BeetleBlocks Tower

My math students are coding a tower in BeetleBlocks.  This is a project that I have wanted to do since a 4th grader last year designed a tower in BeetleBlocks. He called it the Sears Tower.

Sears Tower

4th grader designed  Sears Tower

I set up the engineering project with the following constraints:

Engineering Task: Use the Shapes menu blocks cube and cuboid to build a tower.

Constraints: 1) You must use at least 5 Shapes blocks. 2) Each shape must stack on top and be smaller than the shape below (no overhanging blocks) 3) The total height must be 100 mm or less (but greater than 80mm) 4) the base must be 35mm x 35mm

When I introduced the project I said we would use the Engineering Design Process  (Ask, Imagine, Plan, Create, Improve).  I explained the constraints and let them ask questions. They would need a written plan of their design with a bit of pseudocode* before I would let them on the computers.

(*I used the word pseudocode and one student thought I said Sudoku.)

Drawing from the Center

Next, I explained a bit about how the beetle draws the shapes from the center.  This is the big concept for this project.  They would calculate the center height, move the beetle, draw the cuboid, move to the center of the next cuboid, etc.   I modeled an example of a plan and pseudocode on graph paper:

OLYMPUS DIGITAL CAMERA

Pseudocode on the left, block tower start on the right, z height line in the middle.

One thing I learned was drawing the model in 3d wasn’t necessary, in fact, it was probably confusing.   The students’ models were easier for all of us to understand if they drew them in 2d and just concentrated on z height and moving the beetle to the center of the next cuboid.

We spent the rest of the class period working on their plans. One student was going to use a repeat block and make a tower of all the same blocks, so I had to change the constraints to specify 5 *different* cuboids.  A number of students were stuck on the calculations from the center.  I suggested they move to the center, draw, move to the top, move to the next center, draw, etc, breaking the problem up into smaller parts.

The next time we met I reviewed BeetleBlocks coding and suggested they use Wireframe to see inside and the beetle at the center of their block.  BeetleBlocks also displays Position (the 3-d coordinates) of the beetle, so they know the z-height.

Screen Shot 2018-05-28 at 9.36.18 AM

Partially coded tower and wireframe displaying beetle at the center of the upper cuboid.

If they were happy with their paper plan they could go right to BeetleBlocks. About half the class finished their coding by the end of the class and I’m busy printing towers on our little Printrbot Play.  Another thing to note is that the minimum size of the cuboids should be 3 mm for ease of printing.

A few of them will need improving before theirs will be printed.  I noticed a few cases where the blocks were nested not stacked on top of each other.  This tells me the student is not coding z-height correctly, which is the concept I am trying to teach, beyond calculating centers of cuboids.

Screen Shot 2018-05-28 at 9.47.36 AM

Nested blocks showing me the student hasn’t coded z-height correctly.

Set versus Move (Change)

There are two different ways to code the beetle to change z height.  One way to set the beetle to a specific z coordinate and the other is to move or change z by a certain amount.  These are two different perspectives to use and I let them choose which way makes more sense to them.  Set versus change statements can be confusing when programming and cause unexpected results.  Here we can look at the model using the wireframe setting and see what is happening.

One student is making a pyramid of blocks, each block 1 mm smaller (width, length) and 2 mm in height than the previous.  He is hard coding each block.  I’m going to suggest he use a repeat block and a variable.

Screen Shot 2018-05-28 at 9.53.41 AM

Code suggestions on the left for the pyramid making tower code on the right.

This project is turning out well and I’m learning a lot along with the students. I can print each one in less than 2 hours by setting the infill to 10% and cranking up the speed.

I’m surprised no one has created a double tower or thought to rotate on the z-axis to give the tower a bit of twist.  Dare I suggest these things?

Presenting at Showcase #10

Today was my 10th Code Club Showcase. I am so proud of all my coders.

We had a variety of projects, most of them well put together.  It always amazes me when they come together.  I’m also amazed at the ease the students have to present to the parents. I don’t really give them a choice and they really come through.  Today was no exception and I got to see something wonderful happen.

During our snack, I went over how the Showcase would go.  The parents will be the guests and they get to sit at the computers and play the Scratch projects. Each student will present their own project for the parents.  They will pick someone to demonstrate the project (play the game) on the interactive whiteboard while they stand up front and present.  I have them fill out a half sheet of notes about the project, including how to play, the goal, their favorite part and how they would have made it better if they had had more time.  It is basically the same presentation notes from Showcase #2 with an added line for who will play the game while they are speaking.

I had only one team of two students, the rest were individual project makers. This duo created Yharmin Boss Battle (which breaks my “no weapons” rule, but that’s another post).

Screen Shot 2018-05-06 at 7.26.53 PM

The duo started as a pretty good team with equal effort but the coding was done mainly by one student and the other spent a good amount of time “off task”.  I really felt he wasn’t holding up his end of the project, but the project got done.  I noticed when they were filling out the presentation notes, this same student was leaving it up to his coding partner to do the presentation.  I told him they needed to divide up the presentation so that each of them would have things to say, much to his chagrin.  When it was their time to present and they were standing up front, the coding partner suddenly froze and couldn’t speak.  I could see his anxiety on his face and so could his parent. I told the non-coding partner that he would have to step up and present for the team.  He started to tell me that he couldn’t but realized his partner was not capable of presenting right then. I was so proud to see him step up and really come through for his partner.  He began their presentation and by the time he got to their favorite part and what they would have added if they had time, the coding partner had recovered and both of them were talking and sharing their wonderful project with us. Bravo!

At about this time I noticed another student hadn’t filled out his presentation notes, so I gave it back to him to fill out. He is a natural in public speaking and he probably didn’t need prompts, but it is good to have just in case.

 

Screen Shot 2018-05-06 at 7.07.12 PM

Falling Down Game

 

Sometimes it is the simple games that are the most fun and addictive.  Check out Falling Down Game and Geo Dash for this group’s takes on some classics.

And thank goodness for girls who code for they add the puppies and unicorns to brighten the showcase.