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.

Virtual Showcase 2022

Last week was my 13th showcase of projects for my 4th grade after-school Code Club and my 2nd one that was held virtually. We made it. After three weeks of working on their major independent project and some online meeting craziness, they presented 14 final (or near-final) projects.

For our virtual showcase format, a project was presented by the creator, then the students played or enjoyed the project, and finally, they gave a quick positive feedback comment while the next student got ready to present. We had 14 projects presented in one hour. Amazing.

Code Club Showcase project thumbnails

The final projects show a great deal of creativity and variety. It is incredible how much work went into some of these projects. I am very impressed with this group of students and grateful they all took the club seriously. I know it was not an ideal situation to learn to code in an online group but these kids were pretty motivated. They were also pretty self-sufficient and knew how to advocate for themselves to get the help they needed. They were also very patient when waiting for me to help them.

I enjoyed watching their projects progress over the weeks. Here are a few projects I am particularly impressed with: The Pipe is a maze game with a cool introduction, a couple of levels, and a secret code level.

I also like Cheesy Puffs clicker: This is a clicker game with a lot of flair. I knew this coder wanted to make a clicker game so I provided some material in our classroom to support him. I think he also found other clicker games on the Scratch community to get some ideas.

I am also really impressed by Shielder. I’m not sure how this was created but I don’t doubt that the student who created this could create this.

These next four really reflect the creativity and personality of their creators.

The quality of these projects is no different from any other showcase from other Code Clubs. It is just that this virtual code club felt like a lot of work because of the virtual nature of helping students with their coding issues remotely, but the results are gratifying. I hope they find more coding opportunities in the future.

Virtual Code Club Projects

I’m running another round of my after-school 4th grade Code Club virtually again. We are halfway through our 10-week session and have one more learning project next week before the students start working their final showcase projects. Students from the other side of town have joined us with their Code Club coach, Ms. G, just like last year.

I had 19 students sign up and 4 from the other side of town and we average 16 students online each week. We’ve used breakout rooms to divide the group to be able to help more students while they are working through the learning projects. We’ve offered two different projects one week – Maze and Flappy Parrot to give the students some options. We are using Google Classroom to communicate, post materials, and share Scratch studio links. A few students have dropped out because the virtual environment is too hard or stressful to manage while learning to code. I’ve offered my time in person during recess to support students in person.

Favorite things example

We started with our favorite things projects the first week to get to know each other. It helped to work through some basics of Scratch, signing in, sharing to studios, etc. as well as a refresher on Google Meet protocols – raising hands, chat etiquette and presenting. Then 2 Chatbot, 3 Space Junk, 4 Maze & Flappy Parrot, and finally next week, Create your own world. Many of my favorite projects! Ms. G would create and share a studio. I would create an example or starter project and post the material to our classroom.

Flappy parrot or Mazes week

Choose Your Adventure with Scratch Jr

I’m enjoying teaching Scratch Jr during the 1st-grade classes’ weekly tech time. I still have my go-to Scratch Jr projects that I’ve blogged about but I’ve tried some new things out so far this year that I have enjoyed.

I like to fit my projects into the 1st-grade curriculum so when the teachers told me they were working on defining characters of a story, we used PBS Scratch Jr to create our own characters and animate them. When they started learning about the setting of a story, I had the students create a Choose Your Adventure (CYA) project.

1st grade CYA projects that were shared to my iPad

This was such a great project that I did this with all four 1st grade classes and we took the time to share the projects. (Re: -sharing: I have the students (with some help) Airdrop their projects to my iPad. My iPad is “mirroring” onto the classroom projector board. I get their “presents” and run their program for everyone to watch and enjoy. I ask the author to tell me which choice to make first)

In terms of coding, the Choose Your Adventure project introduced the “Start on Tap” and “Change Page” blocks for my 1st graders. I start the lesson by introducing what a choose-your-own-adventure style book is and talk about letting the player get to make a choice between two places to go. We then pick a starting background and choose two more adventure place backgrounds – now they have 3 pages.

Example character code

Next, they choose two characters for the first page. These are the characters the adventurers tap on to make the CYA adventure. The coding of these characters starts with two blocks – the gold “start on tap” followed by the red “change to page #”. Once they have the first page set up with navigation, I send them to those other pages to independently create the coding for the animated adventures. While they are creating characters and coding on those pages, I can circulate and help students. I generally ask them to test the program when I stop by their desk to see how it’s going.

Depending on the time, we can stop there and finish up on a second meeting. Otherwise, I have them go back to the introductory page again and add a title, like CYA, and some more code to the characters to let the player read the choices. These blocks are “start on the green flag” and “say”. The iPad keyboard has a text-to-speech button for the students to say the words if they don’t know how to spell them. (A super iPad feature for K and 1st grade). Other students may want to record their voice announcing the adventure choices.

