Building a Computer Programming Team


Building a Computer Programming Team

This is a long and hard process. Not for the faint-hearted! It takes years to build a programming team.

I’ve used the term “programming team” as opposed to a club. Depending on your school the two words can have very different connotations. A team is a group of students who have the following things in common:

  •      • They had to “audition” to get into the team.
  •      • They practice regularly.
  •      • Team building skills are necessary and will be developed.
  •      • They must learn the skills necessary for their “sport”.
  •      • They are competing in some way.

Whereas, a club is a group of students who share a common interest.

The advantage of calling it a programming “team” is that everyone involved will be focused on learning how to solve computer programming problems. It also gives you, the teacher, the ability to be selective about team membership.

Programming Team Preparation


Unfortunately, you have to do some prep work.

You need to build a repository of computer problems. You will also need to sort the problems in order of difficulty based on your students.

I suggest starting with math problems. Organize them based on levels with increasing difficulty so they are scaffolded. Then move on to string problems.

The next thing you’ll have to do is investigate how different competitions work:

  •      • ​Can your programming team(s) participate in local/regional competitions?
  •      • ​Are there any online competitions that meet your needs?
  •      • ​Is the competition individual or team based?
  •      • ​If team based – how many students are on a team?
  •      • ​What languages are supported?
  •      • ​Do students upload source files?
  •      • ​Is there a time limit?
  •      • ​Does the site have a good feedback system if a solution gets a zero
  •         – especially if it’s an upload/format issue vs the wrong solution?
  •      • ​How often do competitions occur?

You know your students best but remember your programming team will need definitive and regular goals otherwise you run the risk of students losing interest and everything falling apart.


A starting point...

​Start with your best students. Invite them to join your programming team. Find a common time and location to meet.

Work in pairs to begin with sharing a computer. This will build student confidence and skills. Many team competitions only allow 1 coding computer between 4 students (maximum). This means that only one student can code at a time. Division of labour within a team must be learned and practiced to avoid conflict. Better to do that in school than when the points count!

First, you will need to keep all the team records:

  •      • ​attendance
  •      • ​programming team names
  •      • ​membership
  •      • ​emails
  •      • ​problems solved etc.

Eventually, your team can elect its own executive to run things. This will take the pressure off you and develop their leadership skills – which always looks good on post-secondary and/or job applications.

Programming Team Organization


Don't forget!


Your team doesn’t have to just be programmers.

Think about your school’s best math students and even chess club members.

These students have valuable problem-solving skills that would be an asset on your team. You may even persuade some of them to enroll in your courses!


I started with four students who expressed an interest and asked me if they could go to a regional competition in 2003.

It took me a while but by 2014 I managed to build my programming team to over 100 participants. It got so big we created 3 separate teams: junior boys, girls, and a senior mixed team. 

The team as a whole elected a president.  Then each separate team elected 2 more vice presidents. They became the programming team executive.  They took care of attendance, problem selection, workshops – everything I had been doing, and more!

If you’re thinking about starting your own team I’ve created a FREE document to help you.  Just click on the image below…

Get your