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

Rookie Mistakes

After a merited, welcomed, two-week break, we have Code Club again tomorrow.  It’s our next to the last meeting and I’m concerned. I don’t think their “create your own game” projects are ready for the showcase – I don’t think they are one hour away from being ready. There’s a lot of work to do, errors to be found, logic to be thought through, and no rigorous testing has been done. (Do I sound like a software manager a week before a new release deadline?)

I had planned to approach each of the 4th grade coders during school over the last two days and find out how they thought their project was coming along.  I talked to two (out of 23) and they didn’t seem concerned.  I actually think they were confused about what I was asking as if the two-week winter break had wiped out all thoughts about Code Club.  So maybe I’m the only one who’s nervous about this. This is my rookie season as a Code Club leader, I must remember.  Maybe everything will get done on time?

Yeah, right.  Here’s the thing.  I recall the last Code Club meeting as being less than productive.  I believe others also found it frustrating. Besides the fact that it was the week before Christmas and two days before vacation, things didn’t go as well as I’d hoped. Students were stuck, teams weren’t working well together, projects were behaving strangely, stuff was lost, etc. That kind of stuff happens. I expect some of that, I’m not a complete rookie.

What bothers me most is not every student was able to get some help. On the whiteboard, next to the list for using the microphone, a student started a list for those who needed help and added their name.  I didn’t even notice the list until the end. It’s a good idea, really, and we’ll start a list like that tomorrow.  Not really sure what to think, but I feel that I’m letting them down. The list was an interesting expression of frustration. On one hand I expect them to need some help as they are just beginner Scratchers, but perhaps am I helping too much or unevenly. Maybe I haven’t provided enough foundation to give them the confidence to persevere in troubleshooting? Or the projects were too complicated and it was a failure in the design review process. More things to learn.

Truth is, I don’t have that much more experience using Scratch than they do. Problems and questions have come up that I didn’t have the answer to.  For example, a couple of students wanted to add gravity into their game.  Turns out there are lots of ways to simulate this, even more than those listed on the Scratch Wiki for Simulating Gravity (I didn’t even know about the Scratch Wiki until researching the gravity problem).  One team is using a timer to simulate gravity.  Another is using simple direct movement method.

Screen Shot 2015-01-06 at 10.48.50 PM

I’m sure more stuff like this will crop up tomorrow. Of course, I need to remember – rookie season, rookie mistakes.