This post is the first of six in a series with ideas and resources on how to make computing lessons engaging and demanding for as many students as possible. Click here for the original post.

Creative Computing

Ideas and resources for creative computing lessons

I think creativity is one of the most over-used words in teaching. Put a few fancy pictures on a worksheet and it’s described as ‘creative’; Involve some design or multimedia in a project and it’s suddenly ‘creative’; Set students an open ended challenge that keeps them busy for a few minutes and that’s ‘creative time’.

Only, it rarely ever is.

There are loads of definitions out there for creativity but I like the the literal translation: the art of using your imagination to creating something new.

Re-creating something that someone else has already made isn’t creative – it can be restrictive and frustrating. The step-by-step guides that are so helpful for us teachers can be great for getting students started, but if that’s all they ever follow then there’s a good chance we’re limiting their creativity.


  • Don’t always get students to follow step by step instructions. Use them to introduce new skills but ensure that there’s time and opportunity to explore beyond copying or following rigid instructions.

e.g. “I’ll teach you how to make a game that does x, y and z, then it’s down to you to add any two additional features”

  • Choose projects where students can customise / extend / adapt / create their own ideas.

e.g. “Create a game that will occupy a two year old for as long as possible. You can use any website / app / tool and base your idea on any existing game as long as it’s suitable for a parent to give to a 2 year old and isn’t identical to something already out there”

  • Creativity and imagination are closely linked and imagination is heavily influenced by our interests and abilities. Create opportunities for students to find an outlet for their interests in their work

e.g. “Last week we learnt how to create a webpage and style it using CSS. Today I want you to create a news headline webpage with an imaginary story. Celebrity been abducted by aliens? Football team relegated? You choose any three headlines as long as you keep it clean and don’t write it about anyone in this class”

Key questions:

Are students simply copying (from a video / from me / from each other / from a website) or have they been free (or forced!) to innovate and think for themselves?

Example activity: Random story generator

The above code generates a random fairy tale from three parts of three different stories. It demonstrates how lists can be used to store more than one piece of data and how to choose something at random from a list. Students have to master the python syntax to add their own fairy tale into the lists.

Research and further reading

This paper highlights the role of creativity in recruiting and retaining women and minorities into studying Computer Science. It rejects the idea of creativity for the sake of it as a tokenistic gesture but defines the core computer science concept of problem solving as inherently creative. The paper makes strong links between collaboration and creativity in order to dispel the image of a ‘lone code monkey’ and replace it with a pedagogy that allows individual students to become enthusiastic collaborators who take pride in their work.

Sarah Monisha Pulimood and Ursula Wolz. 2008. Problem solving in community: a necessary shift in cs pedagogy.