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.

 

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.

Catch ’em

Week 2 for Code Club happened.

We did an old project game called Felix and Herbert which I’ve done before.  It’s not on the list of current Scratch project at Code Club World, but its simple concept with different movements- follow mouse movements- makes it a good second week project. It is a cat and mouse game and introduces some good game elements such as broadcasting and keeping score.

screen-shot-2016-10-17-at-6-31-44-pm

I allowed the students to pick any two Sprites – one to chase and one to be chased.  This let to some creative pairings.

screen-shot-2016-10-17-at-7-19-40-pm

It also became important in debugging to know which Sprite was which. When introducing the project I did point out where it says “Test your project.”  I let them know that this was a big part of programming.  I think I’ll need to emphasize that each time. I notice a lot of creative testing – playing with sounds, looks, speed, scoring, but not much debugging or referring to the project pages when things don’t work.

screen-shot-2016-10-17-at-6-29-48-pm

At the beginning of Code Club, I decided, we would add a bit of reflection to our meeting. On Wednesday I asked how the first code club went?  What were the successes and failures.  Many noted that they ran out of time or weren’t able to get the sensing of the edge of the maze to work.  I told them that it was a difficult task and if they were able to set up the Sprite to use the arrow keys, that was a success.

With Thursday’s group, I asked them to share one thing they found that they liked about Scratch.  This time I asked for positive responses mostly because they’d only played with Scratch and hadn’t really tackled a whole project yet.

I enjoyed this reflection time.  These are big groups and I don’t always get to connect with each student during our hour of coding.  Afterward Code Club I do take the time to look at the projects they save, highlighting a few here and noting any trending issues. And, of course doing my own reflecting on this blog.

I must say that my volunteers are awesome!  They work very hard fielding questions, debugging code, working with students. Even so, I think the students are asking for help too quickly.  They need to look at the project more closely and begin to do a bit more problem solving themselves.

screen-shot-2016-10-17-at-6-31-22-pm

 

Pair Programming

I have been neglecting my blog.  Code Club sessions and other “coding with student” adventures have occurred and I have not sat down and reflected. Now it is Computer Science Education Week or Hour of Code and I’ve more to say than will fit in one post.

Partner Work at Code Club

Pair programmers

So let me start with how I’ve become a supporter of pair programming.

Coding is generally thought of as one person sitting in front of a computer hacking away at code for hours on end.  Most of my programming is done this way – I’ve been known start a coding session and come away with no sense of what time it is.  As soon as one feature is implemented, there is always another bug or feature to work on.

I have done some pair programming with my spouse, who is a software engineer.  I believe he called it “extreme” programming at first.  He drives and I navigate and this works for us.

My Code Club students can choose to work with partners on their own designs.  I also pair up math students for Scratch Math Games.

This year I used Code.org’s Pair Programming video to introduce the concept.  The video does a nice job modeling pair programming and listing  Do’s and Don’t’s.  I like that the programmers are girls.  My only problem is the one inappropriate bit where one girl tries to stop the other girl from talking by covering up her mouth.  That would not be appropriate behavior in elementary school.

Now that both Code Clubs and both math groups have seen the video and we’ve talked about the concept, the teams seem to work better. It’s not all sunshine and roses, but when an issue comes up, we’ll be able to communicate using the same language and expectations.  So watch out bossy navigators and drivers who hog the mouse, you’ll be switching roles soon.

 

20150205_pair programming

Maze Race Game

Last week’s Code Club took a lot of planning and preparation.  I’m going to write about it in 2 parts. Here’s part 1.

I introduced one last project for Code Club on Wednesday.  I wanted them to learn that Sprites can sense what they are touching, like a color, or the stage’s edge, or another Sprite. Collision detection is a fairly basic element in many computer games and not trivial to code for in many programming languages, in my opinion. Scratch makes it fairly intuitive. I found three different instructional resources that teach the creation of a maze or race game in Scratch.

Code Club World has a Boat Race project in beta form. It is so new, in fact, that when I went looking for a project of this type, it was only available from Code Club (for UK clubs only).  Looks like a fun project and I want to try it next time.

In Jeremy Scott’s “Starting from Scratch” guide, there’s a maze game that introduces collision detection. I like this resource from the Royal Society of Edinburgh.  It explains basic computer science concepts and ideas that the students will be exposed to using Scratch. That helps me use the correct terminology and know the “why” do I teach this behind the “how” do I teach this. The maze game instructions looked easy to follow to me, but it wasn’t in the Code Club format that the students had grown used to.

Maze game.

Maze game -use the arrow keys to reach the dragon. Don’t touch the sides.

I also came across Simon Haughton’s website and in his second Scratch lesson he has a car racing game. The goal is to cross the finish line without driving off the track.  Driving off the track sends you back to the beginning. I like how he has the students make their own race track in 3 simple steps: Flood the stage with color,  draw or erase the “track”, and draw a finish line in a different color.

