Coding Their Own Way

The students have begun their independent projects for our showcase in May.  They are really into their projects already.  At our last meeting, I met with (most of) the teams or individuals to go over their Game Design Document (GDD).  Over time I’ve been adding things to the GDD to make it more comprehensive but it has gotten a bit unwieldy.  Students don’t always fill it all out or their ideas don’t fit in with the description. I definitely need to reflect on the GDD and figure out what should remain and what can go.

Let’s go back to basics.  Why do I have the GDD?  Is it for the students or for me?

To make a project that takes multiple weeks to complete, but has a hard deadline, you’ll need a plan.  Planning is part of the engineering design process. In this sense, the GDD is for the students.

If you are working in a team, the need for a plan is crucial.  Who will create the backdrops? Who will code the Sprites? Do we agree on the gameplay? A team definitely needs a GDD to define roles, divide the labor, and to communicate ideas.

How do you know if it is a project that can be done in 4 weeks? What parts of the game are you not sure how to code? What should you work on first?  These questions are why the GDD is for me.  I see myself as the project manager for these 10-year-olds.  I want to ensure a project isn’t too large: “There will be 5 levels and a boss level with an army attack and when you die you turn into a zombie with a special power and then….” Yikes. I want to see that team members have communicated their ideas and agreed on the design. I want to make sure each team member has a job to do.  I want to know what parts of the coding will be tricky for them so I can find some examples of code to help them.

All of the projects this time seem pretty well thought out. There are no “try not to laugh” projects.  No Makey-Makey projects either, sadly.  There are a couple of maze games, two games with gravity, one animation, one karate game, and some adventure games.

One or two of the projects aren’t very complicated and I worry that they’ll finish too early.  I shouldn’t, though.  It will be good to have a couple of more polished, well-tested games for the showcase.

Screen Shot 2017-04-23 at 5.12.45 PM

This student is going to use this as her independent project and make a “Flappy Bird” type game.

I can’t end without sharing a few screenshots of student work.  The previous week I showed the students how to use the Tips tab to get step-by-step instructions on different games.  I suggested they try the “Make It Fly” tutorial.  This was an optional project and many chose that time to work on their GDD instead.

Screen Shot 2017-04-23 at 5.13.22 PM

This shows interesting graphic editing skills and some good coding.

Screen Shot 2017-04-23 at 5.14.47 PM

Makes you smile.

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.

A New Start

My two Code Clubs have started up again. There are 20 students and 2 high school volunteers for each club.  The first meeting has happened. Students learned about Scratch, had fun and I’m excited for both clubs.

This is my 3rd year. It’s session #6 & #7 of Code Club for 4th graders in my city. I know all the students from my school but only 2 of the students from the other side of town.

One thing I worry about, now that I have been coaching Code Club and teaching Scratch to elementary students for three years, is forgetting what it is like not to know how to program in Scratch, not to know what a Sprite is or know that the Stage has no movement blocks, etc.  I don’t want to assume that they know what I know and I want to present concepts that will be relevant to what they do understand. (I realize this concern is not unique in the teaching profession).

I have on the calendar for the first session of Code Club: “First meeting – Rules & Goals, Intro to Scratch”.  So I decided to morph the Rules & Goals and include a bit of the first step in thinking like a programmer.  Defining rules & goals is a big part of what a programmer really does.  I tried framing the rules in pseudo-programming language with the students as well:  If the day is Wednesday and the second bell rings, then it is time for Code Club.  When you open up Scratch, forever have fun.  I’m not sure I got my point across.

screen-shot-2016-10-11-at-2-42-41-pm

I presented the Maze game to Wednesday’s club because I knew they had used Scratch before as 3rd graders. They struggled a bit.

screen-shot-2016-10-11-at-2-44-01-pm

Most of them were able to get their Sprites to move around using arrow keys and set up the maze background.  Some were able to get the conditional sensing color code working.

screen-shot-2016-10-11-at-2-47-12-pm

Puff magic, a working maze game

And this one below added a squirrel that spins around the screen changing colors of the hero. Cool.

