Trick or Treat

Today was the second Scratch session with a 3rd grade math class and it was a blast.  Last week I introduced Scratch to them and they also tried out the Etch-a-sketch project from Simon Haughton’s Scratch Progamming lessons.   Some of them spent some time during the week playing with Scratch during free time in math class.

This week I wanted to introduce the “ask and answer” blocks and “if-then-else” so I came up with this Trick or Treat lesson, just in time for Halloween.

First I verbally asked them “Trick or Treat?” Most of them said, “treat” of course.  Then we brainstormed what a “treat” would look like in Scratch – do something (animation), change the costume, say something, play a sound.  They of course had big ideas like candy falling from the sky or the Sprite eating a pile of candy.  I tried to translate that into more programable language.  Then we brainstormed what a “trick” would look like.

I showed them my sample project where a ghost asks “Trick or Treat” and if you say “treat” he turns into a bowl of cheesepuffs otherwise he turns into a scary ghost.  I also had different sounds and a bit of animation (the Sprite turns and grows).

Next it was their turn. I directed them to picked a background for the stage and a Sprite.  Their choice.  We had a lot of ghost and ghouls, but quite a variety of backgrounds.

Screen Shot 2015-10-27 at 9.25.50 PM

Then they asked the question “Trick or Treat?” and set up the answer to equal trick or treat.  Also their choice.Screen Shot 2015-10-27 at 9.28.58 PM

We tested it and they noted it didn’t do anything. Well, not yet.  So we added a “say” block for each condition depending on if what they were looking for, trick or treat, and the opposite in the else clause.

Then I had them add two sounds, one for each condition.  In hindsight, I should have saved the sounds for last as noise level went up both from excitement and the random sounds playing in the room.

Screen Shot 2015-10-27 at 9.08.07 PM

Finally we added some costumes to the Sprite, one for each condition.  (There was a bit of confusion here because we weren’t adding more Sprites but costumes to our Sprite.)

Screen Shot 2015-10-27 at 9.41.58 PM

That was it, with just enough time to share their work. Their math teacher suggested this and it turned out to be a great idea. The projects were saved in a shared directory and all the laptops were closed and I displayed each project up on the screen for all to enjoy.  When it was their turn, I asked the project creator if they wanted me to answer “trick” or “treat” first, then played both cases for all their classmates to see. Screen Shot 2015-10-27 at 9.21.32 PM

I’m very pleased with how this project went with this group of 3rd graders.  I would definitely do it again- just have them add sound last.

Chatbot Decisions

This week both code clubs did the same project – Code Club World’s Chatbot. I like this one because it is not a game and students can be very creative at asking questions for the user to answer.  My goal was for them to learn about 1) user input, 2) if-then-else and 3) operators. That’s a lot. At a minimum, I think most everyone was able to use the “ask and answer” blocks, the “join” block and try one “if-then-else” block.

Screen Shot 2015-10-25 at 7.45.32 AMScreen Shot 2015-10-25 at 8.38.11 AM

Some were able to add animations at the end which I thought was pretty cool.  Some went back to their previous maze game and added some talking.  Also cool.

Screen Shot 2015-10-25 at 7.09.39 AM Screen Shot 2015-10-25 at 7.08.51 AM

The Wednesday club wore out my high school student with their needs, despite my call for them to ask a neighbor for help first before you ask an adult.Screen Shot 2015-10-25 at 7.50.35 AM

Thursday’s club figured out that if the answer is not typed exactly, then the “else” clause runs.  So if the user types “sure” instead of “yes” the program will think it is wrong.  One student had an extra space in the operator clause, as in answer = “yes “.  That bug took a bit to fix.  Another student was looking for a really big number:

Screen Shot 2015-10-25 at 7.47.21 AM

One of the tricky parts to this lesson is a defining variable and setting the answer to it. The students can follow the directions, but I don’t know that they understand why they are doing that or what it going on.  I have to remember these are pre-pre-algebra students.  Still, they will most likely want to keep track of a score or timer, so for now, they will try it and later we will come back to this concept when they need it in their projects.Screen Shot 2015-10-25 at 7.49.59 AM

