Create Your Own World

I don’t usually blog in the summer, but I’m running a weekly summer code club at the library in July and I’m being a bit reflective about the monthly one that I helped lead this last year.

Earlier in the year, I introduced a new (to me, too) project to the Lebanon Library Creative Coders. We decided to take two of our monthly meetings, February and March, to work on the Create Your Own World project from Code Club World.  I knew this middle school age group would enjoy creating a platform game. One of them even continued to work on it for a third month and was able to add a lot of detail like hit points, inventory list, and bad guys.

 

Screen Shot 2018-06-29 at 8.05.47 AM

World detailed with inventory, hp, weapon and bad guys.

The first meeting we focused on setting up the player movement.  We remixed Code Club Rik’s Resources for this project so we could jump right in with the coding.  When I was prepping for our meeting, I went ahead and changed the character from a square to an overhead view of a guy walking.  One of my original groups of students created Showcase projects called Tomb of Terror and Shadow Swamp with Hatty McWalker.  That’s who I was thinking of with this guy.

Screen Shot 2018-06-29 at 7.49.15 AM

Overhead view of my player.  I added a costume with the mirror image and a “next costume” block in my code to make him look like he is walking.

The Creative Coders were certainly creative with the movement options.  I’m used to using arrow keys for movement, but these middle schoolers liked ASWD and this creative ghoulish option with side arrows for turning and up for forward:

 

I’m finding it useful to look at the code more closely.  There are some interesting, creative coding going on and I’m seeing some misconceptions that will help me help them debug their code.

Screen Shot 2018-06-29 at 7.27.01 AM

Well coded ASWD movement and wall checking

I’ve seen this forever-forever coding before. Something is not working like they expect and they try to solve it with nested forever loops.

Screen Shot 2018-06-29 at 7.27.37 AM

Nested infinite (practically) loops didn’t fix the problem – switching to the “play sound until done” block did.

Or they are checking for an event and forget to put in the forever loop:

Screen Shot 2018-06-29 at 7.55.25 AM

One time event checking?

This wall checking code has been separated from the key-press event giving no response.

Screen Shot 2018-06-29 at 8.02.31 AM

If touching wall move in all directions at once.

A couple of the coders explored more blocks where you can define your own.  This led to a teaching moment for me to explain how these function blocks worked.  It turned out less useful than my right-click to duplicate code suggestion.

 

 

All in all, they impressed me. In the moment I’m not always sure what is going on with everyone and even at the end when we stop to share what we’ve accomplished I don’t always know how they did.

Some of them didn’t want to continue what they had started the month before, but they were self-motivated and independent enough to work on their own projects.

I love that this crew is supportive of each other and willing to share their ideas and compliments.

Screen Shot 2018-06-29 at 7.23.54 AM

I appreciate good, supportive commenting

Some of the same students have signed up for the summer session. I’m looking forward to it.

Advertisements

Presenting at Showcase #10

Today was my 10th Code Club Showcase. I am so proud of all my coders.

We had a variety of projects, most of them well put together.  It always amazes me when they come together.  I’m also amazed at the ease the students have to present to the parents. I don’t really give them a choice and they really come through.  Today was no exception and I got to see something wonderful happen.

During our snack, I went over how the Showcase would go.  The parents will be the guests and they get to sit at the computers and play the Scratch projects. Each student will present their own project for the parents.  They will pick someone to demonstrate the project (play the game) on the interactive whiteboard while they stand up front and present.  I have them fill out a half sheet of notes about the project, including how to play, the goal, their favorite part and how they would have made it better if they had had more time.  It is basically the same presentation notes from Showcase #2 with an added line for who will play the game while they are speaking.

I had only one team of two students, the rest were individual project makers. This duo created Yharmin Boss Battle (which breaks my “no weapons” rule, but that’s another post).

Screen Shot 2018-05-06 at 7.26.53 PM

The duo started as a pretty good team with equal effort but the coding was done mainly by one student and the other spent a good amount of time “off task”.  I really felt he wasn’t holding up his end of the project, but the project got done.  I noticed when they were filling out the presentation notes, this same student was leaving it up to his coding partner to do the presentation.  I told him they needed to divide up the presentation so that each of them would have things to say, much to his chagrin.  When it was their time to present and they were standing up front, the coding partner suddenly froze and couldn’t speak.  I could see his anxiety on his face and so could his parent. I told the non-coding partner that he would have to step up and present for the team.  He started to tell me that he couldn’t but realized his partner was not capable of presenting right then. I was so proud to see him step up and really come through for his partner.  He began their presentation and by the time he got to their favorite part and what they would have added if they had time, the coding partner had recovered and both of them were talking and sharing their wonderful project with us. Bravo!

At about this time I noticed another student hadn’t filled out his presentation notes, so I gave it back to him to fill out. He is a natural in public speaking and he probably didn’t need prompts, but it is good to have just in case.

 

Screen Shot 2018-05-06 at 7.07.12 PM

Falling Down Game

 

Sometimes it is the simple games that are the most fun and addictive.  Check out Falling Down Game and Geo Dash for this group’s takes on some classics.

And thank goodness for girls who code for they add the puppies and unicorns to brighten the showcase.

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.