Your Name in BeetleBlocks

In December my school’s PTO approved my grant for a 3D printer. Yes!  Now we can print 3D artifacts using BeetleBlocks.  My idea for the 4th graders’ first project is to design a 3D model of their name using BeetleBlocks code.

20161210_141806

School name printed by school printer using Beetleblocks code

I started with one of my math enrichment groups first. They were my small group test of the idea. This group has played with BeetleBlocks but most recently had been making math games in Scratch.

It only takes about 5 blocks of code to write your name and make a cuboid to keep all the letters together.  It takes a little bit more time to make decisions about the size of the text, the size of the cuboid and where you want to put the block that keeps the letters together.

screen-shot-2016-12-28-at-6-54-32-am

basic code stub for project

I gave them the constraints that their name had to fit on the BeetleBlocks grid (20 by 20 ) but they could have their name with the support cuboid behind or below.

Screen Shot 2016-12-28 at 7.25.50 AM.png

Name on grid with support cuboid below

The technically difficult part was getting the STL files saved where I could access them and that only had to do with the way our computers are networked.

20161216_204842

3D print of name with cuboid behind

The students were really excited about everything and just wanted to sit around the printer and watch it print.

20161216_142746

I was able to print three names at a time. I would have been able to print all nine students names in the time allowed, but I got cocky and changed filament in the middle and that caused a jam that I was not able to resolved before the end of the day.

20161216_213419

3D prints in MakerGeek’s Crystal blue PLA 

You have to understand that the printer arrived at school on Monday and we were printing this project on Friday. On Monday, the 4th graders voted on the filament color for their grade (Crystal blue, by the way) and on Friday, during the middle of printing, the filament arrived!

Based on this experience, I made a one page handout 3d-model-your-name-in-beetleblocks for the next time.  The next group to try this will be the rest of the students in this class.  These first nine will be my experts and help the rest of their class code and export their models.  My goal is to have all three 4th grade classes code and print a 3D model of their name.  Then I’ll try it with the 3rd graders.

The only curious thing I’ve found with BeetleBlocks is the rotational changes that I have to either code up front or adjust in Cura (printer software) to get the correct orientation for printing.

screen-shot-2016-12-11-at-8-36-21-pm

Strangely, when I save the model on the left, it will import into Cura with correct orientation for printing.

 

Details about our 3D printer:  The grant was for a $400 Printrbot Play.  It is a small printer with a small print bed size – 100 x 100 x 120 mm.   The Play received a few nods from MakeMagazine and 3Dprint.com 3D printer guides. I also have 2 years of experience with Printrbot printers – we have a personal Printrbot Simple at home.

20161216_141121.jpg

Managing Code Club

Overall, I’m loving the independent projects that my two Code Club groups have chosen to create for their showcases.  They are working hard, mostly, and progressing. As project manager, I’m not stressing about the coding that is happening.

20161202_123932

Pair programming at recess

So instead of writing about managing the coding, I’d like to talk about behavior management. Here’s some things I’ve noticed:

  • Code Club can be loud. Scratchers want to listen to their sound assets and want others to listen, too.
  • Scratchers want to sit by their friends and share what they are doing.
  • Scratchers want to have fun while they are learning and
  • Ten-year olds enjoy the silliest things.

I don’t find anything wrong with these things. This is an after school club, not a classroom. I enjoy the energy and enthusiasm of a room full of Scratchers.  However I do need to have control of the energy level and keep the chaos in the “fun” realm.  I know what level of noise I can stand and manage.  There are also some behaviors that push my buttons and times when I miss catching behaviors before they create problems.

Here’s a couple of things I work towards:

  • Develop a routine.  This is important enough to spend valuable time on.  We gather at the beginning in a group, even if I’m not introducing anything.  We check in with each other and set a plan for the 75 minutes. It helps settle the students into the club.  I’d like to be better at setting up a routine at the end.  I’m usually working with students on last minute coding crises right up until the parents show up.
  • Get to know the students.  I know the HSS Code Club students and they know me – we see each other at school but the students from my other club I have to get to know quickly. They don’t know me either.
  • Set expectations. While we go over expectations during our first meeting, I rarely restate them unless something comes up. I do expect everyone to follow school rules, and respect others. “Friendly reminders” about those rules can serve as a warning.
  • Be yourself.  I’ve seen and tried a number of different classroom management styles. Some work for me and others don’t feel genuine when I use them.