While I love the creativity and extensions this project allows for, you do have to set expectations for appropriateness.  I had to ask a few students to change their responses to the questions.  I like to go around and test out their programs, putting my name in as the answer to “What’s your name?”.  When the response is “That’s a dumb name” or something equally as inappropriate, I get a bit disappointed and tell them to change it to something appropriate.  One student responded, “I didn’t think you’d play the game.” He obviously knew he was being inappropriate but was, at least, embarrassed by it.

Here’s one more creative take on Chatbot:Screen Shot 2015-10-25 at 7.15.26 AM Screen Shot 2015-10-25 at 7.15.16 AM

Defining Initial Conditions and Sprite Senses

The second week of my two Code Clubs went better than the first week and some fun, creative Scratch projects were made.  I am pleased.

Screen Shot 2015-10-18 at 6.36.00 PM

Wednesdays’ club made maze games using Scratch 2 Offline editor.

Screen Shot 2015-10-18 at 6.37.50 PM

I talked about defining initial conditions.  If you are going to move the Sprite through the maze you’ll need to set up where you want the Sprite to start.  I was able to reinforce this notion with those who set up other items for the maze runners to touch and then have those item “hide”.  If you change the way the Sprite looks (hide), you’ll need to set up the way the Sprite starts off looking (show).

Screen Shot 2015-10-18 at 6.36.19 PM

I also talked about conditionals and ways Sprite can “sense” things.  They’ll get more practice with this concept again with next week’s project.

Screen Shot 2015-10-18 at 6.37.08 PM

Most students were successful and their maze games were very creative.  I think a number of students were surprised by their success. Unfortunately a number of the games weren’t saved or saved “temporarily” on their desktop which isn’t permanent in student profiles. We will go over this again.  One student noticed this on Friday but was able to re-create her game during her free time that day.

Screen Shot 2015-10-18 at 6.38.29 PM

One thing I noticed that would make our time together even better is if the students relied more on each other’s help.  I mentioned to the student that this is a club and we are going to work together to learn, but I’m going to re-iterate that next week  and specifically have them ask an elbow partner first, then ask for help from me or Josh, my high school volunteer.  This will help later when they will be doing their individual or pair projects and will need to be more independent.

Thursday’s club went better, too. They tried Felix and Herbert from Code Club World’s archived Scratch projects.  Of course they all put their own spin on things, being a creative bunch.

Screen Shot 2015-10-18 at 6.43.46 PMI also talked about conditionals and ways Sprite can “sense” things. They were also more successful although it took them a bit longer to buy into to the project even though I showed them the example working project.

Screen Shot 2015-10-18 at 7.24.45 PM

They were really interested in getting the costumes to change to simulate walking or flying.  They also wanted to learn to add a score.  They weren’t phased at all by switching to Scratch 2 Offline editor.

Screen Shot 2015-10-18 at 6.44.17 PM

One student said he had been playing with Scratch all week whenever he had a chance.  Two others said their parents had downloaded Scratch at home.  This group showed a more collaborative spirit.  I helped one student get a “soundtrack” to play in the background and he helped others add the code to their projects.

Screen Shot 2015-10-18 at 7.28.38 PM

Another student announced he knew how to add a timer and was willing to show others.Screen Shot 2015-10-18 at 6.41.04 PM

They are a bit exuberant bunch for a group of twelve, and I still don’t know all of their names or have complete control at all times, but I asked them if they had a good time when they were lined up for release and they all very enthusiastically replied, “Yes!”

Screen Shot 2015-10-18 at 7.55.41 PM

I do enjoy this, you know. Just saying.

A New Plan

(I know, 3 blogs in one week.  Bear with me. This one is short)

I spent some time over the weekend hashing out the project plan and learning objectives for my two code clubs.  I feel better with a plan and ideas in mind and on paper.

I also revised my expectations for last week.  My learning objective for the students last week was to get to know Scratch and the code blocks that include Events, Motion, Looks and Sound.  I have to remember there’s also a new costume editor they will have to get a feel for as well as the notion of the Stage and Sprites and how they are different.  That’s actually a lot. I think the majority of the students have got a grasp on some of those concepts. (If they haven’t forgotten them in the meantime)

One student came up to me today and said, “I wish Code Club was everyday!!” What an awesome sentiment.

This week I’d like to focus on Initial Conditions, Conditionals and Sensing blocks. To that end, I’ve updated the maze project to use for Scratch 2.0. And we will try it out tomorrow.

