10 Tips for Running an Elementary School Computer Club

kid_learning_scratch

While I’m a software developer by trade, I’m also the mother of two school-aged kids, so one of my pastimes is volunteering in various capacities at our local public elementary school. At some point early this school year, in a moment of temporary insanity, I found myself nodding my head “Yes” when a wiser full-time-working parent would be saying “No”, and next thing you know, I had agreed to lead an after-school Computer Club for 4th and 5th graders.

Something I’ve observed that you may have also: by the time a kid is 9 or 10 years old, they are already incredibly capable of wasting copious amounts of time on a computer. This age group (ok, all age groups?) would happily spend all their time playing computer games — Minecraft being the game of choice these days.

My goal with Computer Club was to get the kids away from just playing games and into creating something with their computers — maybe even creating their own games. After a quick survey of developers with kids and the Internet, I settled on teaching basic programming concepts with a language/platform called Scratch.

Scratch is a graphical programming language developed at MIT for kids ages 8-16. A web-based development environment is available at the Scratch website, or a downloadable Windows and Mac native environment is available if Internet access is an issue. MIT provides a nice tutorial on the Scratch site to get started, and I found a book with lots of project ideas. For an experienced developer, the language is pretty easy to figure out, so after a Saturday and Sunday afternoon messing around with it, I felt confident enough to teach it.

However, the language is only half the battle. Remember — I was working with a whole bunch of 4th and 5th graders. There are some logistics that go into teaching a group of kids in this age range. In this blog post I will give some tips for running your own elementary school Computer Club. Next week, I’ll share my curriculum.

Our club met 1 day a week, for an hour and 15 minutes, for 9 weeks.

1. Hold the club in winter.

Let’s face it, kids have a lot of activities these days, which is great — after sitting around in a classroom all day, I think kids should run around outside and play soccer on a beautiful autumn or spring afternoon. Let them.

Save Computer Club for the dead of winter. This winter in Michigan was perfect for it. When the temperatures are hovering around 0 degrees F, there’s no better place to be than in the school library curled up with a laptop writing some code.

2. Don’t under-estimate the number of kids that will sign up for a Computer Club.

At our school, there are perhaps 120 kids in 4th and 5th grade. More than a third of them signed up for Computer Club. We had some attrition, but still we had 40 participants who came every single week. You know all those discussions about student to teacher ratios in American schools with all of the budget cuts in the past several years? Well, 40:1 is pretty overwhelming for those of us who are not professional educators. Make sure you have someone to help you out.

3. Use multi-media; kids love it.

Kids love images, videos, and music. The ability to create and consume colorful graphics and catchy tunes makes a computer-based activity so much more rewarding. Scratch recognizes this, and dynamic images and music are integral to it. Even if you decide not to use Scratch in your Computer Club, I recommend you find some way to allow the kids to express themselves through computer-based media. Just the ability to design an avatar really excited the kids.

4. Don’t over-estimate what 10-11 year olds can do.

The Scratch runtime is fairly flexible and powerful, making it quite straightforward to develop a dynamic game with lots of user interaction. So initially I had visions of my students designing and implementing their own games. I shared this idea with a couple of parents who wisely recommended that I scale back my dreams.

Most 4th and 5th graders have not been exposed to programming concepts yet, so things like flow control, variables, and random numbers are totally new to them. Even with Scratch doing most of the heavy lifting (for instance, handling concurrency and user input), the developer still needs to understand if statements, while loops, positioning a visual object on a coordinate frame, and the like, which is hard for a neophyte to grok in their first project.

Instead, the approach I took was to design the game for the kids and have them implement it, giving them lots of opportunity for customization. This approach seemed to work well. The amount of creativity they brought to their games was astounding, and for the most part they spent little time frustrated and confused.

5. Don’t under-estimate what they can do.

While they may not know Scratch, 10-11 years do know their way around a computer. And they know what’s out there on YouTube. And they know when the adult:kid ratio is low! If you don’t keep them busy and engaged, they’ll spend all their club time playing “What Does the Fox Say” and “Harlem Shake”. They will also mess with the settings on their computer and one another’s files.

Set some ground rules up front, let the kids know you expect them to behave responsibly, and then stick to the rules.

