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=== |