For all that I’m a generally upbeat, cheery person, I do get grumpy and irritated. Too much noise makes it difficult to work on coding.  Spinning around in the chairs or messing with the things in the computer lab – not okay.  Playing with the whiteboard until it flakes out, argh (This issue became a discussion point at the beginning of the next meeting). Deleting someone’s code – hasn’t really happened on purpose but apologies must be made.  I had to remove a student from Code Club one day, but we worked it out and the student was able to return the next week. I have to thank the school staff and administrators for their support for this one.

To close, I’ll state that every issue is different and, while I don’t always handle them as best as I could, there are not enough switch statements to code responses to all possible behaviors. In fact, I don’t think Scratch has switch/case statements.

 

 

Tales of Hour of Code 2016

Hour of Code or Computer Science Education Week was well received by the school this year. Every class from Kindergarten to 4th grade had the opportunity to work on one of Code.org’s Hour of Code tutorials during their computer lab time. This is Code.org’s third year of promoting a week of computer science education and I’ve supported them each year by introducing these tutorials to my students.

screen-shot-2016-12-12-at-7-27-21-amThis year Minecraft and Moana were the big hits, as well as Angry Birds and Star Wars.  The tutorial options are a great way to give students choice in the learning and they are so fun.  Students can’t believe they can play Minecraft at school.  I like the new Minecraft Designer tutorial.  I felt it gave the students a peek at the code behind the game and allowed them a lot of freedom of choice and freedom to be goofy.  What 8 year old wouldn’t want a chicken that lays diamonds!  Meanwhile they don’t even realize how much they are learning about how to program.

20161207_141456

1st grade Hour of Code activities

I do like to see who has that algorithmic thinking skill and is able to solve the tutorial puzzles independently.  For 2nd graders in general, Moana and Minecraft have pretty difficult concepts, like algorithmic planning, iteration and events (in Minecraft Designer).  Some of them look to each other for help, sometimes I have to read the directions to them, sometimes I have to be Steve or the boat so they can see how it turns in place and moves forward.  One 2nd grader surprised me at how easy the tutorial was for him.  I called him a Coding God (they are studying Ancient Greek Gods right now). He thought that was hilarious. I hope he signs up for Code Club when he is in 4th grade.

 

In addition to general class Hour of Code activities, my three math enrichment classes completed their Scratch math games.  That’s 27 new math games coded by 8-10 year olds. Here are the 4th graders, and 3rd graders studios. This week they played each other’s games and gave feedback in terms of Two Stars and a Wish, as I have done in the past.  I love this step in the game engineering process.  The students have to take the time to notice and test each game and learn to give good feedback.  I’m hoping we get time to improve the games based on the feedback they receive.

20161208_103326

I will leave the option of Hour of Code activities for the rest of December – making it Month of Coding at our school!

There are so many tutorials at Code.org/learn.  I may have to try a few myself. I’ve been meaning to learn Javascript.

If Math Games, Then Hour of Code

Computer Science Education Week is upon us and my first batch of 4th grade Scratch math games are shared.  More will be completed tomorrow.  3rd graders have also been working on math games within my Scratch teacher account. I need to post those on our school website, too.screen-shot-2016-12-04-at-7-39-55-pm

I’ve been noticing a subtle misconception showing up with how my student are using the ask and answer blocks in their math quiz games.  When introducing the ask and answer block, I state that the two blocks work together. I talk about how the ask and wait is a Sensing block and is waiting for the user to type something and that something is held by the answer block.  I specifically say that these blocks come in a pair because I’ve had other issues with students type “answer” in the operator instead of using the answer block.

screen-shot-2016-12-04-at-7-26-27-pm

 

This year, I guess, the students have more complicated scenarios with multiple Sprites in play.  They set up one Sprite to ask the question.

screen-shot-2016-12-04-at-8-20-58-pm

and another Sprite to face the consequences of a right or wrong answer.

screen-shot-2016-12-04-at-6-57-26-pm

The logic seems okay unless you realize that other Sprite is not waiting for the input.  That is subtle for them to understand.

I realize that the answer block is a global variable and can be separated from the ask block. The code below works on a separate Sprite from the one asking.

screen-shot-2016-12-04-at-8-08-30-pm

However, my solution for the students was to create two broadcast messages: “correct” and “incorrect”. The broadcast event block is a powerful tool and a good block to get to know. Fourth grade teams were able to work on separate Sprites and code the ask/answer decisions in one and the receive broadcast events in the other and put them together to make cool projects.

screen-shot-2016-12-04-at-7-38-18-pm

 

Then, of course, there is what happens when you show a certain 4th grader how to make random math fact variables:

screen-shot-2016-12-04-at-6-54-49-pm

Yikes! I’m not sure how Scratch does it, but I love the fail soft aspects that make this a super awesome programming platform for kids.

More about Hour of Code as the week progresses.  I’m really looking forward to the week’s events.