Screen Shot 2015-10-12 at 8.39.24 AM Screen Shot 2015-10-12 at 8.57.42 AM

Scratch 2 Maze Project – Google Docs

I wonder if I’ll have time to mention the “Think like a Programmer” ideas of make one change, test it, make another change, test it?

Then next week both clubs can work on the same project.

New Club’s 1st Session

Last Thursday was the first meeting of my new Code Club at MLS. I had 12 fourth graders joining me (8 boys and 4 girls). They were really curious about me, Scratch, Code Club, making their own game, making a web site, rules, everything.  Their lab wasn’t set up with Scratch 2 so I introduced Scratch 1.4 and let them explore the program a bit. Then I had them try out the maze project. Success was mixed. A couple of students diligently followed the packet and ended up with working games.

Screen Shot 2015-10-13 at 4.46.02 PM

Example of a maze game.

Screen Shot 2015-10-13 at 4.46.10 PM

A couple of others got stuck and got off task. Did you know if you click the “add random Sprite” button a whole bunch of times you fill up the Stage pretty quickly? I’ve had a handful of students try this out this year at both schools.  I can’t remember anyone doing that last year. Interesting.

Screen Shot 2015-10-13 at 5.02.31 PM

Testing the “Add random Sprite” button

And a couple of others got partway through.  They just needed more time but I let them free explore again at the end of the session and they were glad to get the chance.

Screen Shot 2015-10-13 at 4.47.53 PM

There is a different routine at this school and I’ll need to learn it just as much as the students will need to get to know me.

Scratch 2 is now installed so next we’ll try “Felix and Herbert”.  It’s both an introductory lesson and a game.  I used it last year but it is currently an archived project at Code Club World. Then both clubs will be back in sync and working on the same projects.

Lost in Space and Finding a Hook

First week of Code Club, year 2, is in the books.

On Wednesday, eighteen 4th grade students joined me in the computer lab to learn some Scratch. I also had some support from my colleague and 4th grader teacher, who came to support one of his students, and my high school volunteer.

Code Club lasts 75 minutes.  I like to take the first 15 for snack, a learning concept, and Q&A. I don’t remember too many questions from Wednesday.  I went over expectations, a lot, it seemed, the nuts and bolts, an overview. They seemed to be most excited with the fact that they could work with partners to make their own game at the end the 10 weeks. I was really calm – or at least I kept an outward appearance of composure.

Screen Shot 2015-10-03 at 8.44.44 AM

Then we started in with Scratch.  Scratch 2 Offline editor was installed so we used that to try out Code Club World‘s Lost in Space project.  As a beginning project, it was hard.  I just handed it out and said try it.  If they wanted to try something on their own, I was okay with that.  “As long as you are doing Scratch.” Meanwhile I sat between a couple of students and helped them plow through the project step by step.  One of them was sitting at the computer with the projector. When she finished a cool step and her rocket ship zoomed toward Earth changing color as it went, everyone got to see it.  More students seemed eager to get their rocket ship working then. And that’s how I hooked them.Screen Shot 2015-10-09 at 8.57.11 PM

There is a lot to learn right at the beginning when you sit down to start something new – like a new program, a new technique, a new procedure. You need time to explore. You need to be able to struggle a bit.  You need a bit of support and a bit of freedom. I hope that is what I gave them.

Towards the end of our time together I started to doubt myself.  I could sense frustration. They were looking for more help. Things weren’t working as they expected. They weren’t getting results. Maybe I made a mistake.  Maybe I should have led them through their first project, step by step, making sure everyone was following along.  Maybe it was too soon to let them work through a project by themselves.  Were they going to like coding?  Were they hooked?

And all too soon, our time was up.

Shortly afterwards someone asked me how it went and I had mixed feelings. I was still thinking I should have taken a different approach. After some reflection, I feel letting them work through the project on their own and struggle is what I wanted for them. Next week when I talk about the Stage, Sprites and coding in steps, they will be a bit familiar with the layout of Scratch and it may make more sense. That’s my hope.

I solicited some feedback, which seemed generally positive. I also received some random, unprompted “I love Code Club” responses from coders on Thursday. Today, during indoor recess/free time, Scratch was the thing to do or be seen doing.

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.