Getting Them Ready

We’re already half-way through the fall Code Club session for 4th graders. Now is the time when they start working on the design of their own project.  Having the opportunity to create their own game is pretty much why they come. My job is to get them ready to be successful in this venture.  To this end, I try to present lessons that help them learn programming concepts that they will want to use in their game design.

After eight Showcases and 108 projects, I feel have an idea of the essential programming concepts students will be using in the games students like to make.  We move fast and don’t get the chance to do more than introduce these concepts – it’s more learning to code than learning computer science.  It’s a start.

Screen Shot 2017-11-16 at 8.06.44 PM

Get the taco to the Scratch cat

Here’s what they will want –  A Sprite they can control with arrow keys to move around their game.  (The maze game).  A Sprite that can chase after them (Cat and Mouse).  Both of these projects introduce sensing as well  – in the maze game you are forever checking if you touch the sides and in both, you are forever checking if you won.

Screen Shot 2017-11-16 at 8.08.34 PM

You’re the banana. Don’t let the monkey eat you.

They might want to keep track of a score or set a time limit.  (Ghostbusters)

Screen Shot 2017-11-16 at 8.01.13 PM

Click on the Sprites when they appear to get points.

Screen Shot 2017-11-17 at 5.25.16 AM.png

From experience, some of them will want a game with gravity. It’s a concept that I don’t usually spend any time on but this year, from talking with the students, I could tell there will be some platform games in the works.

Screen Shot 2017-11-16 at 7.56.40 PM

I used Code Club World’s Flappy Parrot project to introduce gravity.  It also reveals the animation trick of moving the background while the main character stays in the middle.

I wasn’t sure if they would be able to handle this project, but they worked through it well and I felt they were successful.

Screen Shot 2017-11-16 at 7.57.42 PM

Flappy robot costumes – hand drawn wings

This last week we did the virtual pet project from the Scratch Tips.  I printed some of the Scratch cards of the project as well.  Virtual pet introduces broadcast & receive which is an important but difficult concept.  Broadcast & receive is powerful but requires planning and keeping track of your Sprites. This level of thinking is just developing for them.  They struggled with broadcast and receive, but mostly with the motion blocks because they were modifying the placement of Sprites to fit their creative take on a virtual pet but couldn’t translate that to adjust the go-to blocks properly so they got some strange movements they didn’t understand.

All in all, I like this progression of projects: 1) Maze game, 2) Felix & Herbert, 3) Ghostbusters, 4) Flappy Parrot, 5) Virtual Pet. It presents a variety of game types and hits some good basic concepts.  It leaves out a few of my favorites, though, like Chatbot. I also feel they need more basic coordinate knowledge (move, go to, glide).

(The problem with not blogging regularly is that when you do, you have too much to say and the blog gets really long, for which I apologize.)

Advertisements

New Code Club Starts

I am collaborating with the children’s librarian in my city to run a monthly code club for kids 8-12.  Our first meeting was last Monday.  We had six kids show up.  I knew three of them from two years ago when they were in my after-school 4th grade Code Club.  It was great to see them again.  The other three were mostly new to Scratch.  One of the coder’s grandmother stayed for the session and we set her up to play and learn Scratch, too, and she jumped right in a made a Chatbot project.

Screen Shot 2017-10-08 at 6.10.14 PM

I knew we were going to be using the library’s Chromebooks, so I set up a teacher account and a class along with some student accounts.  I figured a few of the coders might have a Scratch account already.  One said he did but didn’t remember it.  They all ended up using one of the class accounts.   That made it easy for sharing their projects at the end of the session.

Chatbot is one of my favorite projects from Code Club World.  It requires only one Sprite and Stage, is interactive, and the projects can become very creative very quickly.   It introduces the conditional block “if then, else”, a powerful, useful coding block for decision making.  It also introduces the ask-answer block pair as a quick way to introduce interactivity. The expert coders sort of remembered Chatbot but were very happy to revisit it.

By the end of the session, everyone was successful in setting up a Chatbot and coding an “if then, else” block at the least.  Some added more complexity with movements and costume changes. It was fun to see the different, creative takes on Chatbot.  The coders shared their projects, even though some were not complete and we played them all through.  I put them in our October project studio and liked them all.

Screen Shot 2017-10-08 at 6.42.18 PM.png

I thought the English/Spanish Chatbot project was a great idea – it could be a cool way to show what you’ve learned from Spanish class.

