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

Your Name Animated

To start off the school year, I thought it would be great to have 3rd graders work on a Scratch project and I’ve been wanting to try the animated name project from Made with Code for a while now.  You can find the resource cards here. (I printed a couple of sets) Animating your name seems like a good beginner project but not one that I do in Code Club.  And who wouldn’t want to play with their name in code?

Screen Shot 2017-11-01 at 7.29.49 PM

We started off by creating a backdrop for the Stage with the drawing tools in Scratch. I didn’t want them using one from the library, but to make their own.  Then we brainstormed ways to animate the letter Sprites – bouncing, turning upside down, changing color, spinning, growing, making a sound, etc.  This got them thinking about the possibilities. Next, we started adding letter Sprites.  Each Sprite was coded to be interactive by using the “when this Sprite is clicked” event block and adding an action to it.

 

Screen Shot 2017-11-01 at 8.37.28 PM

Example of 2 different letters interactivity

 

I used the resource cards to support students who preferred directions to be written out or visual or struggled to keep up with the general pace of the class.

Each third-grade class added their own flair to the project. One teacher decided to take photos of the students with a green screen background.  The students added themselves as a Sprite to their name project and animated themselves.

Screen Shot 2017-11-01 at 8.36.46 PM

I can’t share any of the actual student works as they include both the name and photo of the students.  We are going to record a video of the project like we do with our cloud project and include it in the students’ digital portfolio.

Another third-grade was finishing up the name project so close to Halloween that we incorporated the Trick or Treat project in with the animated names.  I didn’t present this part very well.  I needed to explain the difference between adding a costume to a Sprite and adding a separate Sprite. A lot of students made this mistake and there was general confusion.

Screen Shot 2017-11-01 at 8.55.42 PM

My next task is to finish the rubric for this project (which I should be doing right now).  The students enjoyed this project but we need to wrap these up.

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.

Scratch Alternative Presentation

In one fourth-grade class students had a US state presentation project as one of the last assignments for school this year. I received the okay from the teacher to allow a student to make his presentation using Scratch.  He was a Code Club member and I knew he had the programming skill and drive to complete all the requirements for the project using Scratch.

While the rest of the class used Google Slides, he made this great Scratch interactive project to share.  He worked hard and I was impressed with the results.Screen Shot 2017-07-02 at 1.30.49 PM

He set the project up like a Chatbot project and used broadcast to change the backdrops. He also asked questions to keep the audience engaged.

I was available to help with the coding, but he worked pretty independently.

Screen Shot 2017-07-02 at 1.47.13 PM

I would have liked to see more picture Sprites. We also discussed recording some audio for a portion of the presentation but ran out of time. He made a bibliography backdrop but it didn’t get included in the version we uploaded. Before he presented this to his class, he made some last minute changes that are saved in his account offline and not published.

He has his own Scratch account now and I know he will continue to code and create in middle school.  That makes me really proud.

Screen Shot 2017-07-02 at 1.39.38 PM

He had a rough end of the year within his classroom and with the dynamics of some of the other students so I was glad to be able to give him some flexibility with this assignment and let him do something he enjoys and show his coding skills.

I would like to think that Scratch would be an acceptable presentation format for other school projects like this.  I have been thinking along these lines for a while and now have proof that it can be done and can show teachers what the results look like.

Superhero Remix

The art teacher and I collaborated again this year with our superhero animation project.  3rd-grade students sketched their ideas for a superhero in art class then we used computer lab time to draw their superhero and background in MS Paint.  The next step was importing the files into Scratch and adding the code to animate them.

The students were engaged and worked hard. They could see where the project was going because they had seen last year’s example videos.  Some of them were familiar enough with Scratch to add a bit of flair (or music) to their animations. I saw more color effect changes and even helped implement other effects like this use of the whirl effect to animate Red Jelly Man:

One improvement that I tried to implement this year was the use of additional costumes to create the illusion of animation along with the moving of the Sprite across the screen. This was most easily accomplished by duplicating and then modifying.  Modifications generally included a slight rotation of the whole Sprite or to just an arm or other body parts.  Little changes really enhance the overall effect of the animation.

 

Screen Shot 2017-05-17 at 5.52.58 AM

Boring man has 2 costumes to look like he is walking

 

 

Screen Shot 2017-05-17 at 5.59.17 AM.png

Only Snakewoman’s rattle changes in the costume changes.

 

 

Screen Shot 2017-05-17 at 6.04.08 AM

Mr. Moo deploys his mini-moo with costumes varying the distance between hero and sidekick.

 

Another student’s Animal Man had 8 different animal costumes, all drawn by the student for his shape-shifting superhero.

Another technique we added this year was some simple backdrop animations.

 

Screen Shot 2017-05-17 at 6.03.21 AM

Thundergirl moves in front of lightning that comes and goes via code on the Stage

 

I’m very pleased with the second round of the Superhero project.  You can find all the movies here on my YouTube playlist.

Note: The students were able to add the project video of the animation to their digital portfolio without having to convert from the .flv format.  The actual Scratch projects are not shared online but completed using Scratch 2.0 offline editor.

Guided Exploration vs Teaching

I worry that my students aren’t learning some of the basic concepts of computer science in Code Club.  It seems, sometimes, that they have big gaps in their knowledge of coding or have odd assumptions of the way the code works.

On other days, I’m amazed at their ability to explore in Scratch and their fearlessness of testing algorithms and trying new things. They want to learn how to code the most complex tasks.  They adjust their expectations of what their Sprite can do to whatever it does.

I’m finding it difficult to know what they know.  I’m looking for evidence of learning in their code and in my interactions with them, but I think I’m looking for the wrong things.

This morning I was reading Chapter 6 from Seymour Papert’s book Mindstorms. Papert talks about the difference between the way children learn and the way they are taught.  He likened learning a whole new domain of knowledge (like computer science, say) to getting to know a “new community of people. Sometimes one is overwhelmed by a bewildering array of undifferentiated faces.  Only gradually do the individual faces begin to stand out.”  (pg 137).  This requires exploration and perhaps a guide who can provide introductions.  The ability or acquisition of sensitivity to distinguish faces (or concepts) comes with time and “cannot be done by a third party. Everyone must acquire skill at getting to know and a personal style for doing it.” (pg. 137)

Perhaps this is what I’m seeing.  My Code Club students are getting to know Scratch through exploration with me as their guide. What I see as “gaps” in their skills just show they haven’t acquired the sensitivity to those concepts yet.   Meanwhile I haven’t

Well, I have to go back and finish that chapter now.

 

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.