Tips on conducting Programming Workshops for Kids

I have conducted several programming workshops for kids and they have been an enriching experience for me. The kids of today are much smarter, eager to learn and raring to go.

This blog post captures a few tips/suggestions that I have found helps while planning/conducting a programming workshop for kids. This is by no means an exhaustive list but one that I believe will help. Do share your feedback/points to the list via the comments.

My workshops have focused on Programming with Scratch and Programming with Lego Mindstorms.

The tips/suggestions/points are given below in no particular order of importance. Each of the points is important in my opinion. Here we go:

Workshop Duration

The workshops that I conduct are usually around 2-3 hours. Keep some buffer but I recommend not going beyond that time. Plan out your topics accordingly and keep in mind that there could be something that may not get covered. You will get a sense of how it is going midway and be prepared to change course a bit. Don’t assume that the workshop will go perfectly as planned, so be flexible.

Understand the participants

You need to nail down the students who will be attending your workshop. By that I mean the age group of students, their current level of expertise with computers, any previous background with programming (yes, you will be surprised that there are students who actually knew what you were going to teach, more on that later) and so on. Be firm on the age group that you want to target based on your teaching material.

The age groups that I target are between 7-12 years. This age group can get tricky especially for the younger lot if they are not used to typing. So typically I go with tools like Scratch where you have to simply drag and drop graphical programming blocks onto a canvas and click on a “Play” button. Any environment that requires the kids to type is quickly going to turn into a disaster. So be aware of that.

Location Infrastructure and Dates

Identify the place where the workshop is going to be held. Speak to the host, if the event is being managed for you. I have conducted the workshops in my house, in proper meeting rooms (at hotels) and also in libraries.

Do visit the place in advance and not 30 minutes before the workshop is going to be held. The main problems I have encountered and which create serious issues during the workshops are:

  • Lack of power charging points. I have worked around these by carrying a few extra power extension chords.
  • Sitting arrangement is important. At times the chairs are too high or low for small kids. I have found that eventually a way is figured out and kids don’t mind keeping their laptops on well … their laps. They will be more resourceful that we can imagine but this is something you could plan out if possible.

The best days in the week that kids can attend your workshop is a weekend. I have found Sundays work best with a Saturday too.

Batch size

Keep the number of kids in a workshop to an absolute minimum that you can manage. If you are planning to do everything on your own, including responding to a kid as they have a problem trying out some program, you cannot manage more than 5-10 kids. Anything beyond that number will require either than an adult supervisor is there , who can manage about 4-5 kids per supervisor. Invite their parents to join in. That helps a lot.

Haul your own equipment and hardware

Not every place that you conduct your workshop will have every kind of support to need in terms of hardware. For e.g. you want to show your screen to the students and you need a projector. There are chances that there will be none or cannot be provided. Either you bring your own projector or in my case, I have even hauled my flat screen TV to the location. Carry enough USB drives, carry a spare laptop or two, power extension chords, any cables, internet dongles and more.


Parents of kids in the range of 7-12 years are definitely concerned about any photos or videos that you may be taking of their kids. These are valid concerns and you need to set the right expectations in terms of how you will be using the photos and so on. Do keep any cultural sensitivity in mind and play it safe. Distribute a Consent form that asks for a parent to give their name and sign a sheet that explains how you will be using the photos. The general idea is that you will not use the names of the students, you won’t tag them by name anywhere and in case you are taking a video, do clip out sections where the kid might say their name or something.

Multiple copies of software

I typically do the setup of the software at the workshop itself. I have found that sending instructions via email prior to the event does not result in most of the kids setting things up. We have to understand that the laptops that they bring along with them for the event most likely belongs to the parent and they might have a lot of questions as to what is being setup,etc.

But make sure that you carry multiple USB Drives and take into considerations that people might bring along a Mac / Windows / Linux laptop and expect that you can magically produce the installers for all the platforms. So be prepared on that front.

Anti Virus Software and faulty USB Ports

One of the biggest headaches is not able to setup the software on the kids laptop. It will eat into your time and no one is equipped to solve installation problems. But this is part and parcel and do expect things to go wrong.

The biggest culprits have been faulty USB ports, USB port disabling, Antivirus software and so on. Unless the parent can confirm what is going wrong with the laptop, there is nothing much you can do.

What has helped me in such cases is that I carry along a couple of spare laptops. And I tell the kids to relax and use those machines instead. In some cases, asking kids to share a laptop also works but do that carefully because at this age, it is not common to find kids willing to share things easily.

Keep Slides to a minimum or No Slides !

We all know how boring presentations can be. When you deal with kids in the age group of 7-12, you cannot expect them to focus on a presentation with slides and bullet points. I usually jump into the software straight away and there are really no slides to show. Even if you do have slides, keep it to showing slide and then immediately switching to something that the kids can actually see and try.

The pattern that works best for me is : Show a program, then ask them to try something and repeat that pattern. Keep them engaged with different things. Most kids cannot focus for more than a few minutes at a stretch, so be aware of that and plan out the exercises accordingly.

Embrace Chaos