Once their projects are tested they save them as CYA – I tell them that saving their projects as Project 3 is like having all the books in the library listed by number. “I want to read book 35 today.” And that generally gets them to rename their project.

I was really happy with the quality of coding and understanding of going to different pages. Some of them added “start on tap” to other pages to continue the adventure.

Other projects that 1st graders did this fall were Spooky Forest and Sunrise, Sunset from ScratchJr Curriculum activities. I’m planning to introduce Meet and Greet this year as well.

Last Fall’s 1st grade “Spooky Forest” and “Sun and Moon” projects

Next up is my own Be Kind project – with a tie-in to Digital Citizenship and February’s Be Kind online.

“Be Kind” projects from last year

New Approach

I tried a new approach with my intro to Scratch coding for 2nd graders this fall. I have decided I am tired of my winter scene project. These 2nd graders are using Chromebooks this year and I also didn’t want to set up 3 classes and 45 accounts in Scratch for one foray into coding. They do have some prior experience coding with Scratch Jr on iPads.

I decided on a favorite thing project where they could make their Sprites interactive with “When Clicked”. That is very much like the interactive winter scenes project but allows more creative scope. I also decided they would just save their projects to their Chromebooks. I would have them add them to a shared Drive or something and put them in a Scratch studio in my teacher account.

Thanksgiving was approaching so I framed the project as Thankful Things. I found a Seesaw activity called “Things to be Thankful For!” by Debra Locke that included a Kid President video and asked the students to respond with 5 things they were thankful for – like people, food, animals, clothes. It made the perfect project design plan. Students did a nice job with the prompt, too. (Seesaw is our K-2 LMS)

The second class time was an intro to Scratch and adding all the Sprites from our thankful plan. I allowed for some time for this. From their plan I knew some of the things they were thankful for wouldn’t be found from the Scratch Sprite library and I wanted to give them time to customize or draw their own. I mean, there is a taco Sprite but no pizza Sprite and who’s not thankful for pizza? For these 7 year olds, though, sometimes the Sprite options are too much fun and distracting to even remember what things they are thankful for. Luckily for the students, I was mostly interested in getting them using Scratch and doing some coding over following the Thankful theme.

We did add some simple “when clicked-do something” coding. We only got one or two coded and had to finish up on the third class period. Their code stacks are still very simple, but enough (especially with sounds and color changes) to make it exciting for them.

Logistically, it was tricky for the 2nd graders to load the previous project file each time – but it is tricky for them to do a number of things on their Chromebooks having only 3 months of experience with them. It did work well with prompting. They would download the Scratch project at the end of class and it would save to their device. We have one-to-one Chromebooks. Then they were able to upload the project file (.sb3) from their recent downloads when we met the following session. I was hoping they would be able to use Seesaw to upload and share the file with me, but the .sb3 file type is not something Seesaw accepts. In the end I made one account in the teachers name for each class inside my 2nd grade class and when their projects were complete, I would log in and add their project to the studio. This took more work in the moment. I had one person show the finished projects on the projector and that allowed students to see each others while giving me time to get to each student as they finished. The part that slowed me down in going to each student to help them share their project to our 2nd grade studio wasn’t the logging in but having to wait while the student thought of a title for their project.

It took more class time to do a first project this way but the results are projects that show more creative expression and individuality. They were excited to share their projects with their classmates.

Virtual Code Club revisited

Sometimes when it’s been too long since my last post it’s hard write about everything to catch up and I put off writing. Now it’s been longer so I’m going to just write and get started again.

This summer I thought my library club would be able to return to an in-person Code Club for middle school students 10-13 in the fall, but that didn’t happen and we’ve been holding our monthly meetings virtually.

In October I prepared to introduced the how to make a mouse trail video by Zoe/Zinnea, on the Scratch Team YT channel. A super fun, easy project with lots of room for creative play.

@ScratchTeam YT Channel Mouse Trail tutorial

I created a starter project in our Fall studio and also was prepared with alternative ideas including the Scratchtober SDS prompt.

Scratchtober design studio

I had one kid come to the online meeting. The same single kid that has been joining all summer long. She and I were a bit disappointed no one else joined. Coding is more fun with friends. We made the best of it and created cool mouse trail projects and hoped more kids would join in November.

In November I was really thinking if only one person comes that I should pause Code Club until we can meet in person. I prepared the Silly eyes project from Code Club. I love getting email from Code Club with new projects to try with my Creative coders! The silly eyes are separate sprites that swivel to point towards the mouse. I had seen and tried this type of animation years ago (Read a book project) but it was nice to have the step by step project directions for the students. I added RPiFoundation’s Gobo Watching as an example or remixable project to our club’s Scratch studio but didn’t have much hope anyone would show up. And….

