[math4] FourthGradeMath Digest, Vol 2, Issue 41

Stephen Jacobs itprofjacobs at gmail.com
Mon Mar 30 22:02:24 EDT 2009


Will dl it tomorrow and give it a try.  Can see from the description it does
widen and deepen a simple flash card activity and take advantage of the
platform way beyond just displaying a card on a screen.  I know we have some
folks in the discussion who have 4th grade testers available.  This looks
worthy of running by them once we¹ve tried it for stability and perhaps
added  some of the appropriate math content.


On 3/30/09 9:47 PM, "Wade Brainerd" <wadetb at gmail.com> wrote:

> Arriving late to the discussion....
> 
> Has anyone tried Assimilate (http://wiki.laptop.org/go/Assimilate)?  It's a
> flash card activity for the XO that features collaboration and some kind of an
> optimized learning system.  I just wonder if anyone has tried it and can speak
> to how good it is for the target age group.
> 
> Second, it hasn't been bundled as a .xo file yet, but I encourage people to
> check out Peter Moxhay's early Math work at
> http://git.sugarlabs.org/projects/math.
> 
> Cheers,
> Wade
> 
> On Mon, Mar 30, 2009 at 9:32 PM, Stephen Jacobs <itprofjacobs at gmail.com>
> wrote:
>> I've brought two kids up through fourth grade in the last few years and
>> agree that there is absolutely a place for memorization.
>> 
>> No disagreement with what you state below.  Reread my comments and see that
>> I'm not down on drillware.  I'm down on using a computer to merely display
>> flashcards and uninspired drilling software that doesn't exploit the power
>> of the platform.
>> 
>> Nor was I suggesting that we give students an exploratory/active learning
>> tool without any formulas and/or guides to achieve their answers.  I
>> suggested we give them tool sets to visually and (kinda) physically
>> manipulate and employ math concepts in the same way that Montessori and
>> Piaget and their followers have been doing for decades and had great success
>> with.  These approaches make math applied as well as conceptual and
>> accessible to a wide variety of child learning styles beyond a text-bound
>> abstract.  Especially when some of the curriculum items are geometry, which
>> should be an applied math at this age.
>> 
>> What you've described below is much more than just a flash card, right?  And
>> why not make what you've described collaborative, so that they are working
>> in teams to reach the goal?  What if it takes a co-pilot and a pilot to
>> drive the ship and each of them work on different types of problems, and
>> then they have to switch, and on and on and on. You can still track their
>> individual progress even if they work in teams.
>> 
>> On 3/30/09 9:05 PM, "Kathy Pusztavari" <kathy at kathyandcalvin.com> wrote:
>> 
>>> > Why not?  Because at some point some things are simply a drill item.  Once
>>> > you understand count bys (2,4,6,8) you memorize your math facts and do it
>>> > with TIMINGS.  Not everything can be taught efficiently (or even well)
>>> > through discovery learning.  Lord knows I've seen 4th graders that don't
>>> > know their multiplication math facts.  Teaching them functions withing
>>> small
>>> > sets of simple multiplication facts was very limiting.  Let's not even get
>>> > into addition math facts - that they did not know.  These are TYPICAL 4th
>>> > graders taught using - you guessed it - discovery math.
>>> >
>>> > Please don't.
>>> >
>>> > You want to make it fun?  Use Precision Teaching and chart their math fact
>>> > progress.  When they are done, show shooting stars, a rocket blasting off
-
>>> > maybe the class can have a small party when a student finishes all math
>>> > facts.  If they get a high score on a particular timing, add an extra part
>>> > of a picture so they can see it quicker.  There are all sorts of
>>> behavioral
>>> > motivators that can be incorporated into the XO.
>>> >
>>> > -Kathy
>>> >
>>> > -----Original Message-----
>>> > From: fourthgrademath-bounces at lists.sugarlabs.org
>>> > [mailto:fourthgrademath-bounces at lists.sugarlabs.org] On Behalf Of Stephen
>>> > Jacobs
>>> > Sent: Monday, March 30, 2009 5:57 PM
>>> > To: fourthgrademath at lists.sugarlabs.org
>>> > Subject: Re: [math4] FourthGradeMath Digest, Vol 2, Issue 41
>>> >
>>> > Re the "Math API," really consider what's going to make the difference and
>>> > leverage the XO's use.
>>> >
>>> > Merely making a "flash cards" or "Quizing" program doesn't really buy you
a
>>> > whole lot.  You don't need a computer to create Flash cards or quizes.
>>> >
>>> > The benefits of doing things on a computer should be exploited.  This is
>>> > where most drillware fails to be educational or motivational.  In the XO's
>>> > case you have the other advantage of a platform that will easily support
>>> > collaborative work.
>>> >
>>> > Instead of a flash card or a quiz that shows a diagram and asks a
>>> question,
>>> > why not single or shared apps that allow students to manipulate objects
>>> and
>>> > symbols to arrive at an answer.  Much more interactive, constructive and
>>> > developmentally appropriate, since kids in the OLPC age group are born
>>> > experimenters.  Give them 2D environments to manipulate to take them way
>>> > beyond the digital equivalent of a printed piece of cardboard.
>>> >
>>> > Also Brian, remember that we're in a conceptual design and prototyping
>>> stage
>>> > in an 18 month long development timeline.  At this point one of the most
>>> > useful things that can be done is to create "10 small apps that don't make
>>> > it out of a beta stage"
>>> >
>>> > A technologist's first instinct is to "build the tech!" When you are
>>> > building educational software (and really any content-based software,)
>>> > prototyping various approaches and running them by your target audience is
>>> > crucial to the success of your development effort.
>>> >
>>> > Those 10 small apps that test various methods of displaying objects and
>>> > symbols for students to experiment with object manipulation and formulas
>>> > tell you which directions to move in to make the right software to go
>>> beyond
>>> > alpha down the appropriate delivery for the content and the audience :-)
>>> >
>>> >
>>> > On 3/29/09 10:06 AM, "fourthgrademath-request at lists.sugarlabs.org"
>>> > <fourthgrademath-request at lists.sugarlabs.org> wrote:
>>> >
>>>> >> Send FourthGradeMath mailing list submissions to
>>>> >> fourthgrademath at lists.sugarlabs.org
>>>> >>
>>>> >> To subscribe or unsubscribe via the World Wide Web, visit
>>>> >> http://lists.sugarlabs.org/listinfo/fourthgrademath
>>>> >> or, via email, send a message with subject or body 'help' to
>>>> >> fourthgrademath-request at lists.sugarlabs.org
>>>> >>
>>>> >> You can reach the person managing the list at
>>>> >> fourthgrademath-owner at lists.sugarlabs.org
>>>> >>
>>>> >> When replying, please edit your Subject line so it is more specific
>>>> >> than "Re: Contents of FourthGradeMath digest..."
>>>> >>
>>>> >>
>>>> >> Today's Topics:
>>>> >>
>>>> >>    1. Re: Quiz/Question API Proposal (Frederick Grose)
>>>> >>    2. Re: Quiz/Question API Proposal (Karlie Robinson)
>>>> >>
>>>> >>
>>>> >> ----------------------------------------------------------------------
>>>> >>
>>>> >> Message: 1
>>>> >> Date: Sat, 28 Mar 2009 17:39:21 -0400
>>>> >> From: Frederick Grose <fgrose at gmail.com>
>>>> >> Subject: Re: [math4] Quiz/Question API Proposal
>>>> >> To: fourthgrademath at lists.sugarlabs.org
>>>> >> Message-ID:
>>>> >> <f3383f810903281439w4a47151fi6ae1f834a213ca56 at mail.gmail.com>
>>>> >> Content-Type: text/plain; charset="iso-8859-1"
>>>> >>
>>>> >> I have a simple data model that worked extremely well for an almost
>>>> >> universal questionnaire building application I can contribute.
>>>> >>     --Fred
>>>> >>
>>>> >> 2009/3/28 Brian Long <brilong87 at gmail.com>
>>>> >>
>>>>> >>> All,
>>>>> >>>
>>>>> >>> I think this is absolutely brilliant.  After our class on Friday, I
>>>>> >>> noticed a LOT of conceptual overlap of the simple projects that
>>>>> >>> people were proposing and I think a math API would be a great place
>>>>> >>> to start.  As I've been trying to mention to everyone, I've not had
>>>>> >>> any experience with Python so perhaps I'd be better suited to work on
>>>>> >>> the database integration?  (Not that I've done SQLite either, but SQL
is
>>> > SQL generally...).
>>>>> >>>
>>>>> >>> In regards to the class, I know Profs. Jacobs and Grace are not
>>>>> >>> extremely regulating our final deliverable for the class but I feel a
>>>>> >>> strong API would be much more of a milestone than 10 small apps. that
>>>>> >>> don't make it out of a beta stage.
>>>>> >>>
>>>>> >>> I think we should try and drum up support for this idea.  Bring on
>>>>> >>> the replies!
>>>>> >>>
>>>>> >>> Cheers,
>>>>> >>> Brian Long
>>>>> >>> bbl5660 at rit.edu
>>>>> >>>
>>>>> >>>
>>>>> >>>
>>>>> >>>  ---------- Forwarded message ----------
>>>>>> >>>> From: Enimihil <enimihil at gmail.com>
>>>>>> >>>> To: fourthgrademath at lists.sugarlabs.org
>>>>>> >>>> Date: Fri, 27 Mar 2009 22:32:03 -0400
>>>>>> >>>> Subject: [math4] Quiz/Question API Proposal Hello all,
>>>>>> >>>>
>>>>>> >>>> This is my first post so I guess I should introduce myself a bit.
>>>>>> >>>> I'm Greg S., one of the RIT students in the class working on the
>>>>>> >>>> Math4 goals, and something that I've mentioned might be a good idea
>>>>>> >>>> a few times now is a shared library/API for quiz questions/drilling
>>>>>> >>>> so that activity developers can leverage content and easily use
>>>>>> >>>> questions written in a variety of formats, from a variety of
>>>>>> sources.
>>>>>> >>>>
>>>>>> >>>> Inline below is a simple outline of a proposal for an API along
>>>>>> >>>> those lines, with a few notes on implementation at the end.  Just
>>>>>> >>>> trying to propose something to save and/or centralize some common
>>>>>> >>>> work that needs to be done for a variety of activities.
>>>>>> >>>>
>>>>>> >>>> =================================
>>>>>> >>>> Sugar Quiz API Preliminary Design
>>>>>> >>>> =================================
>>>>>> >>>>
>>>>>> >>>> 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 markedly 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.
>>>>>> >>>>
>>>>>> >>>>    - Rendering the question to a simple widget/canvas. (i.e. pass
the
>>>>>> >>>>      library a GtkCanvas or similar and tell it to display the
>>>>>> >>>> question)
>>>>>> >>>>
>>>>>> >>>> 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.
>>>>>> >>>>
>>>>>> >>>> Proposed API
>>>>>> >>>> ============
>>>>>> >>>>
>>>>>> >>>> The Quiz API would be a python library, to act mostly as glue
>>>>>> >>>> between various file formats (and local or remote resources) for
>>>>>> >>>> question data and the Gtk graphical environment, providing a simple
>>>>>> >>>> way to consistently present and layout questions.
>>>>>> >>>>
>>>>>> >>>>    :quizdata.open(uri, [cache=False]):
>>>>>> >>>>        Opens a URI, returning a list of quizdata.Question instances.
 A
