I volunteered to help at my daughter’s school. I was given charge over the three kids in each class who needed the least end-of-year review. So I have a cute group of twelve first graders who go with me to the cafeteria to code.

Things that are awesome:

They love it.

I don’t have behavior problems. Likely the high-achieving group has fewer behavior problems. Also they are motivated to get todays badge:

some icons depicting scratch skills, also a bunch of circle shaped objects like a cell, a clock, a watermelon

I had chatGPT help me make some, I found some on icon websites, and so on. There’s a daily badge which are those round ones. I also made badges for doing things to make my life easier, like helping others catch, squish, eradicate, and annihilate bugs, respectively. The gift icon is for when they give someone a code snippet.

They are learning very challenging things. XY coordinates, variables, negative numbers. They aren’t fully grasping them but they are playing with them and these early experiences will be fertilizer for when they are introduced in later grades.

One time I said, “We need a variable.”

And a girl said, “Did you say fairy bowl?”

And I said, “Yes! A Fairy Bowl! Do you see my fairy bowl? I am holding it in my hands.” I was cupping my hands around nothing. “It can hold any number of objects!”

We sit on the benches of two lunch tables, just on the sides with their backs facing each other, so they can see each other’s screens. I have a big screen to plug a computer’s HDMI cable into.

I found the simplest, funnest game possible: A sprite that jumps around the screen when you click it. “When this sprite clicked, go to random position.”

Things that are less awesome:

I spent three days getting them Scratch accounts. If I had access to parent emails and birthdates it could have gone faster.

Their chromebooks are small, some are broken, some have wonky settings, and they don’t have an HDMI port to connect to the big screen. Only some of their parents finished the account creation process, so only some of them can share their projects, which limits collaboration.

I did teach things on the big screen, but kids either weren’t paying attention or didn’t understand it, so I had to repeat the code many times. Perhaps I could have sent the kids to the native Scratch tutorials, perhaps I could have printed the code from apps I was helping them create.

I was really hoping that students who understood quickly would be useful for bug catching or reteaching, but new first grade coders actually couldn’t help peers that much. I gave out a few badges for helping- but most of the time I was assisting multiple groups simultaneously. This was exhilirating but I felt torn in many directions and likely there were some quiet wheels who needed grease but never got it. I don’t recall hearing my son, who attends STEM, helping others when he finishes quickly. I wonder if this is ideal or is a missed opportunity.

Things I learned:

I loved it.

Make username creation a creative writing exercise independent of coding.

Email parents separately about account confirmation, don’t expect them to click a random link a random company sends them wthout some introduction.

Coding is hard. There are so many skills and subskills. It’s like teaching reading. You would have to teach, reteach, test, retest all the things.

A mixture of group and individual work is ideal. Sometimes I would require students to pay attention to what I was doing on the big screen, sometimes I would walk around and help individuals.

Identify broad categories of apps, and teach universal skills, then have them do their individual variations.

Reflecting and trying new things is essential. You will eventually mistake your way to a good education.