Five kids showed up to code! Four made silly eyes projects and one tried the mouse trail project. Yay for Code Club. I guess we will keep meeting and persevere.

My Code Club’s November projects

Teaching Getting Unstuck

Last year I had the amazing opportunity to pilot the Creative Computing Lab’s Getting Unstuck curriculum with a fourth grade class. Our weekly coding sessions is what got me, the classroom teacher, and the students, through the year, honestly.

I started the class off with some introductory Scratch projects in the fall to get them familiar with Scratch online and some of the basics in preparation for starting Getting Unstuck in January. I created a class and Scratch usernames with my Scratch teacher account. The students use Chromebooks and Google Classroom so it was easy to share Scratch studio links, project instructions and GU journals whether we were remote or not.

Our starter projects for the fall were: Trick or Treat, Butterfly Gardens, and a Maze (for #CSEdWeek2020). These are some of my favorite, go to, introductory projects but they are all step-by-step, follow along projects that produce similar results. The creativity is limited and comes with boundaries. Still a great way to introduce Scratch and what you can do with it.

In January we started with the Getting Unstuck “When Clicked” module. I showed the introduction video, went over the design journal and we brainstormed about project ideas. We were going to look at the Inspiration studio next but ran out of time for that session. I met with them once a week for 30-40 minutes. It worked but modules took longer than I anticipated – mostly because the students, generally, wanted more time to work on their projects. At first it was hard to get them to share their unfinished projects in our class studio. I told them to consider them works in progress, or WIP, and that they could indicate that in the directions, notes or title. From my Scratch teacher account, I can’t look at projects unless they have shared them. Putting them in the design studio helps too.

Our first GU studio – so much creative coding!

In February we started the Getting Unstuck “Color Sensing” module. This one went better but the students had an idea of the process – how the journal works, the work flow and expectations. They had some experience sharing and reflecting. I also had a better understanding of the size and scope of projects they could create in the time I was giving them. Some of the students had such big ideas for projects and, as any coder knows, it always takes longer than expected to complete. Most of my students are novice coders but they were able to show so much expression, voice and creativity within this framework that I was happy to give them a little bit more time. I was also glad to see more reflection and more community (commenting and supporting each other) this time around.

Our third and final module was Getting Unstuck “Broadcast” module. I had planned to try the “Random” module as adding randomness to my projects is one of my favorite things, but I realized that my students weren’t ready. They were ready for broadcast and receive. One student had needed it for an earlier project. The students did a good job with this difficult concept and the GU unplugged activity really helped. The students had improved so much. They were seeing their own perseverance and growth (and writing about it in their journal) and were really enjoying giving and getting comments and especially the coding!

Commenting within a supportive community

That’s a quick overview of my experience. I also supported by the creators of the curriculum at the Creative Computing Lab and the other teachers piloting the project which was so helpful.

If you want to learn more, there’s a Getting Unstuck launch party! This party will take the form of a Twitter chat, using the #GettingUnstuck hashtag, on August 10 from 6–7pm EDT.

Code Club’s virtual future

Today may have been the last virtual library code club. The librarian and I are planning an in-person meeting for next month, outside under their tent where we will do some Makey-Makey Scratch coding. Then in the fall we will try for in-person in the library coding. It looks like we’ve made it through.

After the winter of monthly projects themed around Code Club’s protecting the planet, I changed the topic to space related projects. I found it worked better to keep one studio over a couple of months with more projects in them than have a different studio per meeting.

The virtual sessions never had more than 5 kids per meeting. Most kids came back a couple of times in a row. New students from my school code club started coming in the Spring.

My virtual library code club’s Winter studio
My virtual library code club’s Spring studio

In the Spring I was inspired by the landing of the Mars Rover Perseverance and side-kick helicopter Ingenuity that our first off-world project was to explore Mars like NASA’s Ingenuity, the first helicopter on another planet. So we tried to “Create a video game that lets players explore the Red Planet with a helicopter like the one on Mars with NASA’s Perseverance rover! Use Scratch, a visual programming language and think like NASA space-mission planners to design your game!”

We used the starter project Mars helicopter starter in our Off Planet studio. 
And the online instructions: JPL Code a Mars Helicopter Video Game.  For fun I suggested they use the text-to-voice extension blocks to have the helicopter announce Mission Success.

Ingenuity on Mars project start from JMGSTEM

Then we created a side-scrolling moon vehicle project using the project starter Moon Buggy from the Moon Hack 2019 guide. This one was difficult to complete in the time and virtually.

The last virtual session we tried using the video sensing blocks to create a space project. I put some sample video sensing projects in our Off Planet studio and suggested we test these and then change the theme to make a space version.

This seemed to work well but some of the student’s technology had trouble getting the video sensing to work. I know they all had cameras because – they were on a video call with me but maybe that maxed their device or the permissions for using the video camera in Scratch weren’t set.

Creative Video sensing space themed projects

I must remind myself that simple projects that have a lot of room for creativity work the best. It’s always about the low floor and wide walls, whether in-person or virtual.

International Code Club

This summer I’ve been hosting a weekly virtual code club for middle school students (ages 9-12) through my local library. It started slow at the beginning with one or less students each week. But over the weeks it has grown and now we are up to four or five!! It doesn’t sound like very much, but from talking to Christina from Code Club, that’s not unusual size for virtual code clubs.

I’ve been enjoying setting up the Scratch lessons each week. They included these topics:

Animation

Imaginary Sports – a Scratch Design Studio prompt for June

Music and Sound

Text-to-Speech & Translate

Examples from our studio https://scratch.mit.edu/studios/27193347/

Catch Game

Space Invaders

Pen blocks & Stamps

We have two more weeks where we will make a “How to” Scratch project and end with a “Surprise” project -using a prompt from Getting Unstuck 2020.

Each week I create a Scratch studio with some sample projects and a sharable document with some code tips or project instructions (or links to online project instructions), and I include the link to our weekly studio and virtual meeting. Students are invited to the weekly studio to remix what’s there and then share and add their project to the studio. I started out adding them as curators, but it was easier to temporarily open the studio to allow anyone to add projects and then turn off that option later.

Despite the low numbers, the meeting were successful in that those who showed up learned and created projects they were proud of. I’m proud of them, too. I like to spend the last 10 minutes letting the student share their screen to demo their projects – or let me play their projects if they’re shy. Later I will go and view any more projects that get added or shared to play, favorite, and comment on them.

This last week we found out that two of our participants actually live in Canada when one asked if we all were from her province. That’s the thing with online clubs, there’s no physical boundaries. I had to say, no, some of us were in New Hampshire. It didn’t seem to matter to her. Or any of us. We were having a good time coding and hanging out together.

I’m not sure how my club happened to get some Canadian middle school Scratchers. The library posts the offering on their website and parents can email to sign up. I always have a librarian as a co-host and second adult, as recommended by the Raspberry Pi Foundation (Code Club’s parents organization). She is the one to forward the meeting link and shared document to those who’ve signed up. Our meeting link is not on the website.

A couple of weeks ago I was commenting on one of my participant’s own Story studio to ask her if I could share her studio with the Creative Coders. Another Scratcher commented back and asked if they could join the club. I posted the library sign up link there in the comments. I wonder if they followed through? The librarian noted once, earlier in the summer, that one of the parents asked what time zone the meeting was in. So, I guess, that makes my code club an International Code Club. Pretty exciting!

I’ve learned a lot this summer, too. I’m more comfortable with the online format. I’m getting used to the awkwardness of everyone quietly coding for a half hour with very little questions. I’m quicker at navigating around and finding students recently shared projects. I’m learning what type of projects work in this remote setting.

If you want to know more about the project documents I share with the students, here’s an example (without the meeting link).

Virtual Code Club

Last week I took my Code Club virtual as we are all trying to do in education during this time of the Covid-19 pandemic.  Here’s what I did:

I created a Google Classroom and invited all my Code Club members to join.  I created my first post, added the materials, created a short video of me introducing the concept and emailed it all out to all the parents.

Our first lesson was Virtual Pet – here is my lesson Virtual Code Club #1. I kept the format the same as our in-person meeting – Greeting, Discussion, Learning Objective, Project information. I added some links to former Code Club project examples and posted it as material in my Classroom. I didn’t want this to be an assignment with a grade or due date.  This is for fun.

Screen Shot 2020-03-24 at 3.01.22 PM

The majority of my Code Club has accepted my invitation, including my middle-school helpers. Parents emailed back and were thankful and very much appreciated the idea of Code Club continuing. I had a few student comments of “This is fun” and one student who got stuck but then figured it out before I could help him out.  It went like this:

S: I tried this and it didn’t work.

S: What should I do?

S: Oh wait, it’s working now.

Me: What a great example of debugging. Keep testing and trying options. Let me know how it goes.

S: It’s working perfectly now.

My students are young, 9-10 years old, and most of them use Scratch offline versions – like I use with them at school, so I can’t see their projects.  That is one of the toughest parts of virtual for me.  I’m not getting to see their projects.  A lot of them are learning quickly about Classroom and virtual meetings with their class through Meet or Zoom. Eventually, we may do this as well (and I can wear my Scratch cat earrings again).

Today I got an email about #ScratchAtHome from Scratch In Practice.  I will see what support they have and perhaps they’ll have some suggestions for sharing project files and other learning opportunities for my students to be creative with Scratch.

I’m working on this week’s virtual code club project: Flappy Parrot – one of my favorites.  Then I may need to figure out a way to take my Library Code Club virtual, too.

Stay safe and wash your hands.