Nothing will go as planned typically. This is not an adult audience that you are presenting to. So expect interruptions of all kinds, questions of all kinds that you will be forced to deviate and explain something that you planned a bit later and so on. Be prepared for the unstructured manner in which the event will move. There will be times where you will need to silence some kids and even situations where the kids will stand up, move around and do something unrelated to the event. Just deal with them there and then in some way. I do not have a magic remedy for such situations otherwise I would have written a multi-million dollar bestseller book.

Let there be Sound

If the programming environment that you teach is going to have some sound samples with a play button somewhere in the IDE, expect the kids to find that out before you get to explaining it. The result : a cacophony of sounds with absolute disregard for the teacher. That is fine. Learn to laugh, tell them that you are glad they have found how to do it and just go with the flow.

Immediate Attention Syndrome

Kids are used to receiving immediate attention and your workshop will be no different. There will be questions asked at the same time, everyone will call you to address the issue immediately and so on. Learn to set the rules at the beginning itself and keep reminding that kids that you will come to them, once you are done addressing the current kid and so on. Just be firm there and they will understand.

Volunteers are a godsend

Just accept that you need as much help as you can from volunteers. It is difficult to manage more than 5-6 kids on your own at times. Volunteers who are familiar with the stuff that you are trying to teach helps a lot. At times the questions are not related to the matter i.e. it could be that the kid is clicking somewhere else, etc. So the volunteers can sort small things like that out without requiring too much technical knowledge.

Usually, you can expect a volunteer to address 4-5 kids at the time. I have been very lucky to receive support from my wife, who addresses issues as they arise. Even though she is not a technical person, she can help out easily because usually it is question of following instructions.

Be Early

This is a golden rule. Be at the location as early as you can. There could be a few surprises thrown in that are beyond your control and if you have some extra time on your side, you can probably address them. Being early at the location also helps to calm down any nerves and helps  you focus on the task at hand.

The Workshop will usually start late

Despite your best efforts, participants will arrive late, there will be some seating confusion and a set of things that will ensure that you cannot start your workshop on time. Don’t stress about it. This is not a life or death situation, it is a fun programming workshop for kids ! So take it in your stride and plan for it.

The workshop is also likely to stretch beyond your expected time because kids will get excited once they figure out things and they will ask you lots of questions and how do I do A or B or C and it goes on and on. Be aware of the time factor and at some point in time, mention that there is time only for one last project or task and wind up.

The Smart Kid Issue

There will an instance or two of very smart kids. It is very important that you consider how you will handle it. At times, it can be distracting because the kid might try to show off their knowledge. I always believe that if the kid is smart, I like to acknowledge it and encourage the kid more. But I do that in a manner that does not discourage other students who are still grappling with making things work.

I usually go down to the smart kid in the lot, encourage him/her to do a more challenging assignment and then allow him/her to raise the bar automatically.

Encourage Questions and Participation

There are flaws with our education system and we cannot be perfect. But one area that I sort of find very distressing is that several school teachers do not encourage questions to be asked. I think it beats the whole idea of education but since we cannot overhaul things overnight , we can still deal with it differently in our workshop.

I do make it a point to allow kids to ask questions and interrupt me. Understand that they are not a mature audience who will exactly understand what you mean by “Do interrupt me at any time, etc”. But allow the questions to flow. There will be one or two kids who will jump and ask a question or two. Encourage that, mention the question, praise the kid and answer it. You will find that most other kids will then start. No question is stupid at all. In fact, be prepared for some questions that will completely stump you.

Encourage Trying and Failing and Trying

The true joy of programming is not in getting everything right in the first try. Nothing every works on the first attempt and that is true of your workshop too. The kids will stumble, will make basic errors and more. Make sure that you encourage them that they are on the right track and that they can correct it, etc. Show them the path, explain it 2 times, 3 times and they will get it.

Instill the important fact in them that it is all about trying, working on it, failing, correcting it and so on. But put forth that message in a positive way. Use positive words instead of negative ones. They are very sensitive at this age.

Even when praising, do it in a subtle manner that others, who are a bit slow, do not feel left out.

Inattentive Students

I have even seen students who simply stop doing what is being told to them and do something else. Some simply start walking around the class. Some will play a game. Others will strike up a conversation and discuss current kids affairs. As long as you make sure that it does not disturb the rest of the class, let them go on. Try bringing them back on track but be mindful that you have a workshop to complete.


Do not forget to take photos. I have found that the best photos are taken when they are actually trying out things on the machine. The expressions are priceless and something that you can share with everyone.

Hand Outs – Material

It helps to keep a few handouts ready that the kids can follow during the workshop. These handouts should be well written and tested because you have a fairly young audience and they are not used to reading step by step instructions. So keep it simple but having good handout material is key to getting things done.

An excellent set of 1-page handouts are available at the Scratch cards. I laminated these cards and distribute them during the workshop. The kids finish one card and then exchange it with others. That way, they finish several projects during the workshop.

Have fun

“What is this life, if full of care, we have no time to stand and stare…” said W.H. Davies. Replace the words “stand and stare” with fun. Never compromise on the fact that you want the kids to enjoy the session and go back inspired to try and learn more. Keep things simple, have some laughs (even at your expense) and keep the fun factor high. Do use examples that are easy , fun and entertaining for the kids. Keep some jokes handy too.

All the best for your workshop. Do share your tips.


One thought on “Tips on conducting Programming Workshops for Kids

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s