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.

Advertisements

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.

Game State – Game Loop

This week we tried out Code Club World’s Desert Race project.  One Code Club member used this for his independent project last round, so we had one expert.  We used his final project to demo the game. Screen Shot 2017-03-12 at 11.20.11 AM

Desert Race is a fairly simple 2-person race to the finish.  The main concept in this game is setting a game state variable to control the action. In event driven games is important to control the allowable events – like when to start. And we don’t want anyone to cheat by starting before the start signal.  Setting up a game state variable, ‘racing’, like a Boolean with 0 (not racing) and 1 (racing) is the concept I was hoping they would take in while making a cool two person game.

Defining a Boolean for game state is the first step to building a Game Loop that programmers use when creating more complex games.

Scratch Wiki also refers to it here: https://wiki.scratch.mit.edu/wiki/Game_Loop.

My fourth graders may not ever get to that level of programming here in Code Club, but it is a powerful idea. I have used this programming technique in (non-Scratch) games I’ve created in the past and found it useful.

I also made a quick version of the project adding a bit of 3D perspective with my Space Race project.  The racers (cat and dog) get smaller as they head to be the first to reach the planet.

Screen Shot 2017-03-12 at 11.26.57 AM

The students made some nice games. Many customized their Sprites and a couple recorded their own “win” sounds.

This one below has some almost imperceivable pitfalls that send you backwards (the opposite of a booster).

At the end of the day a few students asked to be able to keep working on the Desert Race project for next week -they needed more time and were enjoying the project.  I think I’ll let them, but I’ll need another project for those who finished or want to move on.  So I asked one of the two girls in the Club what she would like to work on and she said, how about making an ebook.  I asked if she meant like an animated story?  I’d love to focus on animation more – there are some great techniques to making things look like they are moving – I love Tumbling Santa.  Also, I’m thinking I need to show her Bubble103’s Scratch projects.  Maybe she wants to make a tutorial (nonfiction ebook).  There are a lot of How To projects on the Scratch site.  I’m considering these two options for next week.

Also awesome this week was this project:

Screen Shot 2017-03-12 at 12.18.11 PM.png

This student’s race project was lost when Scratch 2.0 offline editor crashed. He was mostly done and he lost all his code. Instead of recreating it, he made this cool project. (It is a bit glitchy, but neat.)

Spring Code Club Session Begins

Code Club session #8 met for the first time on Wednesday.  There are eighteen 4th graders and two high school volunteers.  This is the second time I’ve had a mixture of students from both elementary schools in my city in one club.  Another thing that is cool about the Spring session is that I have returning Code Club members, or, as we call them, “experts”.  Only 5 students are new to Code Club and there was only one student I didn’t know.

screen-shot-2017-03-02-at-6-56-38-am

A New Scratcher’s take on Maze game

After introductions, I asked the “experts” what favorite project they had from the last session of Code Club.  They remembered and liked the Maze game, Space Junk and Chatbot from CodeClubWorld. They also enjoyed the projects they had created themselves, not surprisingly.    I like starting with the Maze game and had already chosen that project for our first meeting.  It’s a simple game with many ways to make it more exciting and complex.

We started out by reviewing the maze design and refreshing our programming vocabulary.  What was the object of the game? How does the Sprite move (arrow keys or follow the mouse were options)?  What happens when you touch the edge of the maze?  How do you win?  Then we talked briefly about ways to make it more exciting – more levels, obstacles, villains, etc.

screen-shot-2017-03-02-at-7-08-28-am

Then they got to it. They were fairly independent coders, for the most part, and they helped each other a bit, too. My high school volunteers and I think we will be able to try some more complex coding  projects this round.  It was a really fun 75 minutes.

Thinking ahead, here are some goals for this session of Code Club:

  • Encourage more animation: We have some artists, so I’d like to share with them and encourage more creative uses of costumes for animation effects.

Screen Shot 2017-03-02 at 7.00.49 AM.png

  • Explore “more blocks”: someone is already exploring defining their own blocks.  I’d like to encourage more of this.  As well as random numbers.

