Return to 4th grade Code Club

One of my high school seniors wanted to do a service project teaching coding to elementary students. He loved our field trip to the elementary school that shares a campus with us and wanted to know when we could go to his former elementary school (across town) and do the same.

I knew that would take a different approach than a field trip and I suggested an afterschool code club. We discussed the details and settled on 5 sessions, weekly, after school in January-February, 90 minutes long, for 12-15 students. He wrote the proposal email to the elementary principal and sought funding for snacks for the club. Everything fell into place.

News spread about our code club, and the roster filled up in a day and one of the 4th grade teachers volunteered their room for us to use. We also recruited high school students as coaches and found plenty of former code club students who remembered when they were in my code club and volunteered to help. We finished up our 5-week code club last month with 11 students and 6 coaches (and me). Here’s how it went:

Google Classroom for coaches to plan lessons

Logistics & Communication: I created a Google classroom for the coaches and a place to put all the materials and planning documents. There I could announce what project we would do next and the coaches could tell me if they could come or not. Although, mostly they would stop by my room and let me know. Three of the coaches were in my last CS class of the day and others would stop by if they needed a ride from one of those students, or to let me know they were taking the bus.

Scratch class with studios for each week

Accounts: For the code club members, I created a Scratch class and student accounts. Each week I would create a new studio and put in an example project. Near the end of each session, the coaches and I would encourage students to share and add their projects to the week’s studio. I or a coach would play each project on the classroom projector so everyone could see their project on the big screen.

Format: Each meeting was the same format: We would arrive and the students would be in the classroom. We’d take attendance, meet on the rug to discuss the day’s coding project, break for a snack, and then get started. Each student had a school Chromebook and they sat in table groups of 3-4. I or one of the coaches would do some live coding and others would hand out printed Code Club project guides or Scratch project cards. Coaches would circulate and help the students (as best they could) and miraculously we’d get a bunch of creative projects to share before the meeting ended.

Catch Game projects shared by first time Scratch coders.

Lesson 1: Catch Game – It’s a pretty big deal when you can make a game on your very first day learning to code in Scratch. I’ve written about Catch Game before. It’s a nice way to start. I used the Scratch card resources for the students to follow. (I print either 2 or 4 to a page to save on paper).

Chase Game projects shared by 4th grade Code Club students.

Lesson 2: Chase Game – another easy game that uses different code blocks. A lot of creativity here. I’ve written about this game as well. I remember the chase games 2 of my coaches made when they were in code club. I had the original Code Club World Felix and Herbert packet and I had the Scratch resource, but I wanted a hybrid of the two approaches, so I wrote my own.

Side-scrolling game examples

Lesson 3: The 4th graders love making games and the feedback from the parents was also positive – they noticed how much their student enjoyed Code Club, and were appreciative that we were providing this opportunity. So I found another game, Jumping Game, that was easy enough to make but different enough to be something new.

Virtual pets with text-to-speech by 4th grade code club members.

Lesson 4: Virtual Pet! This is one of my favorites and it’s not technically a game. With such a short 5-week program, I introduced a lot this week. In addition to the virtual pet game, I showed the students Zinnea’s Mouse Trail video. It was a nice diversion at the beginning of Code Club, but once they got into making their virtual pet, no one actually tried out making a magic wand. I also introduced Scratch’s text-to-speech block because many of the members had learned how to record their own sounds – but it was generally just them talking over all the background noise in the room. I thought they could have their pet introduce themselves with text-to-speech.

Noise Level: The coaches (my high schoolers) had noticed that Code Club was really loud – a lot of talking and Sprite sounds playing in the room. While it is generally fun to have your Sprites make sounds, it can be really loud if everyone is playing sounds. We didn’t have any headphones, so we had to remind students to keep the volume down.

Sports games for the final week