6. Try to have one computer per kid.

Idle hands make for the devil’s work, as they say. And we all know that a bored kid can be quite devilish. If you can arrange it, try to have one computer per kid. Our school’s media center has a collection of laptops and desktops that worked just fine for our club.

I worked with the media specialist to understand the school’s policies for using the computers, and I made sure the kids were aware of those policies, too. The Scratch environment does not require a high-end computer, and what’s more, it was already installed on the school’s laptops, so they worked out just fine.

I did, however, experiment with pair programming (it’s never too early to start on good programming habits!). This actually worked out all right. It helped the kids to work through programming challenges and catch mistakes in their programs, just like it’s supposed to. I did have a few kids who just didn’t get along when trying to work together, so I made exceptions where it seemed appropriate.

7. Get everyone in the mood with some geeky fun.

This tip came by way of previous Computer Club mentors. Starting out each session with a fun, age-appropriate Internet meme seemed to make everyone smile and set a good tone for the club. I can haz cheezeburger?

8. Be prepared to save files.

Saving the kids’ work from one session to the next was a real chore. We had a number of constraints that I think are fairly typical for schools:

  • Connecting to a server from our MacOS laptops (be it the students’ storage on the District’s server or the donated Server dedicated to the Computer Club) involves several steps that can trip up the kids, including keeping track of logins and passwords. This approach is time-consuming.
  • We tried using thumb drives that Atomic graciously donated to our club, but I had either the problem of collecting them all back from the kids each session and keeping track of them myself, or trying to get the kids to keep track of them from week to week. Either way was failure-prone.
  • We were not allowed to install software on the school’s computers, so using a solution such as Google Drive or Dropbox meant we could only use the web interface, which was also more steps than I would care for.

I haven’t yet figured out a good solution for this problem at our school. Suffice it to say that we spent 5-10 minutes each session ensuring that our files were saved.

9. Even so… they’ll lose their work.

There isn’t much to say here. I’ve taught college courses, and those students lose their work too. Just be ready for the tears.

10. You can never, ever, stamp out Minecraft.

Despite my best efforts to keep everyone busy and engaged, there would always be a couple of kids in the back of the library playing a bootlegged version of Minecraft. And one pair of students made the game they created look just like Minecraft.

If you have advice and observations from your own Computer Club, I’d love to hear them!
 