We asked the club members what types of projects they wanted to work on in future meetings.  I heard ideas ranging from Ghost Busters, Pong, anything with horses, to a platform game. Good ideas!  We are hoping more kids sign up and we can grow the club a bit.

It was great to be back working with Scratchers.  My after-school Code Club starts up next week. More new Scratchers.

Mix in Some Makey-Makey Action

Ever since I got the first Makey-Makey, just before school let out last June, I’ve been looking for an opportunity to introduce them in Code Club.

Screen Shot 2017-03-27 at 6.31.18 PM

First time using Makey-Makey

I gained more experience with them at the Scratch@MIT2016 Convention when I participated in the Code Create Art Alive workshop.  In the Fall, I did introduce the Makey-Makey devices to some 4th graders at alternative recess but not at Code Club or with a whole class.  There was so much coding to learn and to be honest, I wasn’t sure what it would look like. Finally, last week in Code Club, I brought out the Makey-Makeys (we have 7 of them), some bananas, potatoes, foil, junk building supplies and it happened.

We talked about conductors, making a closed circuit, connecting to ground/earth, etc. There were many questions related to dangers of electricity since you plug it into the computer and the computer is plugged into the main current.

I showed them the Makey Makey piano, with bananas of course.  Then I showed them how to use it with games they have already made – like the race game.  For that, I had mocked up a pressure sensor (to step on) from a padded envelope.  It worked really well with the race game.

Screen Shot 2017-03-19 at 10.51.07 AM

Pressure pad for Makey-Makey from a padded envelope.

Then I introduced Whack-a-Potato that I found from the Makey-Makey lessons and also on Instructables.  I made a Whack-a-mole (squirrel) Scratch project and improved my code by looking at Scratcher tarmelop’s Whack-a-Ghost project.

I put together a Google Doc with the instructions for the students.  It is not a polished learning guide, just the basics for them to code up a Whack-a-mole game.

Screen Shot 2017-03-27 at 8.37.33 PM

Whack-a-Squirrel for Makey-Makey play

I few students got to work on the Whack-a-Potato project.  Others wanted to pursue a Makey-Makey music themed project or paint project.  A few just set up a Makey-Makey to work with a project they had already built.

OLYMPUS DIGITAL CAMERA

Makey-Makey Maze

OLYMPUS DIGITAL CAMERA

Building a complex pressure pad

OLYMPUS DIGITAL CAMERA

Potatoes and Tangerines

It was great to see the students try things. I hope this inspires the students to think of incorporating Makey-Makey devices with their final individual projects. I am hoping that is where this will lead.

Poetry Generator

While planning Wednesday’s Code Club during a snow day on Tuesday I came across the Code Club World project Ada’s Poetry Generator.  This is a new project for me and I liked the way it introduced and used lists.   Arrays and lists are extremely important data structures in programming – right up there with loops and variables. I’ve never introduced lists in Scratch before.  I also liked how this project wasn’t a game but had the potential for a lot of creativity and fun.

I mocked up a project with Scratch Cat instead of Ada Lovelace.  (I did talk briefly about Ada when introducing the project.)

Screen Shot 2017-03-16 at 8.45.33 PM

I added some “talking” animation to Scratch Cat by duplicating costumes and morphing the mouth into different shapes.  Then coding the costumes to change when the poem is “spoken”

Some students whined a bit about poetry and not a game but I ignored that because I knew they’d like it once they figured it out.  I’m hoping someone chooses to make a MadLib or something similar for the final project.  If not, I may see if we can use this in some language arts project.

Here are some nice examples:

Screen Shot 2017-03-16 at 9.00.09 PM

Computer generating poetry with lists

Screen Shot 2017-03-16 at 9.06.15 PM

This coder really liked gluteus maximus, and unhelpful list naming conventions.

Screen Shot 2017-03-16 at 9.01.11 PM

Awesome animated mouth

This coder is my animator to be.  He drew and animated the PacMan and Ghost being eaten costumes… then he coded the poem in the last few minutes.

Screen Shot 2017-03-16 at 9.02.52 PM

Future animator

These two below took the morphing a bit to the extreme but the coding (and poetry) is well done:

Screen Shot 2017-03-16 at 8.56.52 PMScreen Shot 2017-03-16 at 9.15.40 PM

I enjoyed reading all the funny randomly generated poems that the students created.  I was glad I choose this project for my Code Club.

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.

 

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.