Lesson 5: Final Week – They asked many times for a sports game. So for the last week, we tried Scratch Cat Goes Skiing or Beat the Goalie! Both projects are from RPi Foundation’s Scratch projects, so I was able to put started projects in our weekly studio and the students would have the background and costumes for the projects. They turned out well for such difficult projects. Our last day was also Valentine’s Day, so I made this quick project Valentine for you in case anyone was interested in making a Valentine with the pen and stamp tools. Mostly they wanted to make games.

Valentine’s for Coaches – one of the code club members made Valentines for each of the coaches and me. It was so sweet. I’m pretty sure the high schoolers had not been given a Valentine for a long time.

Good enough: Five weeks was a good enough length. It was a lot of work being in charge of not just the 4th graders but of the coaches as well. To be honest, I had too many high schoolers coaching and their attention span and appropriate behavior weren’t much better than the 4th graders. So I ended up managing both groups. It was all good though. Good for the coaches to work with younger kids, pay it forward, and remember when they participated in Code Club. Good for the 4th graders to get to learn to code, and see older kids who like to code model coding. And good for my high school Computer Science program as these students move through the school district and may plan to take CS courses at the high school.

2020 Winter Carnival Remix

I led two coding sessions at the middle school for their Winter Carnival again this year. I had a new collaborating teacher this time and we were in the computer lab on desktops (instead of Chromebooks).  We had a variety of ability levels and grades in attendance.  Some were brand new to Scratch and others were part of the middle school’s code club.  That’s another new thing at the middle school. Some of my former elementary Code Club members started a code club this year that happens once a week during one of their study halls. (Super proud of them for advocating for themselves)

I wanted to offer different projects than last year but projects that would still be interesting to both beginners and more advanced coders.  We settled on Flappy Parrot and Pong.  I am also really interested in Text-to-Speech and Computer Poetry Generation and my collaborating teacher is excited about Makey-Makey devices.  So we offered both of those as well although none of the middle schoolers decided to work on those types of projects.

I set up a studio in my teacher account and added a few starter projects prior to Winter Carnival. During each session, I collected the students’ Scratch usernames to add them as curators.  This didn’t always work out as some were creating accounts on the spot and then never received an email verification.  I think the issue is on our district’s end and not Scratch’s.  I think some students’ emails are locked down more than others.

Screen Shot 2020-02-16 at 1.17.03 PM

Toad Dash example Flappy Parrot/Geometry Dash project

Screen Shot 2020-02-16 at 1.19.08 PM

Co-teacher’s Flappy Parrot example – gradually gets harder

For those who couldn’t get their new Scratch accounts to work, we downloaded their completed Scratch 3 project to the desktop and uploaded it through my teacher account.  Once their account is activated, they’ll be able to remix it into their own account, if interested.  This is one of those technical issues that you have to work out on the fly.  I also opened the studio to accept projects from anyone temporarily.  It turns out that unconfirmed Scratch accounts can’t “share” projects.  This is not a bad policy.

I was really nervous about coding with the middle schoolers again. I’m not with them on a day-to-day basis to understand what they like. I know a lot of them but I don’t know what they are learning in their code club.  One name on the roster was a student I’d recently seen write Python code in real-time, and in front of an audience, that simulated a ball bouncing. (I know it was rehearsed performance and she had a partner, but still super impressive… Would flappy parrot or my other intro projects interest her?)

The kids were great.  They brought their creativity, enthusiasm and worked hard.  They were kind.  They helped each other and enjoyed themselves.  I had a good time with them and enjoyed seeing what they were interested in. They created impressive projects and were willing to share them with the group.  I made sure there was time at the end of each session to enjoy (play, comment & like) each other’s projects.  All but one were willing to put their “work in progress” out into the world for others to play.  Very impressive and brave for middle school kids.

