Changes

Add general project information.
Line 1: Line 1:  
{{TOCright}}
 
{{TOCright}}
 
==Question Support API==
 
==Question Support API==
http://git.sugarlabs.org/projects/question-support-api
+
===Project Information===
 +
{{Definition_table
 +
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]
 +
|Project Members| [[User:Enimihil|Greg Stevens]], TODO: Add yourself here...
 +
|Source Repository| http://git.sugarlabs.org/projects/question-support-api
 +
}}
 +
 
 +
===Motivation===
 +
In the RIT class working on the Math4 projects, many proposed activities
 +
require a question database of some kind.  A common API or library for
 +
accessing databases in different formats, stored either locally or remotely,
 +
along with a simple mechanism to determine more complex formatting or
 +
presentation than simple text (e.g. to include simple graphics or
 +
mathematical notation) would cover a majority of the cases where the
 +
activity needs some configurable "curriculum data".
 +
 
 +
Eventually this library could be extended to provide hints, explanations, or
 +
walkthroughs for questions, in addition to the basic metadata about level,
 +
grouping, difficulty, and subject matter that would be part of the base
 +
system.
 +
 
 +
===Envisioned Usage===
 +
Consider a simple flash-card-like activity.  It presents a question from a
 +
list of questions, allows the student to select an answer from the provided
 +
answers for the question or to enter their own answer.  Then the correct
 +
answer is revealed and the student it told whether their answer is correct.
 +
If the question has an explanation of the correct answer, the flash-card
 +
activity will show the explanation of the correct answer.  (Note that this
 +
is just a simple usage example, the interaction design of a drilling
 +
activity could be very different.)
 +
 
 +
The flash-card activity would use this proposed Quiz API for the following:
 +
 
 +
* Loading the questions from the storage location into memory. This includes any filtering or network lookup to download the questions from a remote resource and select appropriate questions for the student.
 +
 
 +
* Determining whether the student has entered a correct answer.
 +
 
 +
To start with, the library would simply be a time-saving tool for developers
 +
needing similar functionality, but as the XS (School Server) becomes more
 +
fully developed the library should integrate the functions provided by the
 +
XS to enable automated update of course material for the current topic of
 +
study so the students can drill material using any tool they prefer, while
 +
still reporting progress to the instructor using the XS services.
    
===Data Model===
 
===Data Model===
22

edits