Kuku

From OLPC
Revision as of 00:22, 9 June 2007 by Seralewise (talk | contribs) (People)
Jump to: navigation, search
Kuku
[[Image:|center]]
Status: unknown
Version: unknown
Base: unknown
Source: unknown
l10n: missing
Contributors
unknown

Descrption & Goals

Summary

Kuku, short for 'Kuku Anakula' (Hungry Chicken), is based on the basic arithmetic education game Number Munchers. In single player mode, the game consists of a simple grid that the player (a chicken) is allowed to move around on. A question is posed outside of the grid, such as '5 + 5 = ?', and each square in the grid has a potential answer in it. The goal is to 'eat' as many correct answers as possible within a given time frame to accumulate points. There are penalties for eating incorrect answers, and the questions are changed when all correct answers are eaten. As the game progresses, the questions become more difficult. In multiplayer mode, the grid can expand with multiple chickens that can compete against each other, or work as a team to eat all the correct answers.

We imagine this game to be one instance that relies on a more general question-answer, or quiz library. The idea is that all of the questions and answers will be stored and editable by kids and teachers. Question content is not restricted to basic arithmetic, but can consist of multiple choice questions, vocabulary questions, image recognition questions, and many more. Specific examples might consist of:

  • a fill in the blank sentence as the question with multiple vocabulary words as the answers
  • a snapshot of a tree taken by the child as the question with names of types of trees as the answers
  • an arithmetic expression as the question with numbers as the answers

In order to develop this game then, we would like to develop a simple question and answer library that teachers can use to port their existing materials for the game. The game can then be considered as a study tool for children for an upcoming test, and we imagine that the same library will be useful in a testing activity which actually conducts the test on the laptops.

We also think that the structure of this game will get kids interested in developing their own content or versions of the game. Having questions and answers in easily editable files will introduce children to poking around the internals, and we hope to design the game code in such a way as to naturally lead the children into learning about programming and tweaking the game themselves. This might be done through the quiz library using programming expressions to generate incorrect, 'red herring', answers for seeding the grid.

We greatly appreciate discussion, especially on the design of the question/answer library (see below).

Goals

  • To develop a general question/answer library that teachers can use to port existing quiz material for use in this game and other activities.
  • To develop a Number Crunchers-like (link) game activity that enables children to be quizzed on a variety of educational topics in a fun way
  • To emphasize the fact that both the content and the game itself can be changed through project structure as well as hints to the children in the activity that this can be done.

Collaboration

Visual Design

(See the summary above for now).

Media

Document Description
No media ---


Screenshots

This screenshot depicts the basic grid layout with the player (chicken) in the lower left-hand corner. The question (5 + 5 = ?) is posed outside the upper left of the grid. Below the question are the current score (+25), and the current time (1.35 s). (Please excuse the state of this screenshot - we have not focused on the graphics yet!)

Kuku screenshot.jpg

Development

Source

The code is just python and pyGame. We have not yet made a full-fledged sugar activity.

Activity Source: http://dev.laptop.org/git.do?p=projects/kuku

git clone git://dev.laptop.org/projects/kuku

RPMs

  • none available

Feature Requests

Implementation Discussion
Version History

People

  • Julius Lucks (lucks on #sugar and #olpc-content IRC)
  • Adrian DelMaestro
  • Sera Young
  • Roberto Christen (roberto (dot) christen (at) gmail (dot) com)
  • Matthew Myers matt (at) 2eastmusic (dot) com
  • Brian Jordan bjordan (at) wesleyan (dot)edu

Question/Answer Library

We have started to sketch some API designs. So far I have outlined a basic QA class that is responsible for managing the question and answers (both correct and incorrect) for a single question.

from QA import QA

#Basic question/answer
q = QA()

#Load question/correct answer/false answers
q.set_question('5 + 5')
q.set_correct_answer(10)
q.set_false_answer(9)
q.set_false_answer([9,11])
import random
false_function = lambda x: random.randint(*random.choice([(0,x-1),(x+1,50)]))
q.set_false_function(false_function)

#Get question and answers
q.get_question()
  '5 + 5'
q.get_correct_answer()
  10
q.get_false_answer()
  9
  11
  21
  3

I have written some unit tests for the above functionality that I will put into the git repo once it is set up.

The next step is to define a syntax for a textfile that can be parsed and questions loaded from. With a set of questions loaded, it should be very simple to create a command-line quiz activity.

Something light weight like this will be all that Kuku needs, and will be simple for children to work from. We would love feedback on this though, especially if you have other activities that would benefit from such a general question/answer library.

Resources