During the first session, one new-to-Scratch student was looking for inspiration so I helped him add a picture of a bag of Skittles as a Sprite to his project.  I stayed to help him make the Skittles bounce around the screen.  I came back to see he had a bunch of Skittle bags bouncing around the screen.  I asked if he wanted to make a game where you have to avoid the bags of Skittles and offered him the project instructions for Space Junk. Later I showed him how to have the Skittle bags come in at staggered times to simulate increasing levels of difficulty. The longer you stay alive, the more Skittles bags are zooming around after you. Then he wanted to add a coin to collect for a score, or in this case a “Skittle”.

Screen Shot 2020-02-16 at 1.55.07 PM

Skittles Escape became one of the more popular games of the day and it was made by a first-time coder.

This game of his, Skittles Escape, garnered much attention in the first session and was remixed a few times in the second session. Well done, first-time Scratcher!

Remixed Skittles Escape projects:

Some other notable projects:

 

And this cool take on flappy parrot:

Screen Shot 2020-02-16 at 2.09.51 PM

All of the creative projects are in this studio 2020 LMS Winter Carnival. They represent the individuality of the coders who made them.  I hope I can return next year to facilitate creative coding again.

We Love Winter

It was another snow day today which reminds me of a recent project made by a 2nd-grade class. They missed Hour of Code Week activities so their teacher asked me to do a coding project with them.

Screen Shot 2018-02-07 at 7.25.49 PM

Over the course of three 25 minute computer lab times, the 2nd graders created these winter themed projects.  They include 3-4 clickable sprites and one sprite that introduces the project and gives directions.

Screen Shot 2018-02-07 at 7.30.31 PM

This was a true first project for these students.  I introduced all the different aspects of Scratch: Stage, Sprites, Code blocks, events, etc.  We started with making the Sprites ‘clickable’ – meaning they would do something when we clicked on them.  We did a few different Sprites do different things.  There was some confusion around having the Sprite “say” hello.  The students expected to hear “hello” spoken, not written on the screen. I guess I need to be more precise when describing that action.

We did add a Sprite that plays a Sound when clicked, and one that turns, one that changes color.  And one that glides.  I decided that the glide block would work better in our interactive project than a move block that might eventually move off the stage.

Screen Shot 2018-02-07 at 8.22.06 PM

The last Sprite we added was one that would introduce the project and “say” the directions.

Screen Shot 2018-02-07 at 8.25.27 PM

I thought they did a great job on their first project.

Tales of Hour of Code 2016

Hour of Code or Computer Science Education Week was well received by the school this year. Every class from Kindergarten to 4th grade had the opportunity to work on one of Code.org’s Hour of Code tutorials during their computer lab time. This is Code.org’s third year of promoting a week of computer science education and I’ve supported them each year by introducing these tutorials to my students.

screen-shot-2016-12-12-at-7-27-21-amThis year Minecraft and Moana were the big hits, as well as Angry Birds and Star Wars.  The tutorial options are a great way to give students choice in the learning and they are so fun.  Students can’t believe they can play Minecraft at school.  I like the new Minecraft Designer tutorial.  I felt it gave the students a peek at the code behind the game and allowed them a lot of freedom of choice and freedom to be goofy.  What 8 year old wouldn’t want a chicken that lays diamonds!  Meanwhile they don’t even realize how much they are learning about how to program.

20161207_141456

1st grade Hour of Code activities

I do like to see who has that algorithmic thinking skill and is able to solve the tutorial puzzles independently.  For 2nd graders in general, Moana and Minecraft have pretty difficult concepts, like algorithmic planning, iteration and events (in Minecraft Designer).  Some of them look to each other for help, sometimes I have to read the directions to them, sometimes I have to be Steve or the boat so they can see how it turns in place and moves forward.  One 2nd grader surprised me at how easy the tutorial was for him.  I called him a Coding God (they are studying Ancient Greek Gods right now). He thought that was hilarious. I hope he signs up for Code Club when he is in 4th grade.

 

