Ideas for activities

From GCompris
Revision as of 20:22, 5 February 2016 by Bruno (talk | contribs) (Web Export for the animation)
Jump to: navigation, search

We already have a large number of activities in GCompris (about 120) and we are always looking at adding more. An important aspect is to keep the project focused on its core value: educating young children.

Each activity requires a good thinking of the educational aspect including a progressive difficulty, it must be easy to understand what we expect from the children by providing instruction and in game guidance.

If we consider the activity list, currently our biggest weaknesses are in the area of reading/writing and language.

Core values

In GCompris all the activities follow the same core values:

  • we do not follow a specific country curriculum because we want to be international
  • as we want to be international it makes some developments more complex but we are happy to do it
  • we don't force children to follow a specific path in the software
  • we don't put time limit because this kind of tuning exclude children with disabilities
  • we let the children select the difficulty level and do nothing to determine it is appropriate or not for her
  • we do nothing to render the children addict
  • the software does not replace a teacher or a parent
  • the software does not really teaches, it is a complement to a traditional teaching course

Port to Qt Quick

We started to rewrite GCompris in the Qt Quick technology. This will allow us to bring our work to tablet users. Here is a quick startup guide to start developping in the new environment. We maintain a page with the status of the port.

This is currently the most important task.

Standard compliance


We have to look at the IMS Question & Test Interoperability standard. Look at these examples to get an idea of what kind of questionnaire can be created. This project is open source implementation.


Wims is Web exercice server and HTML player. It contains a lot of mathematical exercices defined in a format named OEF. We can imagine a GCompris activity that can play some Wims exercices.


A very good resource of in class activities introducing computer science


Object Classification

For young kids, we could create an activity where they must classify object from larger to smaller, and so on. The size classification could be based on the real-life sizes. For example, a car is larger than a light bulb, but the actual images could be equal size.

We could also have classification based on shape, e.g. round apples and wheels, and rectangular books and doors.

Could teach also "in front of" and "behind" concept.

Symmetrical drawing

A symmetrical drawing activity, with various forms of symmetries. See this example.

Graph Colouring

Teach chromatic numbers to children. What is chromatic number:

So, maybe a game with a drawn mesh and circles at the intersection of edges. No two circles connected by an edge can be of the same colour. We can start of by taking the largest chromatic number possible for any graph, and then slowly increase the difficulty by reducing the chromatic number.

Double entry tables

We already have one in this area based on the puzzle activity engine. But is is not flexible enough and it would be better to have an activity dedicated to this concept.

In that activity, we could add :

- filling incomplete tables. The filled stop may be done by selecting images or by entering text or number. For example, it may also be used to try the children on multiplication table. - choosing the right heading for rows and columns of an already filled-in table

Interactive geometry

Like Dr.Geo or Carmetal does, we can provide an interactiv geometry activity.

Of course we have to make it much simpler and stick to point, line, segment, perpendicular, parallel and circle.

This can be used: - as a free geometrical drawing activity - as a directed one, the children is given a set of instructions like draw a 3 cm diameter circle at position (3,3).

There is a possibility to save and load a drawing.

A graph tool

Like the drawing, animation, wordprocessor, we could provide a graph tool to let kids create simple graph for their experiences. They could load/save them. We could see it as a simplified spreadsheet. Here is an online example.

Mathematical numeral systems

An activity to explain the different base. It present the concept, let the children play around with a virtual base counter and then ask questions to transform numbers from one base to another.


This is a Sudoku like activity where the goal of each puzzle is to fill a grid with digits –– 1 through 4 for a 4×4 grid, 1 through 5 for a 5×5, etc. –– so that no digit appears more than once in any row or any column (a Latin square). Grids range in size from 3×3 to 9×9. Additionally, KenKen grids are divided into heavily outlined groups of cells –– often called “cages” –– and the numbers in the cells of each cage must produce a certain “target” number when combined using a specified mathematical operation (either addition, subtraction, multiplication or division)

There is also a color based version.

Should be a good idea to find a way to generate some games with different level of difficulty.


We need something to introduce algebra to children. We can have a look at DragonBox which has a good educational approach.

Step-by-step teaching of addition and subtraction

We could have an implementation of this game. Addition exercises can be solved using various strategies. The Number Catcher takes its player, step by step, from basic calculation up to adult strategies.

Pitch Recognition

Help students develop an ear for pitch by helping them notice differences between pitches (high vs. low, etc.) This is a very difficult activity for kids (and adults!) to master, so this activity will have to be very forgiving.

Intro to Music Theory

A beginner guide to the basics of music theory. Topics might include music notation, scales, chords, circle of fifths, etc.

Board game

TicTacToe and variations

Here some ideas to steal. TicTacToe and others variants of same game (QuinzeVainc, Sentier, Mots and Lettres].