On Thursday I introduced Scratch concepts to 3rd & 4th grade programming newbies and blew their minds with the possibilities Scratch offers through simple blocks of code. The energy was thrilling and left me pumped.

screen-shot-2016-10-11-at-5-22-51-pmAfter introducing the same concepts of defining rules in code, (and Code Club) the first thing we tried was Motion blocks (ie moving a Sprite with the spacebar). And then we added Looks (ie change color).

 

screen-shot-2016-10-11-at-5-18-03-pm

screen-shot-2016-10-11-at-5-26-41-pmAnd finally, the awesome: Sounds forever!

screen-shot-2016-10-11-at-5-20-03-pm

In reviewing all of Thursday’s projects, I found those kids had some serious fun with Scratch last week!

I can tell I haven’t blogged in a while and I struggled to write this coherently and in a timely fashion.

Space Junk

The last lesson project my Code Club worked through before starting to design their own Scratch game was Space Junk from Code Club World.  This one is similar to the Space Odyssey project in Super Scratch where Scratch Cat has to avoid the obstacles and “survive” for 30 seconds.  I could have gone with either one.  In the end it was just easier to be able to print the pdf from Code Club World.

I spent some time presenting the project to the students.  I also made available a project template with the assets and some of the code provided, but without any of the movements of the objects. The coding for the timer was set and the hero’s arrow key responses. Starting with this stubbed out version of the project was optional. Some students opted to use it and others wanted to start with a blank project (ie from scratch, har har).

Screen Shot 2016-04-06 at 9.34.52 PM

Starter project with Sprite & Stage assets and some initial code

In creating a template of the Space Junk project I did use one Super Scratch Space Odyssey Sprite – because, well, it’s the Scratch Cat wearing a spacesuit. The template was helpful to many.  It allowed them to work and test out the movements of the obstacles that the hero was to avoid.  Of course, customization is what it is all about in 4th grade Code Club.

 

 

The template also helped them be successful in a shorter amount of time, which was important this time as I made them stop early so I could go over the Game Design Document and how to develop their own game. I chose to introduce the independent projects at the end of Code Club so the students would leave thinking about the project they were going to design.  They only had one week to come up with a plan before their design review.

Interestingly, some of the independent projects are survivor or obstacle avoidance type games and resemble Space Junk, so I think it was a hit.

Virtual Pet Event

I realize that my last two blog posts have not been about Code Club but Scratch projects that happen during school.  Code Club has been going pretty well, so let me catch up on that front.

We tried a Pong game project the second week, which I have written about before. I recall them being a bit needy during the project but I just might be remembering the whiners. I’ve seen some successful projects in the subsequent weeks from those very same needy seeming students.

There is some free time at the beginning of Code Club while we wait for the bus to bring over the coders from the other elementary school.  This gives some of them a few minutes to bring up old projects they’ve started, remember what they were doing, tweak them or show them to a friend.  Once everyone is there, we have snack and discuss the current project of the day.

Screen Shot 2016-03-29 at 8.38.56 PMThe week after Pong we tried “Create a Virtual Pet” project that is under the Tips tab of Scratch 2 Offline Editor.  I was looking for a non-game project similar to Code Club World’s Chatbot project, which some of these students did last Fall, as I have written about, twice.  One of my goals is to expose these coders to a variety of project types. I think these types of projects appeal to the non-gamer types, (dare I say girls?) and shows other ways to use Scratch coding.

“Create a Virtual Pet” is also a great way to introduce the power of broadcast and receive. I feel like I didn’t cover broadcast and receive well in the Fall.  This project concentrates on the Events code blocks:  “when this sprite is clicked”, “broadcast”, and “when I receive”.

We also got to use and get to know the “glide” block.  All very useful.

I showed the students the Tips tab that they could use as a resource but I also printed out some screenshots from “Create a Virtual Pet” for them to use. I did try looking for a pdf of this project.  I found a video tutorial, a Scratch project tutorial and a 41 page pdf from We Can Code It which looks fabulous, but more than I needed.