In addition to general class Hour of Code activities, my three math enrichment classes completed their Scratch math games.  That’s 27 new math games coded by 8-10 year olds. Here are the 4th graders, and 3rd graders studios. This week they played each other’s games and gave feedback in terms of Two Stars and a Wish, as I have done in the past.  I love this step in the game engineering process.  The students have to take the time to notice and test each game and learn to give good feedback.  I’m hoping we get time to improve the games based on the feedback they receive.

20161208_103326

I will leave the option of Hour of Code activities for the rest of December – making it Month of Coding at our school!

There are so many tutorials at Code.org/learn.  I may have to try a few myself. I’ve been meaning to learn Javascript.

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.

Everyone is Doing It

About a half dozen years ago my school district went through a “consolidation” where some schools closed and a new school was built. The result was that my school’s population got younger. I went from teaching graphing with Excel to fifth graders to mouse skills to Kindergarteners.

Click on the star-side

Click on the star side

But gee, those Kindergarteners are so cute and so effervescent.  What a blast to find little online activities for them to try.  We love StarFall.com and ABCya.com and ToyTheatre.com and the list goes on.  BBC & PBS Kids and well as some textbook publishing companies all have interactive games on the web for free.  There are even more resources if you have monies to pay for a subscription or don’t mind setting up accounts for your students.

During that first year, I searched long and persistently to find free, appropriate, educational, curriculum related web-activities for my younger students to use during their computer lab time. My success varied. What I did come across was a number of little learning games, simple enough in their construction that, I thought, perhaps, even I could make a game like that.  That became a motivator for me, something I could challenge myself with. So when I was unable to find online resource on a specific topic I envisioned or for different parts of our curriculum, I imagined I could just write my own.  It seemed everyone was doing it.

I was also inspired by ABCya.com story.  Here was another person, like me, looking for good resources on the web and when he couldn’t find much, started making the resources himself. The ABCya! site has grown into a great resource and achieved many accolades.  Their stuff just keeps getting better and better with each iteration.

abcya

While what I’ve been able to do can’t compete with the likes of ABCya!, I did start making my own games.  You can find them at MrsPollardsGames.com.  My original plan was to learn how to make games, then teach some older students (like high school kids) to make resources for the younger kids.  We would use the little ones ideas and artwork and the older ones ability/desire to code (and I would facilitate the collaboration).  Sounded like fun and learning all around.  (And I naively thought I could just do it.)

As it turns out, it’s more complicated than I thought to make even the simplest of games. When I started with this idea a lot of the resources that I found online were FLASH games and the .swf file extension of these assets were made with Adobe ActionScript.  So I decided to learn it.  My daughter drew the pictures for me and I wrote my first game in 2010 – the Farm Game.

Count the farm animals.

Count the farm animals FLASH game

I can only make one or two games in a year. As much as I enjoy the process and the sense of accomplishment in producing a new game, it just takes so much time and energy. It really challenges my ability to think like a programmer: break down the game into logical steps, specify the outcomes, plan game play, set up the objects, think about the outcomes, animate, test, debug.  I can credit part of my success in this endeavor to the software engineer who is my spouse.  He doesn’t like Adobe’s FLASH environment, but he helps me with ActionScript, the object-oriented programming (OOP) side. He’s great at making me think through all the logical steps and suggesting what I should test to figure out why things aren’t doing what they are supposed to.  Books help, too.  I’ve amassed a few ActionScript animation and game building guides.  I took a Java course online to learn more about that type of programming (a MOOC on OOP).  I suppose if I created more games and spent more time at it, I’d get better at it.  I just don’t think I can teach it to anyone else. I need too much help with it myself.

And the web is changing.  It’s not enough to have a little game on a web-site.  It has to be mobile ready, use rich, dynamic web-design, etc, created by acronyms like JSON, HTML5 & CSS, AJAX, etc.  I won’t be able to keep up.

But it’s okay, because I’ve got a new challenge now with Scratch.  It’s a different vision than the one I started with, but I am teaching kids to code and it is a blast.

We didn’t have Code Club last week, but we do tomorrow.  And it’s all about animation…. Stay tuned.