Birdie – A Simple Game for Teaching Purposes

March 14, 2015

I was recently given the opportunity to teach young children interesting aspects of computer science. The children had only just started learning about programming and had begun learning Python to develop simple programs that ask for input, transform it in a simple way (e.g. unit conversion), and print the results to the console. In order to communicate some of the more interesting aspects of programming though and to get the students excited about the endless opportunities computer science and programming enable I decided to develop a simple game with the children.

The premise of the game is simple: Use the keyboard’s arrow keys to avoid obstacles for as long as possible.


I developed a set of practical tasks that are explained in detail on multiple worksheets. During the teaching activity I introduced important topics myself. However, the majority of the work is done by the students’ own investigations and following the worksheet instructions. Since the aim of this teaching project was to communicate the field of computer science to the children rather than explain every little detail of the program, I designed the tasks to have visual outcomes with only very few tasks adding functionality that does not directly contribute to what can be seen on screen.

I divided the game development into four sessions:

  1. create screen with static bird
  2. Animate the bird and move it using arrow keys
  3. Add obstacles to the game world
  4. Handle collisions between the bird and the obstacles

The tasks are to be completed using Python (I have used version 3.2). Note that the tasks rely on the pygame library to be installed.

I have made the lesson material, including all source code and the worksheets, available here to download (v1.0). Please let me know if you find any issues with it or can suggest ways to improve it.

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.

Read more