My take on Race Game

I used his instructions first with a group of 4th grade students who have been learning a bit about Scratch during school.  We didn’t have time to do any extensions, like adding a timer, enemies or sounds, but a couple of students added a “crashed” costume to their car. Turns out if the new costume is bigger or a different shape than your original, you may be touching the edge of the track even when sent back to the start.  Another student was starting to add an oil slick, like my water hazard, before we ran out of time.

Unsure of how much coding time we’d have in Code Club this week, because we had a guest speaker coming talk about software development, I decided to started with Jeremy Scott’s Maze game instructions. We used the maze gif resource for the stage but I let them choose any two sprites for explorer and target. One student spent the whole time editing the sprite to his satisfaction -a graphic designer in the making, perhaps?  Next we set up the arrow key controls on the explorer sprite and added collision and target detection.   By the end of Code Club some were able to start a second level of their own design.

Second level student example

Second level student example

cp maze

Second level, student example

The jump to using different sources for instruction was hardest on my volunteers.  Our speaker stayed to assist and I had my high school student there as well. I had experience fielding questions with this after my 4th grade class earlier that day, but my volunteers were grasping the concepts at the same time as the students. Also the handouts weren’t as readable as they could’ve been. After a rough start, things settled down and the students seemed pretty independent.  Hey, I think that’s success right there.

What about that guest speaker, you ask?  That’ll be part 2.

Everyone is Doing It

About a half dozen years ago my school district went through a “consolidation” where some schools closed and a new school was built. The result was that my school’s population got younger. I went from teaching graphing with Excel to fifth graders to mouse skills to Kindergarteners.

Click on the star-side

Click on the star side

But gee, those Kindergarteners are so cute and so effervescent.  What a blast to find little online activities for them to try.  We love StarFall.com and ABCya.com and ToyTheatre.com and the list goes on.  BBC & PBS Kids and well as some textbook publishing companies all have interactive games on the web for free.  There are even more resources if you have monies to pay for a subscription or don’t mind setting up accounts for your students.

During that first year, I searched long and persistently to find free, appropriate, educational, curriculum related web-activities for my younger students to use during their computer lab time. My success varied. What I did come across was a number of little learning games, simple enough in their construction that, I thought, perhaps, even I could make a game like that.  That became a motivator for me, something I could challenge myself with. So when I was unable to find online resource on a specific topic I envisioned or for different parts of our curriculum, I imagined I could just write my own.  It seemed everyone was doing it.

I was also inspired by ABCya.com story.  Here was another person, like me, looking for good resources on the web and when he couldn’t find much, started making the resources himself. The ABCya! site has grown into a great resource and achieved many accolades.  Their stuff just keeps getting better and better with each iteration.

abcya

While what I’ve been able to do can’t compete with the likes of ABCya!, I did start making my own games.  You can find them at MrsPollardsGames.com.  My original plan was to learn how to make games, then teach some older students (like high school kids) to make resources for the younger kids.  We would use the little ones ideas and artwork and the older ones ability/desire to code (and I would facilitate the collaboration).  Sounded like fun and learning all around.  (And I naively thought I could just do it.)

As it turns out, it’s more complicated than I thought to make even the simplest of games. When I started with this idea a lot of the resources that I found online were FLASH games and the .swf file extension of these assets were made with Adobe ActionScript.  So I decided to learn it.  My daughter drew the pictures for me and I wrote my first game in 2010 – the Farm Game.

Count the farm animals.

Count the farm animals FLASH game

I can only make one or two games in a year. As much as I enjoy the process and the sense of accomplishment in producing a new game, it just takes so much time and energy. It really challenges my ability to think like a programmer: break down the game into logical steps, specify the outcomes, plan game play, set up the objects, think about the outcomes, animate, test, debug.  I can credit part of my success in this endeavor to the software engineer who is my spouse.  He doesn’t like Adobe’s FLASH environment, but he helps me with ActionScript, the object-oriented programming (OOP) side. He’s great at making me think through all the logical steps and suggesting what I should test to figure out why things aren’t doing what they are supposed to.  Books help, too.  I’ve amassed a few ActionScript animation and game building guides.  I took a Java course online to learn more about that type of programming (a MOOC on OOP).  I suppose if I created more games and spent more time at it, I’d get better at it.  I just don’t think I can teach it to anyone else. I need too much help with it myself.

And the web is changing.  It’s not enough to have a little game on a web-site.  It has to be mobile ready, use rich, dynamic web-design, etc, created by acronyms like JSON, HTML5 & CSS, AJAX, etc.  I won’t be able to keep up.

But it’s okay, because I’ve got a new challenge now with Scratch.  It’s a different vision than the one I started with, but I am teaching kids to code and it is a blast.

We didn’t have Code Club last week, but we do tomorrow.  And it’s all about animation…. Stay tuned.