Ideas for activities

From GCompris
Revision as of 15:19, 16 May 2017 by Petitlapin (talk | contribs) (checkers done)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.


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
  • activities must bring something more than doing the same activity on paper

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


Symmetrical drawing

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

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.

"Montessori like" training exercises to learn decimal concept

We could implement a manipulation game aimed to represent numbers with hundreds, tens and unity representations. A good start to understand the concept is to look at the following app

Board game


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.

Reading / Writing


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 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).

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.

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.


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.

With Qt Quick it is easy to add effect on an image and thus simulate blur, too white, too black. The game here would be to let the children make picture of different scene (static, moving, scenery, sun behind, ...). The children cannot move the camera and must just set the parameters (focus, aperture, shutter speed, film speed)

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).

Digital Electricity

We have an electricity activity in the work which is a clone of the Gtk+ one. It is dedicated to analog but we could have an electricity activity dedicated to digital based on data flow programming.

In it there is no need to plug masses and we only manage a binary system on each wire. Each component defines some input and some output. An input can be wired to an output. The component by its logic set its output based on its input. A wire can be of different types, digital, analog to start with. But going further is

It provides high level components useful to discover the concept. Each component has a graphical representation with its input, output and optional configuration. We can provide these components:

  • Power source
  • Switch
  • Logic gates (and, or, xor)
  • Comparator (if input is above 3 output is true)
  • Pulse generator at variable frequency
  • A LED.
  • A 7 segments display. Could be used to introduce binary to children.
  • A BCD to 7 segments converter
  • A step by step motor (change the speed by changing the pulse generator frequency)
  • A virtual robot which have some sensors and actuators to play with. (This is very interesting because not all schools can access to robotic hardware).

There can be a free play mode and one with a goal. For example we could ask the children to:

  • Bring a led to light
  • Bring a led to light through a switch
  • Set the number 9 on the 7 segments display


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.

Networked activities

Can't be done until the new administration module is ready

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.


A board with many different cards representing different elements. Elements have to be categorized in two groups like explained here (in french).

What is it useful for?

Building concepts.

Example 1: Colors. Asking a child to sort all sorts of shapes red and blue. Once the child has sorted them correctly he knows to differentiate red and blue, you just have to give it a name then.

Example2: Tenses. Asking a pupil to sort several conjugated verbs. Half being at present tense, and half at future tense. Once the pupil has sorted them correctly he builded the concept of present and future, you just have to teach the words present and future.

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]

Intro to Music Theory

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

This site from Google contains numerous examples of activities to introduce music to children (requires the Chrome browser).

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.