Ultimate Tic Tac Toe is also a fun game, for older children -


Having a dominoes activity. It would be very nice, and maybe not too difficult to write (I don't speak for myself...) Easy levels could be with colors only, then images, medium level, images and dots, high level, only dots.

Nine Men's Morris

Nine Men's Morris is an abstract strategy board game for two players that emerged from the Roman Empire.[1] The game is also known as Nine Man Morris, Mill, Mills, Merels, Merelles, and Merrills in English.

This game is still very popular in some place of the world. Having this type of game in GCompris brings the opportunity to expose children to games they won't find otherwise. It would complete our board activity besides chess, oware, connect4, ... This idea has been proposed by Phanindra Ramesh Challa.

There are two open source implementation of this game : gnmm and morris.


Checkers is a board game in the spirit of the chess game. It would be nice to have one beside our chess game.

Reading / Writing


Virtual keyboard on mobile devices

With the new Qt Quick port a learning activity for an Android's (or iOS based) virtual keyboard could be added. This would have to be aware of the special constraints of the virtual keyboard logic on mobile devices, such as necessary confirmation by "Return" special handling of non-ASCII characters (german umlauts e.g.) etc.

Some of the classic keyboard or writing activities of GCompris are difficult or not at all to port to the virtual keyboard logic of an Android device. New ideas will be collected here: ...

Image / Letter association

Its a classical in terms of learning letter, an image is presented to the children and he must click on the keyboard the starting letter of the image (like Apple = A). At this stage we don't check the case.

At the first stage of this activity, all our images with the voices are introduced to the children. He can see the associated image, word and letter and click on them to hear the letter and word spoken.

Case association

Add a new type of memory in our memory type activity in which the children is propose card with upper and lower case and he must associate them.

Dictation of letters

A set of letter is spoken, the children must write them in the correct order. As the level increase, there are more letters and the spoken delay between them decreases.

Dictation of words

A word is displayed and/or spoken the children must re-type it. Then the word is spelled letter by letter and the children must type it.

Letter in which word

A letter is written and/or spoken. Some words are displayed, the children must find the word or the words in which this letter appears.

Letter common to several words

Several words are displayed, the children must find the letter which is common to all of them.

Letter classification

The children is proposed a set of letter and an entry area. He must enter all the letters in the alphabetical order in the text area.

Text understanding

A text story is displayed, the children must read it. Once done, a number of questions about it are are asked. The texts may be simple and written by ourself or taken from public domain famous texts.

There are several levels depending on the text difficulty. Also at first the text and the questions are visible, then when the children has completed the reading the text disappears and the questions are asked.

Text with holes

A text story is displayed, the children must read it. Once done, another text, related to the first contains holes and must be filled by the children.

Ordering words to form a sentence

A sentence is proposed with the words shuffled. The children must put back the words in the correct order.

Add missing spaces in a sentence

A sentence is proposed in which spaces have been removed. The children must add then.


Like we have an activity to learn letters, we must have one to learn phonemes in each language.

We could make an activity in which a phoneme is spoken and the children must find the word which includes it from a list of words.

Exercise editor

An activity focused on grammar questions and reading. The idea is to provide a simple wiki like syntax to let a teacher propose this kind of exercise. For example one exercise could be: Where is the [little|big,red] cat (here the question is find the opposite. In [] are the answers to propose, the first one is the good one).

Language learning

A set of activities in the area of language learning. These activities should help a children learn or discover a foreign language. To achieve this, we can base this work on the shtooka project which provides a large set of recorded words.

We already have an in progress version of an activity dedicated to language learning. It is named _lang-activity_ and is organized in lessons having each a bunch of related sentences with their voices counterpart. When they are all presented to the children some exercises are proposed to help the children remember the sentences.

Target language

Extend GCompris core to include the concept of a target language for that this can be done from a single place. We currently have the ability to set a target language in some relevant activities, this must be changed to use the new target language facility.

Dictionary with word definition

In order to create reading, writing or language learning activities we need to have a well formatted list of words for each language. Some work has been done as seen in this page: Wiktionary_to_XML.

Reading time

We already have an activity to learn how to read on an analog clock. This could be enhanced to learn how to tell the time in a given language (like 10 past 4).

Adding support for digraph, trigraph based languages

At the moment, the system pulls the list of letters for letter games from a single line in the po where all letters are added in a row (abcdefghi...).

This works ok for languages which only use monographs (like a b c d e) or precomposed complex letters (like ď ť in Slovak) but it's problematic for languages which use di or trigraphs which are not precomposed (a digraph being a combination of two letters which is seen/treated as a single letter). This affects a lot of languages - even though not all potentially regard them as individual members of the alphabet (like German sch, English ch).

Nonetheless there are languages where these are handled rigidly as single units, such as Welsh ll, dd, ff or in our case (Scottish Gaelic) bh, ch, dh... and where the absence of a distinction between (for example) b (phonetically close to /b/ and bh (phonetically /v/) leaves a huge gap in the system.

We must extend GCompris to support this by adding delimiters between the letters in the po file, e.g. a|à|b|bh|c|ch.


Environment protection section

We can make a new section aimed to introduce children to environment care. Some ideas of activities are:

  • Garbage classification (Level 1: Organic and inorganic; high level: Organic, glass, metal, wood, danger garbage, etc)
  • Simple oxygen cycle
  • Saving power. To mark which activities save energy and which ones do not.
  • Global warming. To mark which activities are good and which ones are not.

Light decomposition

One simple activity to show the major color components of the white light. One idea is to make a cloud that rains by clicking on it and a raising sun. It will create a rainbow. Maybe a zoom to each individual drop can be done in order to show the incoming white light and the major outgoing colored beams.

Plant growing simulator

The idea here if to let children take care of a virtual garden. The children have a garden and some plants in it. They must take care of it with actions like :

  • seeding a specific plant with given caracteristics
  • putting water on the plants when they need some
  • get the fruits when ready
  • ...

A camera simulator

Help the children understand the different concept used in photography, focal, focus, iso, ... We could let the children take a picture and simulate the rendering given the children's virtual camera settings.

Morse code

The morse code maybe a funny way to discover a lot of concepts. And it would be really fun to be able to discuss with Tux this way. It can be done in 2 side, Tux talks in morse and the children have the alphabet and must report the text. On the other side, the children write a message to Tux (it is a little bit more complex to implement).


We already have an electricity activity, it works fine but it could be improved in a number of ways:

  • Ability to rotate components to ease the layout.
  • Add a 7 segments display in electricity. Could be used to introduce binary to children.
  • A LED component.
  • A BCD to 7 segments converter
  • Allow more componenets/wires to be placed on the board => use smaller nodes/components?

Having a goal would be interesting and not necessarily too complex. For example we could ask the children to:

  • bring a lamp to light
  • bring a lamp to light through a switch
  • make a lamp burn (the children must put 2 batteries in serial)
  • use the variable resistance to vary the light


Web Export for the animation

In the Gtk+ version we had a nice animation activity. Children or teacher may be interested in publishing the creation of the children in the animation activity. A Web export is a nice feature to have.

Recording support for the animation

Let the children record her voice and to associate it to a given animation frame. i.e. a car moves along a picture of a road and create a voice over of "the car drove down the road".


We have a nice owale activity. But it is hard to understand because we don't see the computer moves. An animation would help so that children see and understand what's going on.

Shape type activities

  • Placing planets in our galaxy.
  • Placing the wonders of the worlds on a world map.
  • Children or adults wearing traditional clothes, they must be placed on a map.
  • Typical food.
  • Wearing a children


Our photohunter activity does not have enough levels.

Computer parts

We already have a lot of activities to discover how to use the computer. We also need to expose the computer internals to the children. Perhaps an activity to virtually cable all the main component of the computer would do it. Starting with mouse / keyboard / PC / screen at first level to the processor and memory at the higher level. For each component, a description must be given to explain what it is.

How does the network works

A network is an interesting topic to expose to children.

For example we coud create an activity in which we see some computers (,, mycomputer.local) and a switch on the screen with their services (ping and http). Then from a simulated console the children can enter commands like 'ping' and the network packet moves over the wires. For a web page, we can see it on the disk of the computer (the children can edit it), then the children can start a simulated browser and load In http mode, we see the GET request going out of the browser, to the web server, to the disk and back to the browser with the file attached. The services can be started/stopped by the children but to make the game fun they maybe stopped rendomly to let the children fix the network.

GCompris core

Some ideas on how to improve the heart of GCompris:

  • Mouse less GCompris: Except for mouse training activities, it should be possible to play GCompris without a mouse. For example, the main menu should be usable with the arrow keys on a regular PC.
  • We have many activities and they are sometimes hard to find. We should add a search / filter option in the main menu that would show only the matching activities. The search can be based on the manual of each activity.

Networked activities

It would be nice to have some sort of educational network game that would involve a team competition, collaboration of sorts.

There brings different types of activities:

  • Network quiz: The teacher would need to input a list of questions and answers beforehand. From that list the players on teams would try to answer the questions. That could be a fun type of review for science, math, history, etc.
  • Each player must catch a ball and send it to another virtual player. Nobody must miss the ball or the team doesn't succeed.
  • A multiplayer creative tool. Each player draw on the same canvas. They have to organize themselves to make a cute drawing.

Computer science

Block programming

A very interesting approach to software development with a blocky a block programming language or another approach with Robozzle.

Activities to make children understand the workflow by some small decision making constructs. such as [1].

  • Maze activity inspired by [2]
  • Bird activity [3]
  • Turtle activity [4]