>>>>>> >>>>        standard method of filtering question data based on
>>>>>> parameters
>>>>>> >>>>        should be specified.  Examples of URIs that might be used::
>>>>>> >>>>
>>>>>> >>>>
>>>>>> >>>> http://xs-server/math4class/current_topic?level=4&difficulty=hard&fo
>>>>>> >>>> rmat=moo
>>>>>> >>>> dle
>>>>>> >>>>
>>>>>> >>>>
>>>>>> >>>>
>>>>>> >>>> file:///var/lib/mathquestions/quiz1?level=4&difficulty=hard&format=x
>>>>>> >>>> ml
>>>>>> >>>>
>>>>>> >>>>            xmpp://teacheraccount@xs.server
>>>>>> >>>> /classname?difficulty=hard&level=4
>>>>>> >>>>
>>>>>> >>>>        The cache parameter would locally save the retrieved
>>>>>> questions to
>>> > a
>>>>>> >>>>        persistent storage so requests from the same URI (with
>>> > cache=True)
>>>>>> >>>>        would read from the cache.
>>>>>> >>>>
>>>>>> >>>>    :class quizdata.Question:
>>>>>> >>>>        This class contains individual data for a question:
>>>>>> >>>>            - The question text
>>>>>> >>>>            - The style of answer (incl. multiple-choice, numeric,
free
>>>>>> >>>>              response, etc.)
>>>>>> >>>>            - The correct answer (or if the question is subjective,
that
>>>>>> >>>>              there *is* no correct answer).
>>>>>> >>>>            - Question difficulty
>>>>>> >>>>            - Grade level
>>>>>> >>>>            - Tags (for free-form grouping by topic, course,
>>>>>> instructor,
>>>>>> >>>>              etc.)
>>>>>> >>>>
>>>>>> >>>>        The question text and answers should support at least minimal
>>>>>> >>>>        markup, like that supported by pango, in addition to markup
>>>>>> >>>>        rendering with MathML/LaTeX syntax.
>>>>>> >>>>
>>>>>> >>>>        .. note::
>>>>>> >>>>            The attributes listed above will should grow standardized
>>> > names
>>>>>> >>>>            and be documented as part of the interface to the
>>>>>> Question
>>>>>> >>>>            class, to allow for fine-grained for activity controlled
>>>>>> >>>>            rendering of the Question, if the simple show() call is
not
>>>>>> >>>>            appropriate.
>>>>>> >>>>
>>>>>> >>>>        :Question.show(surface, x, y, [width=-1, [height=-1]]):
>>>>>> >>>>            Draw the question to the drawing surface at coordinates
>>>>>> (x,y)
>>>>>> >>>>            limited to the optionally specified width/height.
>>>>>> >>>>
>>>>>> >>>>            This also should set up the appropriate input widgets for
the
>>>>>> >>>>            type of question (multiple-choice/free-response) and
>>>>>> handle
>>> > the
>>>>>> >>>>            vents for those widgets.
>>>>>> >>>>
>>>>>> >>>>        :Question.answered():
>>>>>> >>>>            Returns True if the student has provided an answer for
the
>>>>>> >>>>            Question.
>>>>>> >>>>
>>>>>> >>>>        :Question.submitted():
>>>>>> >>>>            Returns True if the student has submitted an answer for
the
>>>>>> >>>>            Question.
>>>>>> >>>>
>>>>>> >>>>        :Question.correct():
>>>>>> >>>>            Returns True if the currently selected answer is correct
>>>>>> >>>> for the
>>>>>> >>>>            Question.
>>>>>> >>>>
>>>>>> >>>>        :Question.answer():
>>>>>> >>>>            Returns the answer the student has currently selected, or
>>> > None
>>>>>> >>>>            if no answer has been entered.
>>>>>> >>>>
>>>>>> >>>>        :Question.clear():
>>>>>> >>>>            Removes the widgets and drawings that show() set up,
>>> > preparing
>>>>>> >>>>            the surface to receive the next question or other
>>>>>> widgets.
>>>>>> >>>>
>>>>>> >>>>
>>>>>> >>>> Implementation Issues
>>>>>> >>>> ======================
>>>>>> >>>>
>>>>>> >>>> The implementation of this (deceptively simple) library will take
>>>>>> >>>> some effort, in that it will be closely tied to the
>>>>>> >>>> windowing/graphical toolkit, PyGtk/Cairo/Pango rather directly, due
>>>>>> >>>> to the high level of abstraction.
>>>>>> >>>> Additionally the URI lookup and question filtering based on
>>>>>> >>>> parameters will be necessary, as will interpreter the various format
>>>>>> >>>> parsers necessary to build the Question objects.
>>>>>> >>>>
>>>>>> >>>> For MathML support, the GtkMathView widget will need to be
>>>>>> >>>> available, so a certain amount of effort may be involved in
>>>>>> >>>> packaging the library in a simple way for activity developers.
>>>>>> >>>>
>>>>>> >>>> Next Steps
>>>>>> >>>> ==========
>>>>>> >>>>
>>>>>> >>>> Firstly, this API is being proposed and posted to the Math4 mailing
>>>>>> >>>> list for feedback and changes before any commitments to this
>>>>>> >>>> interface is decided.
>>>>>> >>>> For any activity developers who are currently working on an activity
>>>>>> >>>> that could take advantage of such a system, or who have written
>>>>>> >>>> similar functionality in an activity, your input on usage and the
>>>>>> >>>> naturalness of the API.
>>>>>> >>>>
>>>>>> >>>> Secondly, anyone who is interested in doing work on this library or
>>>>>> >>>> using the library in their activity should chime in, along with the
>>>>>> >>>> expected usage or how you can contribute.
>>>>>> >>>>
>>>>>> >>>> Greg S.
>>>>>> >>>> --
>>>>>> >>>> Email is packaged by intellectual weight, not volume. Some settling
>>>>>> >>>> of contents may have occurred during transmission.
>>>>>> >>>>
>>>>>> >>>>
>>>>>> >>>> _______________________________________________
>>>>>> >>>> FourthGradeMath mailing list
>>>>>> >>>> FourthGradeMath at lists.sugarlabs.org
>>>>>> >>>> http://lists.sugarlabs.org/listinfo/fourthgrademath
>>>>>> >>>>
>>>>>> >>>>
>>>>> >>>
>>>>> >>> _______________________________________________
>>>>> >>> FourthGradeMath mailing list
>>>>> >>> FourthGradeMath at lists.sugarlabs.org
>>>>> >>> http://lists.sugarlabs.org/listinfo/fourthgrademath
>>>>> >>>
>>>>> >>>
>>>> >> -------------- next part -------------- An HTML attachment was
>>>> >> scrubbed...
>>>> >> URL:
>>>> >> http://lists.sugarlabs.org/archive/fourthgrademath/attachments/2009032
>>>> >> 8/985b4c
>>>> >> 69/attachment-0001.htm
>>>> >>
>>>> >> ------------------------------
>>>> >>
>>>> >> Message: 2
>>>> >> Date: Sun, 29 Mar 2009 10:06:01 -0400
>>>> >> From: Karlie Robinson <karlie_robinson at webpath.net>
>>>> >> Subject: Re: [math4] Quiz/Question API Proposal
>>>> >> To: fourthgrademath at lists.sugarlabs.org
>>>> >> Message-ID: <49CF8049.4040806 at webpath.net>
>>>> >> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>>> >>
>>>> >> Before you guys get too far, be sure to do some research on Learning
>>>> >> management software - specifically, Moodle.
>>>> >>
>>>> >> Remember - with Open Source you're aiming to begin with the finishing
>>>> >> touches.  If you don't have to write something from scratch, but
>>>> >> simply modify an existing block of code to suit your needs, you'll get
>>>> >> much farther in less time.
>>>> >>
>>>> >> ~Karlie
>>>> >>
>>>> >>
>>>> >> Frederick Grose wrote:
>>>>> >>> I have a simple data model that worked extremely well for an almost
>>>>> >>> universal questionnaire building application I can contribute.
>>>>> >>>
>>>>> >>>     --Fred
>>>>> >>>
>>>>> >>> 2009/3/28 Brian Long <brilong87 at gmail.com
>>>>> >>> <mailto:brilong87 at gmail.com>>
>>>>> >>>
>>>>> >>>     All,
>>>>> >>>
>>>>> >>>     I think this is absolutely brilliant.  After our class on Friday,
>>>>> >>>     I noticed a LOT of conceptual overlap of the simple projects that
>>>>> >>>     people were proposing and I think a math API would be a great
>>>>> >>>     place to start.  As I've been trying to mention to everyone, I've
>>>>> >>>     not had any experience with Python so perhaps I'd be better suited
>>>>> >>>     to work on the database integration?  (Not that I've done SQLite
>>>>> >>>     either, but SQL is SQL generally...).
>>>>> >>>
>>>>> >>>     In regards to the class, I know Profs. Jacobs and Grace are not
>>>>> >>>     extremely regulating our final deliverable for the class but I
>>>>> >>>     feel a strong API would be much more of a milestone than 10 small
>>>>> >>>     apps. that don't make it out of a beta stage.
>>>>> >>>
>>>>> >>>     I think we should try and drum up support for this idea.  Bring on
>>>>> >>>     the replies!
>>>>> >>>
>>>>> >>>     Cheers,
>>>>> >>>     Brian Long
>>>>> >>>     bbl5660 at rit.edu <mailto:bbl5660 at rit.edu>
>>>>> >>>
>>>>> >>>
>>>>> >>>
>>>>> >>>         ---------- Forwarded message ----------
>>>>> >>>         From: Enimihil <enimihil at gmail.com
>>>>> <mailto:enimihil at gmail.com>>
>>>>> >>>         To: fourthgrademath at lists.sugarlabs.org
>>>>> >>>         <mailto:fourthgrademath at lists.sugarlabs.org>
>>>>> >>>         Date: Fri, 27 Mar 2009 22:32:03 -0400
>>>>> >>>         Subject: [math4] Quiz/Question API Proposal
>>>>> >>>         Hello all,
>>>>> >>>
>>>>> >>>         This is my first post so I guess I should introduce myself a
>>>>> >>>         bit.  I'm
>>>>> >>>         Greg S., one of the RIT students in the class working on the
>>> > Math4
>>>>> >>>         goals, and something that I've mentioned might be a good idea
>>>>> >>>         a few
>>>>> >>>         times now is a shared library/API for quiz questions/drilling
>>>>> >>>         so that
>>>>> >>>         activity developers can leverage content and easily use
>>>>> questions
>>>>> >>>         written in a variety of formats, from a variety of sources.
>>>>> >>>
>>>>> >>>         Inline below is a simple outline of a proposal for an API
>>>>> >>>         along those
>>>>> >>>         lines, with a few notes on implementation at the end.  Just
>>>>> >>>         trying to
>>>>> >>>         propose something to save and/or centralize some common work
>>>>> that
>>>>> >>>         needs to be done for a variety of activities.
>>>>> >>>
>>>>> >>>         =================================
>>>>> >>>         Sugar Quiz API Preliminary Design
>>>>> >>>         =================================
>>>>> >>>
>>>>> >>>         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 markedly 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.
>>>>> >>>
>>>>> >>>            - Rendering the question to a simple widget/canvas. (i.e.
>>>>> >>>         pass the
>>>>> >>>              library a GtkCanvas or similar and tell it to display the
>>>>> >>>         question)
>>>>> >>>
>>>>> >>>         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.
>>>>> >>>
>>>>> >>>         Proposed API
>>>>> >>>         ============
>>>>> >>>
>>>>> >>>         The Quiz API would be a python library, to act mostly as glue
>>>>> >>>         between
>>>>> >>>         various file formats (and local or remote resources) for
>>>>> >>>         question data and
>>>>> >>>         the Gtk graphical environment, providing a simple way to
>>>>> >>>         consistently
>>>>> >>>         present and layout questions.
>>>>> >>>
>>>>> >>>            :quizdata.open(uri, [cache=False]):
>>>>> >>>                Opens a URI, returning a list of quizdata.Question
>>>>> >>>         instances.  A
>>>>> >>>                standard method of filtering question data based on
>>>>> >>>         parameters
>>>>> >>>                should be specified.  Examples of URIs that might be
>>> > used::
>>>>> >>>
>>>>> >>>
>>>>> >>>
>>>>> >>> http://xs-server/math4class/current_topic?level=4&difficulty=hard&for
>>>>> >>> mat=mood
>>>>> >>> le
>>>>> >>>
>>>>> >>> <http://xs-server/math4class/current_topic?level=4&difficulty=hard&fo
>>>>> >>> rmat=moo
>>>>> >>> dle>
>>>>> >>>
>>>>> >>>
>>>>> >>>
>>>>> >>> file:///var/lib/mathquestions/quiz1?level=4&difficulty=hard&format=xm
>>>>> >>> l
>>>>> >>>
>>>>> >>>
>>>>> >>>
>>>>> >>> xmpp://teacheraccount@xs.server/classname?difficulty=hard&level=4
>>>>> >>>
>>>>> >>>                The cache parameter would locally save the retrieved
>>>>> >>>         questions to a
>>>>> >>>                persistent storage so requests from the same URI (with
>>>>> >>>         cache=True)
>>>>> >>>                would read from the cache.
>>>>> >>>
>>>>> >>>            :class quizdata.Question:
>>>>> >>>                This class contains individual data for a question:
>>>>> >>>                    - The question text
>>>>> >>>                    - The style of answer (incl. multiple-choice,
>>>>> >>>         numeric, free
>>>>> >>>                      response, etc.)
>>>>> >>>                    - The correct answer (or if the question is
>>>>> >>>         subjective, that
>>>>> >>>                      there *is* no correct answer).
>>>>> >>>                    - Question difficulty
>>>>> >>>                    - Grade level
>>>>> >>>                    - Tags (for free-form grouping by topic, course,
>>>>> >>>         instructor,
>>>>> >>>                      etc.)
>>>>> >>>
>>>>> >>>                The question text and answers should support at least
>>>>> >>>         minimal
>>>>> >>>                markup, like that supported by pango, in addition to
>>> > markup
>>>>> >>>                rendering with MathML/LaTeX syntax.
>>>>> >>>
>>>>> >>>                .. note::
>>>>> >>>                    The attributes listed above will should grow
>>>>> >>>         standardized names
>>>>> >>>                    and be documented as part of the interface to the
>>>>> >>>         Question
>>>>> >>>                    class, to allow for fine-grained for activity
>>>>> >>>         controlled
>>>>> >>>                    rendering of the Question, if the simple show()
>>>>> >>>         call is not
>>>>> >>>                    appropriate.
>>>>> >>>
>>>>> >>>                :Question.show(surface, x, y, [width=-1, [height=-1]]):
>>>>> >>>                    Draw the question to the drawing surface at
>>>>> >>>         coordinates (x,y)
>>>>> >>>                    limited to the optionally specified width/height.
>>>>> >>>
>>>>> >>>                    This also should set up the appropriate input
>>>>> >>>         widgets for the
>>>>> >>>                    type of question (multiple-choice/free-response)
>>>>> >>>         and handle the
>>>>> >>>                    vents for those widgets.
>>>>> >>>
>>>>> >>>                :Question.answered():
>>>>> >>>                    Returns True if the student has provided an answer
>>>>> >>>         for the
>>>>> >>>                    Question.
>>>>> >>>
>>>>> >>>                :Question.submitted():
>>>>> >>>                    Returns True if the student has submitted an answer
>>>>> >>>         for the
>>>>> >>>                    Question.
>>>>> >>>
>>>>> >>>                :Question.correct():
>>>>> >>>                    Returns True if the currently selected answer is
>>>>> >>>         correct for the
>>>>> >>>                    Question.
>>>>> >>>
>>>>> >>>                :Question.answer():
>>>>> >>>                    Returns the answer the student has currently
>>>>> >>>         selected, or None
>>>>> >>>                    if no answer has been entered.
>>>>> >>>
>>>>> >>>                :Question.clear():
>>>>> >>>                    Removes the widgets and drawings that show() set
>>>>> >>>         up, preparing
>>>>> >>>                    the surface to receive the next question or other
>>>>> >>>         widgets.
>>>>> >>>
>>>>> >>>
>>>>> >>>         Implementation Issues
>>>>> >>>         ======================
>>>>> >>>
>>>>> >>>         The implementation of this (deceptively simple) library will
>>>>> >>>         take some
>>>>> >>>         effort, in that it will be closely tied to the
>>>>> >>>         windowing/graphical toolkit,
>>>>> >>>         PyGtk/Cairo/Pango rather directly, due to the high level of
>>>>> >>>         abstraction.
>>>>> >>>         Additionally the URI lookup and question filtering based on
>>>>> >>>         parameters will
>>>>> >>>         be necessary, as will interpreter the various format parsers
>>>>> >>>         necessary to
>>>>> >>>         build the Question objects.
>>>>> >>>
>>>>> >>>         For MathML support, the GtkMathView widget will need to be
>>>>> >>>         available, so a
>>>>> >>>         certain amount of effort may be involved in packaging the
>>>>> >>>         library in a
>>>>> >>>         simple way for activity developers.
>>>>> >>>
>>>>> >>>         Next Steps
>>>>> >>>         ==========
>>>>> >>>
>>>>> >>>         Firstly, this API is being proposed and posted to the Math4
>>>>> >>>         mailing list for
>>>>> >>>         feedback and changes before any commitments to this interface
>>>>> >>>         is decided.
>>>>> >>>         For any activity developers who are currently working on an
>>>>> >>>         activity that
>>>>> >>>         could take advantage of such a system, or who have written
>>> > similar
>>>>> >>>         functionality in an activity, your input on usage and the
>>>>> >>>         naturalness of the
>>>>> >>>         API.
>>>>> >>>
>>>>> >>>         Secondly, anyone who is interested in doing work on this
>>>>> >>>         library or using
>>>>> >>>         the library in their activity should chime in, along with the
>>>>> >>>         expected usage
>>>>> >>>         or how you can contribute.
>>>>> >>>
>>>>> >>>         Greg S.
>>>>> >>>         --
>>>>> >>>         Email is packaged by intellectual weight, not volume. Some
>>>>> >>>         settling of
>>>>> >>>         contents may have occurred during transmission.
>>>>> >>>
>>>>> >>>
>>>>> >>>         _______________________________________________
>>>>> >>>         FourthGradeMath mailing list
>>>>> >>>         FourthGradeMath at lists.sugarlabs.org
>>>>> >>>         <mailto:FourthGradeMath at lists.sugarlabs.org>
>>>>> >>>         http://lists.sugarlabs.org/listinfo/fourthgrademath
>>>>> >>>
>>>>> >>>
>>>>> >>>
>>>>> >>>     _______________________________________________
>>>>> >>>     FourthGradeMath mailing list
>>>>> >>>     FourthGradeMath at lists.sugarlabs.org
>>>>> >>>     <mailto:FourthGradeMath at lists.sugarlabs.org>
>>>>> >>>     http://lists.sugarlabs.org/listinfo/fourthgrademath
>>>>> >>>
>>>>> >>>
>>>>> >>> ---------------------------------------------------------------------
>>>>> >>> ---
>>>>> >>>
>>>>> >>> _______________________________________________
>>>>> >>> FourthGradeMath mailing list
>>>>> >>> FourthGradeMath at lists.sugarlabs.org
>>>>> >>> http://lists.sugarlabs.org/listinfo/fourthgrademath
>>>>> >>>
>>>> >>
>>>> >>
>>>> >> ------------------------------
>>>> >>
>>>> >> _______________________________________________
>>>> >> FourthGradeMath mailing list
>>>> >> FourthGradeMath at lists.sugarlabs.org
>>>> >> http://lists.sugarlabs.org/listinfo/fourthgrademath
>>>> >>
>>>> >>
>>>> >> End of FourthGradeMath Digest, Vol 2, Issue 41
>>>> >> **********************************************
>>> >
>>> >
>>> > _______________________________________________
>>> > FourthGradeMath mailing list
>>> > FourthGradeMath at lists.sugarlabs.org
>>> > http://lists.sugarlabs.org/listinfo/fourthgrademath
>>> >
>> 
>> 
>> _______________________________________________
>> FourthGradeMath mailing list
>> FourthGradeMath at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/fourthgrademath
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.sugarlabs.org/archive/fourthgrademath/attachments/20090330/5fca4a55/attachment-0001.htm 


More information about the FourthGradeMath mailing list