Conversation
  • Chris Carr says:

    Have you tried codeacademy.com for some real coding? Do you think they’re too young?

    • Anne Marsan Anne Marsan says:

      Chris,

      I haven’t tried codeacademy.com. In my group there were perhaps 2 or 3 kids who were ready and interested in writing “real” (text-based) code, but for the rest of them that was still a very abstract concept and I felt like it wouldn’t provide enough bang for the buck, so to speak. The Scratch programming blocks made it very easy to put together a fairly complex program quickly, but still challenged the kids to think about how the program works. But for those kids who are ready to move on and start writing in Ruby or Python or JavaScript, I’m perfectly happy to point them to a site like codeacademy.com and encourage them to give it a try.

  • binu says:

    I am a mom and software engineer and I started teaching scratch as an after school program last fall. I have had two classes so far. Hats off to handling 40 kids. I had 20 in my first class and had to cut down to 10 for the next. I would like to touch base with you on teaching this class. I don’t recommend code academy for this young kids. I think scratch teaches them fundamentals that then later apply to any language that they can learn in code academy

  • austin says:

    We had problems with Minecraft distractions too, so instead of fighting it, we incorporated it into the computer club. We started by getting the kids to build a model of the school in the game, then we extended this to include three games – treasure hunt, parkour course and construction area. We ran a Minecraft tournament at the school fayre, with three rounds of each game. Previously, we had done quite a bit of programming with them before introducing Minecraft (using Raspberry Pis, HTML, simple JavaScript and some Python), so we did a bit of programming in Python to help us with the tournament – tracking scores, clearing down the world between games, setting up player start positions etc.

    This is a great resource for programming Minecraft using Python: http://arghbox.wordpress.com/2013/06/13/programming-minecraft-pi-with-python-early-draft/

    There is also the possibility of teaching programming *inside* Minecraft, some clever people have done amazing things inside the game, even building whole a working CPU: https://www.youtube.com/watch?v=yuMlhKI-pzE#t=20 This isn’t something we’ve explored yet, but teaching some simple logic inside Minecraft might work.

  • vathsala says:

    Hi,

    Thank you for sharing your experiences. I am from Malaysia and coding for young children is still at its infancy. I am trying to set a new trend by letting people now that anyone can code, even young children as young as 8 years old. For that, I am thinking of starting my own computer club, which is not attached to any primary or elementary schools, and have chosen Scratch as my tool. However, one of my friend is telling me that I cannot start a computer club and teach just how to code. People won’t be interested. Instead I have to also incorporate some hardware. My friend is trying to sell his raspberry pi hardware and looking at possibilities of joining my club so that we can do both, teach coding and sell his hardware. Do you think this is a good idea? As for me, I am not so keen on that, because I believe people can learn to code on any machine they are comfortable with and in Malaysia many of us still prefer Windows (fyi, raspberry pi works on linux platform).

    Kindly tell me what do you think about my idea and my friend’s proposal. I would also appreciate any suggestions from you and any commentors here. Thank you.

  • Anne Marsan Anne Marsan says:

    We have been running a computer club at our school for several years now and have only done programming. There has been a *lot* of interest in the club! This winter I limited the club to only 5th graders at our school (about 60 kids) and had 25 participate. So I don’t think you necessarily need to have a hardware component to your club in order to keep kids interested. There are enough cool things you can do with the Scratch interface to keep the Minecraft generation busy and creative. This year I helped the kids to build a PacMan-style game, which was quite challenging.

    That being said, I understand you can use Scratch to program a Raspberry Pi: http://www.raspberrypi.org/learning/getting-started-with-scratch/

    • Vathsala says:

      Thank you for your reply Marsen. And sorry for my late reply as I have been busy doing my research. In the beginning I was very excited on starting my own computer club, but I have problem marketing it. Still about 90% of Malaysians are skeptical about teaching kids computer programming.They still don’t see the picture. They think that computer programming is only for those kids who aspire to become a programmer one day. No matter how I explain to them also, they are still very reluctant. So until now I still haven’t got a single kid interested. As an alternative, I have started approaching some pre-schools in my area to consider starting a computer club and introduce Scratch. They are still in the process of thinking over it. Mean while, it will be very helpful if you could share with me your lesson plans and teaching materials, as that would give me some idea on how I can market my club.

      Thank you very much.

  • Vathsala says:

    Thank you very much Anne Marsan.

  • Noxie says:

    Hi I am a teacher I like the club but in my school there are no computers how can I start the club without computers

  • Emmanuel says:

    I think the problem in most cases will be getting enough computers to get each kid fully involved. Another issue will be managing the class size. Lessons like programing require single class arrangement for uniformity of standard. I may suggest a BYOD program for a start.

  • Jeremiah Inyene says:

    having interest to start the club

  • alam says:

    nice article – glad to have come across it. i m in the process of beginning a club at my school for my kids who wish to further their computing interests besides the classroom work…

  • Amy Kerr says:

    My kid is hooked on Scratch. I’m looking to start a club at his school. The school has asked me to submit a short written proposal for the club. Does anyone have a proposal they used when starting the club that they might be willing to share? Something I might use as a starting point? Thanks for all the links to other resources. Very helpful.

  • Victory O. says:

    Am really encouraged reading about your experiences and advice. Thanks a lot for the links. Am looking to set up an ICT club after school club where kids can come once a week for at least an hour to learn different skills. I need advice on how to go about this, the equipments I need and steps needed to be taken. I need to write a proposal to schools and other places but I need help writing the proposal. I will be glad if I can get help. Thanks.

  • Mike says:

    I start with a hardware component. I have my students tear apart the computer and reassemble it. I then move on to coding. I’ll probably start with Scratch or a similar program this year. Finally, I’ll move into hand coding html pages. I am switching that with scratch this year as I want the students to be able to work independently. HTML and other coding is hard for my students.

    I’m in an elementary school and run my club for 4th – 6th grade students. This year I have around 5 kids.

  • Comments are closed.