I took some time to introduce this and showed my take on the project at the beginning.

 

I prefer to let them discover their way but I’ve a feeling this group could benefit from more introduction.  I think the number of lines of code it used, although mostly glide blocks, put them off a little.

Most of the students were not able to get all the way through the project and some seemed disappointed by this when Code Club was over so soon.  I was pleased with what they got done and told them so and that this would make a nice project for the Showcase if they chose.

The designs for those independent projects are due real soon.

Super Scratch

Today was going to be the start of another round of Code Club for 4th graders but school was cancelled due to icy roads.  I have 18 students signed up for this session, my 5th.  For some students this will be their second round of Code Club and I will call them my “experts”. The rest are new to Code Club and may have little experience with Scratch, or none at all.

I started last year’s Spring session with the maze game with good results.  That will be my plan for this session’s first meeting which will be next week now.

In the mean time, I’ve been looking at some new resources to get ideas for new projects.  (I love the projects from Code Club World but it’s good to have variety.)  I found a project in the book Super Scratch Programming Adventure! from No Starch Press that I would like to try with my Code Club coders.  It’s the Space Odyssey game and the second project in the book.
Screen Shot 2016-02-24 at 11.45.54 AM

The book is nicely laid out and kid friendly with parts of it in comic book mode and downloadable resources. It even has an educator/parent guide.

I’ve spent the morning following the directions for Space Odyssey project and I think my students will like it.  It has all the elements that they are known to enjoy: cool graphics and sounds, step by step directions, customizability, and game play.Screen Shot 2016-02-24 at 11.44.57 AM

Inspired By

Next week is the showcase for both Code Clubs.  That means this week all the individual Scratch projects the students have been working on since November have to be finished. Going into today’s Code Club session I was concerned.  I knew of a few projects that were in need of major help.

I started out letting them know that their projects would need to be uploaded to the Scratch website by the end of the Code Club.   We talked about how the showcase would go next week – how they would be presenting their projects and the parents would get a chance to try them out. I put two sign-up lists on the board – one for help, one for finished. Then we had at it.

Screen Shot 2016-01-06 at 7.37.41 PM

Fruit Collector

I am really lucky to have a great high school volunteer and he has been bringing his girlfriend to help as well.  While Josh handled the help list, I helped with the upload and sent the students to Raven who helped them fill out the project and credits page.

By the end of Code Club we had eleven projects uploaded, although not shared yet.  Two more need a little more tweaking.  Three students were absent.  Luckily, I can give them some recess time in the lab tomorrow or Friday.

Tomorrow’s Code Club projects will all have to be done.  No exceptions because I don’t see those students during the week. My daughter is coming with me tomorrow to help with the project instructions and credit page.

That’s the nuts and bolts of Code Club for today and tomorrow.  What has me sitting here writing up this blog right now is my excitement for these projects. The creativity and hard work displayed in these projects is quite impressive.

Screen Shot 2016-01-06 at 7.54.12 PM

Save Wizard Boy

Save Wizard Boy is a favorite Code Club maze game with green dots for points and a continual hip-hop beat as background music.  The creators had the most difficulty working as a team and agreeing on what they wanted in the game. This is written in their notes: “Making this game was fun. I made it in Code Club with my friend. Making games on computers is fun and if you like to play games on computers you can go to Scratch.”

Screen Shot 2016-01-06 at 7.11.16 PM

Mipio1

Mipio1 is another favorite platform 2-d world with gravity.  Quite challenging for most of the students who attempted this type of game.  I love the creativity and hand drawn city-scape. The 4th grader writes in her notes “What inspired me to introduce Mipio1 is the game called Mario and I love the game Mario. The game is sort of similar to that game.”

Screen Shot 2016-01-06 at 8.04.14 PM

Patriots

There were a number of sport type games – one called Wizard Soccer and two about football. In the Patriots each standard Scratch football player Sprite was customized.

Each project seems to be the best that student or team could produce.  I truly didn’t think they’d be this impressive.