Q & A: Running a programming club in a library

Kirstin of the Home Educators Coding Club, which runs in Norfolk Library, left a comment on my previous post asking some questions about the details of running our library programming club. I feel these are questions of general interest to those running or planning to run their own club. So I decided to write up my answers in a new post.

What programming languages do you use with the children?

We start with Scratch. Scratch is a wonderful first language because it neatly avoids many of the stumbling blocks that new programmers are likely to face. It is also very suited to teaching within the library computing environment because it runs in the browser, without requiring additional installation, and it manages the children’s project files.

After that we move onto web programming. This covers how to construct a web page in HTML, format the page using CSS, and program interactions with Javascript. This can be more challenging working within the library due to restrictions on what we can install. While it was running, we used the Teepee.io service to host our web pages, but that shut down last year. Since then, with support from our local Tech City initiative, a local Technology company has offered to host our children’s web pages. Unlike the Teepee service, this is bare bones hosting, but that allows us to show the children how web pages are hosted in the real world.

The final official language we cover is Python. This is the hardest of the languages to get running on the library computers. We have tried several alternatives, but we have currently settled on using Trinket as a programming environment. Like, Scratch, the programming environment for this runs in the browser.

Additional languages we have tried at the club are Ruby, Kodu, C# within Unity, and variety of the languages available at Codecademy. Mostly we let the children explore for themselves wherever possible.

How do the sessions work on a practical level if they are drop in?

We allow the children to manage their own accounts and work at their own pace. Since most of our project file management is handled by external sites, we don’t have to worry so much about where each child has got to. We can focus on technical issues and leave the children to struggle with programming themselves.

We have a number of printed and online work books that the children can use to teach themselves the basics. Once they have gained sufficient experience, we let them choose whether they want to continue creating and exploring in that language or move onto the next.

Do the children all work on the same type of projects at the same time or is it interest led?

Most of the children will work through the same material in approximately the same order. But as they start at different times, and not every child will attend ever week, it tends to be rare that everyone is working on the same thing at the same time. The only regular exception to that is when there is an event of some kind, such as Scratch Day.

Do they work as a group at any point or always individually?

Some of the children like to work in groups, but most prefer to be controlling the machines themselves. We also have some younger children who typically work with their parents. The parent are generally a lot more hands-off anyway and are happy to let their children drive.

You make a good point about coding bringing boys into the library – I’m going to use that one!

Although the library are happy with us attracting more boys to our club, the issue of diversity in our club is a constant worry to me. My suspicion is that parents of boys are more likely to seek us out than parents of girls. Where we do get girls in the club, they are frequently the sisters of boys that have joined. I’m hoping that by advertising within the library we’ll attract more girls in the future.

Any other questions

Many thanks to Kirstin for the great questions.

If you are running your own club, or interested in starting one, and want to visit us, we run every Saturday morning from 9.30 to 10.30 in Croydon Central Library. Feel free to pop in and see us in action. And if you have any questions, leave a comment below.


6 responses to “Q & A: Running a programming club in a library”

  1. ????????????????????????????????????????? ???

  2. Hi Paul, thanks for the reply. I think we’d prefer to do informal, less structured sessions that focus on Scratch so it’s great to know that’s the approach you’ve taken. Thanks again! Will

  3. Hello Will, in answer to your question, we don’t stick to the Code Club term plans. Instead we let the children pick and choose which projects they want to work on and they all work individually at their own pace. We have some children that have attended regularly since we started and others that pop in now and again. It’s a mix.

    We’ve been fortunate in having enough computers so we haven’t needed to operate any form of waiting list so far.

    Mostly we’ve worked on Scratch. Some of the children have progressed onto HTML and a couple have dabbled with Python but we let the children’s interest drive the projects that they work on.

    I hope that helps,


  4. Hi Paul

    I am a Librarian at Oxford Central Library and we’re in the early stages of setting up our own Code Club. Thank you for the advice in this Q & A and the blog post on the Code Club website, it’s been very helpful.

    One aspect of the club I’m still trying to work out is the term times. Did you follow the Code Club recommendation of doing 3 terms worth of projects, with each term covering a different language?

    If so, did you have roughly the same children attending each session for a whole year? We’re wondering how we might manage waiting lists (possibly by doing Scratch for 20 weeks and then starting again with a completely new group).

    Thanks in advance for any advice you can offer!


  5. Whoops! A missing quote mark in the markup caused a couple of paragraphs of my answer to the first question to get eaten. I have fixed it now.

  6. Great post. Thanks for your replies – lots of points in there for me to think about for future sessions. *goes off to spend the rest of the day on Trinket*

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.