[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