Screen Shot 2017-03-02 at 7.02.18 AM.png

  • Clearing up misconceptions: We will have to revisit some concepts like the forever block and support better debugging habits
screen-shot-2017-03-02-at-7-03-35-am

Find the glitch in this code.

screen-shot-2017-03-02-at-9-58-30-pm

It seems this “expert” puts everything in forever blocks.

  • And finally – I want to use MakeyMakey‘s this time. I told them I want to use them with our projects – especially our final projects. Those couple of students who have played a bit with MakeyMakey’s were quite excited. I’m really excited (and a bit nervous). I don’t have much experience using MakeyMakey devices, with or without students.  Luckily that won’t stop me.

Engineering Design Process

This week I will become the “project manager” for some 30 Scratch projects between my two Code Clubs.  It is Design Review week and the students will meet with me to go over their Game/Project Design Document before beginning to code their own projects to share at our Showcase for parents at the end of the term.

Last time we met I handed out the GDD (Game Design Document) for them to work on and complete before I meet with them for the design review process this week.

I’ve updated the GDD again.  (It is a work in progress).  This time I’ve added the EiE diagram of the Engineering Design Process to the front page and used language to support this process idea within. We use EiE curriculum in school, in our Hypertherm Hope grant supported after school clubs and summer Title I engineering camps. Many students have seen this before.

eie_edp

In the “Ask” phase I explained that they would have an opportunity to make their own Scratch project and opened it up for their many questions.  We also spent some time looking at past 5 Code Club Showcase projects to see what others have done. (I really hope the llamas don’t get remixed again this time around.  They are hilarious the first time you watch, but… well, even the students were tired of them by the end)

screen-shot-2015-03-30-at-11-10-11-pm

I also gave them some time to “Imagine” and sent the “Plan” GDD home with them.  Some were quick to come up with their ideas and completed the GDD before Code Club ended.  There will be some time this week while I meet with the groups to work on their “Plan”.

Once the “Plan” is approved it is time to “Create” then test and “Improve”.

screen-shot-2016-11-29-at-6-08-03-pm

Also new to the GDD is the Team Member Jobs plan. – I am letting them pick a partner of their choice (this is a club, not school) but I’ve found it is often ambiguous who will work on what part.  I’m hoping this part of the GDD will help me help them get work done.

Cute story:  One of my high school volunteers came to me, concerned, with a question about the “working with a partner” option.  A code club member had asked him, the high schooler, to be his partner. So I had to specify to the nine year old, “You can work together with any other code club member, but the high school volunteers will be helping everyone and can’t be your partner.”

Year 2 – Double the Fun

Code Club is back on and starting this week, double time.

On Wednesday 18 fourth graders will join me in the computer lab for the start of another 10 weeks of coding and game making. On Thursday I’ll go to the other elementary school in my district and be joined by 12 fourth graders to start their Code Club for ten weeks of coding and game making.  I’m excited and nervous.  I know the 4th graders joining me on Wednesday.  I’ve had them in the computer lab since they were in Kindergarten, some of them at least. They come with all different abilities, personalities, interests, and challenges.  I don’t know the 4th graders from the other elementary school, but I imagine they come with the same variety of personalities, interests, etc.

Other than doubling the number of Code Clubs I’m offering, we’ve also had some other changes. We had Scratch 1.4 in the computer lab last year.  This year I’m upgrading to the Scratch 2 Offline Editor.  I’m hoping this will make following the Code Club World projects easier.

Screen Shot 2015-10-03 at 8.42.57 AMNow I’m trying to pick a good first project. I like both Rock Band and Lost in Space (from Code Club World’s Scratch 1 projects).Screen Shot 2015-10-03 at 8.44.44 AM

I also had good success with the Maze/Obstacle course project from the first meeting of the second round of last year’s code club.  I would have to redo the document for Scratch 2.0, though, and I may not have time to get it ready for this week.

I’m trying to remember my objectives for learning for these new-to-coding students.  Other than orienting them to a new open ending program that Scratch is, what is the take away from day one?

My tag line on the sign up sheets say, “Use Scratch to learn to code, be creative & have fun!”  Maybe that is enough for day one.

scratch