Coding Helpers

On Wednesday I decided to introduce Scratch to a class of second graders.  Wednesday’s schedule in the lab is such that there is an overlap of about 10 minutes with 4th grade alternative recess.  With the growing interest in coding among 4th graders, sometimes there are 4th graders waiting around for a free computer at the start of their recess.  I decided to put this fact to use rather than let it aggravate me. (They can be noisy while waiting).  I figured they could help me introduce Scratch to these 2nd graders.

screen-shot-2017-02-16-at-10-13-34-pm

My goal was for the 2nd graders to add a background and a Sprite and make the Sprite do something when clicked.  I sort of sprung the project on both groups but it worked out well.  The 4th graders, as a whole, were very helpful and the 2nd graders were pretty excited with all the choices. It amazed them that a couple blocks of code could make their Sprites interactive.  I was proud of my 4th graders for their enthusiasm and their ability to share their expertise in Scratch with the younger students.  More 2nd graders were able to get support while trying something new.  I’m pleased.

screen-shot-2017-02-16-at-10-07-11-pm

On other fronts, there are eighteen 4th graders signed up for Code Club.   Sadly, I’m competing with another after school program – Drama Club – so I have only 2 girls on my roster.

 

 

 

OLYMPUS DIGITAL CAMERA

Code to Print

Code Club is on a break until the end of February. Meanwhile 4th grade students have been coding during alternative recess opportunities when the lab is available.

I have seen a growing interest in coding in BeetleBlocks now that we have a 3d printer available to print artifacts and I am quite thrilled.  Most 4th graders have had an introduction BeetleBlocks when we used it to print their names (I have one more 4th grade class to schedule), but printing names of their friends or teachers still interests them.

OLYMPUS DIGITAL CAMERA

Some 3d printed names

Some are just curious to print a single shape – cube, cuboid or sphere. Spheres are the hardest to print – even with a small cuboid base, they don’t print very well.  Students seem to love the prints that “blow up” as well as the successes.

I asked the snowman creator to add a cuboid below so the print would be successful, and it was.

screen-shot-2017-01-24-at-11-49-00-am

Snowman artifact

Recently I printed a cannon that a student had made in BeetleBlocks for a social studies report on the Middle Ages.  I asked him to break the code into 2 parts – the barrel and the base thinking that would help the print be successful.  It printed out well enough.  We glued it together with a 3d pen.

20170202_100616

Cannon printed in 2 parts, glued together with a 3D pen

What surprises the students the most is the size of the print compared to what they see on the screen.  Even though we went over the the numbers translate into millimeters.  I try not to scale anything but instead make them go back to the code and change it there.

Recently I printed a pair of rings.  There have been some other rings coded but this was the first project that reached the export to print stage. The 4th grader had started on Monday and measured her finger (with the mm calipers) to code a tube of that diameter.  Then we added a sphere on the top.  That was all we had time for on Monday.  On Wednesday she came in with a list of code she had written down.  She had worked on the project at home and didn’t know how to save it so she wrote down the code and brought it to school.  She also measured her friend’s finger to print one customized for her.

screen-shot-2017-02-04-at-6-39-03-pm

BeetleBlocks rings

OLYMPUS DIGITAL CAMERA

A pair of printed rings

It only took a few minutes to print.  The size will need some tweaking, but I suspect I will be printing more rings in the future.  We’ve shared the project for others to see or use.

In September I wasn’t sure what 4th graders could do with BeetleBlocks and every week they surprise me with their creativity.  I hope to report more on their explorations in the coming months.

 

screen-shot-2017-01-12-at-5-52-13-am

Forever, Until Done

I’ve been noticing interesting uses, or misuses, of Scratch’s ‘forever’ block.  I applaud Scratch for it’s fail soft policy and understanding the desire of 10 year olds to test things, especially to their limits.

screen-shot-2017-01-12-at-5-52-13-am

Nested forever loops will get the job done

The ‘forever’ block seems pretty self-explanatory and perhaps that means I don’t introduce it properly. My students tend to use it in 3 ways: repeating actions, for event listeners and for looping background music.

screen-shot-2017-01-12-at-6-18-45-am

Repeating an action forever

I introduce the forever block after introducing the repeat block.  Once they know about it, there is no going back!

In many games you wait for a certain action to happen to respond to it. One way to do that is to code some ‘if statements’ and set them in a forever loop, like an event listener in other coding languages.

screen-shot-2017-01-12-at-6-15-12-am

Listening for the win condition

Many, many students want use it for play background music for their games.

screen-shot-2017-01-12-at-5-54-27-am

Two dance tracks in a forever loop.  Both seem to work, together.

And I think it is with the ‘play sound’ block where things gets confusing.  I am a proponent of ‘play sound until done’ in a forever loop, and the Scratch Wiki concurs, but it seems to work without the ‘until done’ if it is the only thing in the forever loop.

screen-shot-2017-01-12-at-6-18-55-am

Even without the ‘until done’ this code plays the whole song in an infinite loop

Other things I’ve seen makes me wonder. Why did the Scratcher feel the need to use the forever block?  Was some other code interfering with their action?

screen-shot-2017-01-12-at-5-57-33-am

What would cause the need for show in a forever loop?

Or are they just testing things to see what works and what fails.

screen-shot-2017-01-12-at-5-52-59-am

Forever and ever and ever and ever, just in case repeating 10 to the power of 109 times isn’t enough!

Thanks Scratch for not failing them.

screen-shot-2017-01-08-at-8-55-18-pm

Don’t Laugh

The projects for our showcases are finished and have been published on the Scratch site and I’m compiling them onto our school Code Club page in preparation for our final meetings this week when the parents come to see what we have been up to.

screen-shot-2017-01-08-at-7-40-19-pm

Chatbot and Pong game in one project

There are some pretty impressive projects.  And the students’ hard work is evident.  Maze games, Chatbots, Races, Survivor games, Pong types:

screen-shot-2017-01-08-at-7-36-30-pm

Space Pong – hit the portal that matches the ball color.

Then there’s The Epic Game where there are 4 games in one project.  The two girls working on this one came in at recess to work on it and were really motivated to meet their goal of finishing it.

screen-shot-2017-01-08-at-7-44-31-pm

The Epic Game – it took epic effort.

They learned a lot about game flow, how to use broadcast effectively and how making one seemly insignificant change can break everything. And about testing, testing, testing. I thought I would need to show them Rik Cross’s Cheat Codes, but their chatbot like game flow let us quickly get to the game that was having issues.

I’m really proud of all of these projects and coders, even the two, possibly three, Try Not To Laugh projects.  Yes, it seems we have a dancing llama infection.  The first TNTL project was a dancing llama project from Showcase #2 called Super Awesome Llama Man. I wasn’t that impressed with the project makers plan or effort, but it fit his personality and every single 4th grader who sees it seems to think it is hilarious in it’s absurdity. This year the llama man Sprite is back in a couple of Try Not to Laugh projects.  Also is a walking taco and troll face.

screen-shot-2017-01-08-at-8-17-40-pm

Llama is back – TNTL

I okayed one TNTL project but when two students project derailed because they couldn’t agree on how to proceed with their joint project, I okayed their change to a TNTL project.

 

screen-shot-2017-01-08-at-7-34-03-pm

So many llamas

I tried to find funny gifs other than the llama, but they all love the llama.  Really, it’s not funny anymore.

 

20161216_142746

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.

 

 

20161207_141456

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.