https://wiki.sugarlabs.org/api.php?action=feedcontributions&user=Enimihil&feedformat=atomSugar Labs - User contributions [en]2024-03-28T22:55:52ZUser contributionsMediaWiki 1.35.2https://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=29137Math4Team/RIT/Projects/Question Support API2009-05-14T17:51:28Z<p>Enimihil: Update Current Status</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], [[User:Jfinney|Jameson Finney]], [[User:Bbl5660|Brian Long]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
===Current Goals===<br />
<br />
* Documentation<br />
** Packaging<br />
** Documenting Dependencies and how to enable them in a development environment (Simple tutorial on setting up your Question API Development Environment)<br />
** sudo apt-get install python-setuptools<br />
** sudo easy_install pyparsing<br />
** sudo easy_install peak-rules<br />
** Question Authoring guidelines<br />
** Integrate within lesson planning<br />
** How does an instructor get the questions they have written/found into an Activity?<br />
<br />
* Liase w/ other Math4 teams and Sugarlabs (What would it take to be included in the Sugar core?)<br />
* Future Development (Needs / Wants — collect proposals from other teams)<br />
* Discovery / Plugin (How do activities find questions, i.e. how to get URIs to load questions from?)<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
===Current Status===<br />
<br />
Currently, (14 May 2009) the API supports parsing the GIFT file format well enough to import Multiple Choice and True/False questions, along with complete implementations for basic functionality of the corresponding question objects. No support for partial credit answers is currently implemented, nor are other question types working correctly (though most can be parsed to some extent). Export to CSV works as intended, though it is intentionally simple. Documentation on usage and integration of the API into an activity is in the doc/ directory of [[http://git.sugarlabs.org/projects/question-support-api the repository]]. A simple, but complete usage example, using a console interface is available in tests/complete_test.py.<br />
<br />
===Education Standards===<br />
As a general API and not a standalone Activity, along with the nature of the API in specific, this project does not directly address any specific education standards or learning outcomes. It is reliant on educators to write questions, or have questions available to them in usable formats. As such, the potential educational standards this project could help to meet includes **any** standard where drilling or question/response evaluation is appropriate. (This includes a wider range of topic areas than the Math4 focus, even.)<br />
<br />
===Milestones===<br />
;Initial Prototype Phase (1)<br />
:Simple implementation, data model not yet nailed down, focus on import and utility to question *consumers*, Like Activities. Initial formats to include MoodleXML, GIFT.<br />
<br />
;Rigorous Design Phase (2)<br />
:Nail down the data model, including developing the 'native' format, probably using a sqlite file mechanism, or other database support, if possible. Freeze the Question object (in terms of required properties, etc.), finalize decisions about URLs for question aquisition. Make sure requirements of other projects *can* be met by the design at this stage.<br />
<br />
;Full Implementation Phase (3)<br />
:Complete the implementation of the import formats, including the 'native' format. Should be usable to other Activity developers at this point (hopefully useful, before now, but all needs should be filled at this point). Export implementation should start now, along with prototyping for an authoring activity. (Collaboration with the reporting team *needs* to happen at this point, as the activity will probably be combined with reporting tools.)<br />
<br />
;Activity Development Phase (4)<br />
:Complete the authoring/reporting activity for the teachers, allowing export to file formats (and possibly *serving* the questions to other XOs; requires support in activities (using the API) to support).<br />
<br />
===Community Contacts===<br />
[[User:FGrose]], [[User:Tony37]] (see [[Talk:{{PAGENAMEE}}|talk page]])<br />
<br />
===RIT Project Usage===<br />
{{Definition_table<br />
|Produce Puzzle| No API need or usage.<br />
|Lemonade Stand| No API need or usage.<br />
|Assimilate| API Usage needs documented on [[Talk:{{PAGENAMEE}}|talk page]]. Progress not far enough to start implementation using the API.<br />
|Fun Towers| No API need or usage.<br />
|Reporting Team| Simple export format documented at [[{{PAGENAMEE}}/API_Design|API Design]]. Futher integration work would be nice, but there is more work than could be done in a year along these lines (and neither team is prepared to embark on it).<br />
|Muthris| No contact from? Probably no API need or usage.<br />
}}<br />
===See Also===<br />
{{Special:PrefixIndex/{{PAGENAMEE}}/}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=29059Math4Team/RIT/Projects/Question Support API2009-05-12T21:42:51Z<p>Enimihil: Add status of usage with RIT project teams.</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], [[User:Jfinney|Jameson Finney]], [[User:Bbl5660|Brian Long]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
If you are working on a project that would or could use this API, **please** put a brief description of the intended usage and/or add the requirements for your usage that aren't already listed to the [[Talk:Math4Team/RIT/Projects/Question_Support_API|talk page]] page.<br />
<br />
<br />
===Current Goals===<br />
<br />
* Documentation<br />
** Packaging<br />
** Documenting Dependencies and how to enable them in a development environment (Simple tutorial on setting up your Question API Development Environment)<br />
** sudo apt-get install python-setuptools<br />
** sudo easy_install pyparsing<br />
** sudo easy_install peak-rules<br />
** Question Authoring guidelines<br />
** Integrate within lesson planning<br />
** How does an instructor get the questions they have written/found into an Activity?<br />
<br />
* Liase w/ other Math4 teams and Sugarlabs (What would it take to be included in the Sugar core?)<br />
* Future Development (Needs / Wants — collect proposals from other teams)<br />
* Discovery / Plugin (How do activities find questions, i.e. how to get URIs to load questions from?)<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
===Current Status===<br />
<br />
Work is ongoing to build a fully working setup with a single input format, along with nailing down a flexible and straightforward way to manipulate the Question objects while allowing for extensiblility in the future. <br />
<br />
As of 24 Apr 2009, in the [[http://git.sugarlabs.org/projects/question-support-api/|source repository]] is a GIFT format parser and some minimal URL handling code.<br />
<br />
<br />
===Education Standards===<br />
As a general API and not a standalone Activity, along with the nature of the API in specific, this project does not directly address any specific education standards or learning outcomes. It is reliant on educators to write questions, or have questions available to them in usable formats. As such, the potential educational standards this project could help to meet includes **any** standard where drilling or question/response evaluation is appropriate. (This includes a wider range of topic areas than the Math4 focus, even.)<br />
<br />
===Milestones===<br />
;Initial Prototype Phase (1)<br />
:Simple implementation, data model not yet nailed down, focus on import and utility to question *consumers*, Like Activities. Initial formats to include MoodleXML, GIFT.<br />
<br />
;Rigorous Design Phase (2)<br />
:Nail down the data model, including developing the 'native' format, probably using a sqlite file mechanism, or other database support, if possible. Freeze the Question object (in terms of required properties, etc.), finalize decisions about URLs for question aquisition. Make sure requirements of other projects *can* be met by the design at this stage.<br />
<br />
;Full Implementation Phase (3)<br />
:Complete the implementation of the import formats, including the 'native' format. Should be usable to other Activity developers at this point (hopefully useful, before now, but all needs should be filled at this point). Export implementation should start now, along with prototyping for an authoring activity. (Collaboration with the reporting team *needs* to happen at this point, as the activity will probably be combined with reporting tools.)<br />
<br />
;Activity Development Phase (4)<br />
:Complete the authoring/reporting activity for the teachers, allowing export to file formats (and possibly *serving* the questions to other XOs; requires support in activities (using the API) to support).<br />
<br />
===Community Contacts===<br />
[[User:FGrose]], [[User:Tony37]] (see [[Talk:{{PAGENAMEE}}|talk page]])<br />
<br />
===RIT Project Usage===<br />
{{Definition_table<br />
|Produce Puzzle| No API need or usage.<br />
|Lemonade Stand| No API need or usage.<br />
|Assimilate| API Usage needs documented on [[Talk:{{PAGENAMEE}}|talk page]]. Progress not far enough to start implementation using the API.<br />
|Fun Towers| No API need or usage.<br />
|Reporting Team| Simple export format documented at [[{{PAGENAMEE}}/API_Design|API Design]]. Futher integration work would be nice, but there is more work than could be done in a year along these lines (and neither team is prepared to embark on it).<br />
|Muthris| No contact from? Probably no API need or usage.<br />
}}<br />
===See Also===<br />
{{Special:PrefixIndex/{{PAGENAMEE}}/}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API/API_Design&diff=29058Math4Team/RIT/Projects/Question Support API/API Design2009-05-12T21:36:55Z<p>Enimihil: Add information about the response reporting as an interface to the reporting team.</p>
<hr />
<div>===Proposed API===<br />
The Quiz API would be a python library, to act mostly as glue between various<br />
file formats (and local or remote resources) for question data and the client<br />
Activity.<br />
<br />
;quizdata.open(uri, [cache=False])<br />
: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:<br />
<br />
<nowiki>http://xs-server/math4class/current_topic?format=gift</nowiki><br />
file:///var/lib/mathquestions/quiz1?format=moodlexml<br />
xmpp://teacheraccount@xs.server/classname?format=gift&difficulty=hard&level=4<br />
<br />
: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.<br />
<br />
;class quizdata.Question:<br />
:This class contains individual data for a question:<br />
: The question text<br />
: The style of answer (incl. multiple-choice, numeric, free response, etc.)<br />
: The correct answer (or if the question is subjective, that there *is* no correct answer). This includes answers for which the student may receive partial credit.<br />
: Question difficulty<br />
: Grade level<br />
: Tags (for free-form grouping by topic, course, instructor, etc.)<br />
: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. (This requires a markup_type parameter of some kind.)<br />
: The attributes listed above will should grow standardized names and be documented as part of the interface to the Question class.<br />
<br />
;Question.answered<br />
:Returns True if the student has provided an answer for the Question.<br />
<br />
;Question.submitted<br />
:Returns True if the student has submitted an answer for the Question. XXX: Useful to make a distinction between answered and submitted?<br />
<br />
;Question.correct<br />
:Returns True if the currently selected answer is correct for the Question. XXX: What to do about partial credit? Value between 0 and 1?<br />
<br />
;Question.answer<br />
:Returns the answer the student has currently selected, or None if no answer has been entered.<br />
<br />
;quizdata.write_responses(questions, file_object, objective=None)<br />
:Writes to file_object the CSV formatted information about the list of questions passed. The CSV is formatted as follows: macaddress, nickname, learning_objective, correctness. The macaddress field is to be only 12 hexadecimal digits, normalized to lower-case. The learning_objective field can be supplied for all questions, or the write_responses function will simply leave the column blank if not supplied.<br />
<br />
===URL Design===<br />
As the example URLs above (in the documentation of quizdata.open) show, any number of possible scheme and resource-path implementations are possible, pending development time to implement them. The URLs will need to conform to certain constraints on parameters, in order to satisfy basic API requirements. Most importantly, a required "format" specifies what parsing backend to use for the retrieved data. Initially the following formats are being targeted:<br />
* [[http://docs.moodle.org/en/GIFT Moodle GIFT]]<br />
* [[http://docs.moodle.org/en/Moodle_XML Moodle XML]]<br />
* A native format (probably sqlite-based).<br />
<br />
Additional parameters could include the following:<br />
;level<br />
:The board grade-/other- level of the question(s)<br />
;difficulty<br />
:The relative difficulty of the question, in comparison to other questions of the same level.<br />
;category / tag<br />
:A general taxonomic filter. Possibly specified multiple times, if so, result is the *intersection* of the separate result sets (AND, not OR).<br />
<br />
More evaluation is necessary for the filtering functionality, perhaps a separate mechanism for filtering is needed.<br />
<br />
===Implementation Issues===<br />
<br />
The URI lookup and question filtering based on parameters will be necessary.<br />
Further design and discussion is required.<br />
<br />
Parsing the various format parsers necessary to build the Question objects.<br />
<br />
For markup support, some simple way to give the client activities and easy way<br />
to display it would be desirable. (Restrict the list of markup formats? Require<br />
supplying plain text in addition?)</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=28361Math4Team/RIT/Projects/Question Support API2009-05-01T17:36:35Z<p>Enimihil: clean up and clarify a few things</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], [[User:Jfinney|Jameson Finney]], [[User:Bbl5660|Brian Long]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
If you are working on a project that would or could use this API, **please** put a brief description of the intended usage and/or add the requirements for your usage that aren't already listed to the [[Talk:Math4Team/RIT/Projects/Question_Support_API|talk page]] page.<br />
<br />
<br />
===Current Goals===<br />
<br />
* Documentation<br />
** Packaging<br />
** Documenting Dependencies and how to enable them in a development environment (Simple tutorial on setting up your Question API Development Environment)<br />
** sudo apt-get install python-setuptools<br />
** sudo easy_install pyparsing<br />
** sudo easy_install peak-rules<br />
** Question Authoring guidelines<br />
** Integrate within lesson planning<br />
** How does an instructor get the questions they have written/found into an Activity?<br />
<br />
* Liase w/ other Math4 teams and Sugarlabs (What would it take to be included in the Sugar core?)<br />
* Future Development (Needs / Wants — collect proposals from other teams)<br />
* Discovery / Plugin (How do activities find questions, i.e. how to get URIs to load questions from?)<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
===Current Status===<br />
<br />
Work is ongoing to build a fully working setup with a single input format, along with nailing down a flexible and straightforward way to manipulate the Question objects while allowing for extensiblility in the future. <br />
<br />
As of 24 Apr 2009, in the [[http://git.sugarlabs.org/projects/question-support-api/|source repository]] is a GIFT format parser and some minimal URL handling code.<br />
<br />
<br />
===Education Standards===<br />
As a general API and not a standalone Activity, along with the nature of the API in specific, this project does not directly address any specific education standards or learning outcomes. It is reliant on educators to write questions, or have questions available to them in usable formats. As such, the potential educational standards this project could help to meet includes **any** standard where drilling or question/response evaluation is appropriate. (This includes a wider range of topic areas than the Math4 focus, even.)<br />
<br />
===Milestones===<br />
;Initial Prototype Phase (1)<br />
:Simple implementation, data model not yet nailed down, focus on import and utility to question *consumers*, Like Activities. Initial formats to include MoodleXML, GIFT.<br />
<br />
;Rigorous Design Phase (2)<br />
:Nail down the data model, including developing the 'native' format, probably using a sqlite file mechanism, or other database support, if possible. Freeze the Question object (in terms of required properties, etc.), finalize decisions about URLs for question aquisition. Make sure requirements of other projects *can* be met by the design at this stage.<br />
<br />
;Full Implementation Phase (3)<br />
:Complete the implementation of the import formats, including the 'native' format. Should be usable to other Activity developers at this point (hopefully useful, before now, but all needs should be filled at this point). Export implementation should start now, along with prototyping for an authoring activity. (Collaboration with the reporting team *needs* to happen at this point, as the activity will probably be combined with reporting tools.)<br />
<br />
;Activity Development Phase (4)<br />
:Complete the authoring/reporting activity for the teachers, allowing export to file formats (and possibly *serving* the questions to other XOs; requires support in activities (using the API) to support).<br />
<br />
===Community Contacts===<br />
[[User:FGrose]], [[User:Tony37]] (see [[Talk:{{PAGENAMEE}}|talk page]])<br />
<br />
===See Also===<br />
{{Special:PrefixIndex/{{PAGENAMEE}}/}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Alumni/Spring-2009&diff=28242Math4Team/RIT/Alumni/Spring-20092009-04-29T15:01:32Z<p>Enimihil: </p>
<hr />
<div>{{TOCright}}<br />
==Computer Engineering Technology==<br />
===[[User:Nikeunltd|Kennedy Kong]]===<br />
2nd Year<br />
<br />
==Computer Science==<br />
===[[User:Mdd8919 | Mitchell DeMarco]]===<br />
xl<br />
<br />
3rd Year<br />
<br />
===[[User:Enimihil|Gregory Stevens]]===<br />
5th Year (Graduating after this class)<br />
<br />
Shirt size: Large<br />
<br />
===[[User:Jck1089|James Kolb]]===<br />
4th Year (Double majoring in Math)<br />
<br />
Medium<br />
<br />
===[[User:Qalthos|Nathaniel Case]]===<br />
3rd Year<br />
Large shirt size<br />
<br />
===[[User:EricMallon|Eric Mallon]]===<br />
3rd Year<br />
<br />
===[[User:Eldrac|G. Tyler Bragdon]]===<br />
3rd Year (Minoring in Math)<br />
<br />
==Information Technology==<br />
===[[User:bjr9081|Brendan Reen]]===<br />
4th Year<br />
<br />
===[[User:bbl5660|Brian Long]]===<br />
4th Year<br />
Medium T-Shirt Size<br />
<br />
===[[User:Echo35|Anthony Lubrani]]===<br />
2nd Year<br />
<br />
===[[User:jrgreen118|Jeremiah Green]]===<br />
5th year<br />
<br />
===[[User:wwdillingham|Wesley Dillingham]]===<br />
5th year<br />
<br />
==Photo Journalism==<br />
===[[User:Jsang1|Jonathan Sanger]]===<br />
1st year <br><br />
L<br />
<br />
==Networking==<br />
===[[User:Classclownfish | Abbi Honeycutt]]===<br />
1st year<br />
<br />
Small?<br />
<br />
===[[User:Epsilon748 | Anthony King -XL]]===<br />
2nd year<br />
<br />
===[[User:Sss1406 | Steven Schoenfeld]]===<br />
4th Year NSSA Student<br />
<br />
Shirt Size: Large<br />
<br />
===[[User:Jfinney | Jameson Finney]]===<br />
3rd year<br />
===[[User:dbj4366 | Dennis Jalbert]]===<br />
5th year (Graduating after this quarter)<br /><br />
Medium<br />
<br />
==Software Engineering==<br />
===[[User:Cdaniels29 | Chris Daniels]]===<br />
5th Year<br />
<br />
===[[User:Dpk3062 | Doug Krofcheck]]===<br />
5th Year</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=28007Math4Team/RIT/Projects/Question Support API2009-04-24T20:37:33Z<p>Enimihil: Add additional information regarding community contacts, project educational goals and current status.</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], [[User:Jfinney|Jameson Finney]], [[User:Bbl5660|Brian Long]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
If you are working on a project that would or could use this API, **please** put a brief description of the intended usage and/or add the requirements for your usage that aren't already listed to the [[Talk:Math4Team/RIT/Projects/Question_Support_API|talk page]] page.<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
===Current Status===<br />
<br />
Work is ongoing to build a fully working setup with a single input format, along with nailing down a flexible and straightforward way to manipulate the Question objects while allowing for extensiblility in the future. <br />
<br />
As of 24 Apr 2009, in the [[http://git.sugarlabs.org/projects/question-support-api/|source repository]] is a GIFT format parser and some minimal URL handling code.<br />
<br />
<br />
===Education Standards===<br />
As a general API and not a standalone Activity, along with the nature of the API in specific, this project does not directly address any specific education standards or learning outcomes. It is reliant on educators to write questions, or have questions available to them in usable formats. As such, the potential educational standards this project could help to meet includes **any** standard where drilling or question/response evaluation is appropriate. (This includes a wider range of topic areas than the Math4 focus, even.)<br />
<br />
===Milestones===<br />
;Initial Prototype Phase (1)<br />
:Simple implementation, data model not yet nailed down, focus on import and utility to question *consumers*, Like Activities. Initial formats to include MoodleXML, GIFT.<br />
<br />
;Rigorous Design Phase (2)<br />
:Nail down the data model, including developing the 'native' format, probably using a sqlite file mechanism, or other database support, if possible. Freeze the Question object (in terms of required properties, etc.), finalize decisions about URLs for question aquisition. Make sure requirements of other projects *can* be met by the design at this stage.<br />
<br />
;Full Implementation Phase (3)<br />
:Complete the implementation of the import formats, including the 'native' format. Should be usable to other Activity developers at this point (hopefully useful, before now, but all needs should be filled at this point). Export implementation should start now, along with prototyping for an authoring activity. (Collaboration with the reporting team *needs* to happen at this point, as the activity will probably be combined with reporting tools.)<br />
<br />
;Activity Development Phase (4)<br />
:Complete the authoring/reporting activity for the teachers, allowing export to file formats (and possibly *serving* the questions to other XOs; requires support in activities (using the API) to support).<br />
<br />
===Community Contacts===<br />
[[User:FGrose]], [[User:Tony37]] (see [[Talk:{{PAGENAMEE}}|talk page]])<br />
<br />
===See Also===<br />
{{Special:PrefixIndex/{{PAGENAMEE}}/}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=28006Math4Team/RIT/Projects/Question Support API2009-04-24T19:40:36Z<p>Enimihil: Add team member.</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], [[User:Jfinney|Jameson Finney]], [[User:Bbl5660|Brian Long]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
If you are working on a project that would or could use this API, **please** put a brief description of the intended usage and/or add the requirements for your usage that aren't already listed to the [[Talk:Math4Team/RIT/Projects/Question_Support_API|talk page]] page.<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
<br />
===Milestones===<br />
;Initial Prototype Phase (1)<br />
:Simple implementation, data model not yet nailed down, focus on import and utility to question *consumers*, Like Activities. Initial formats to include MoodleXML, GIFT.<br />
<br />
;Rigorous Design Phase (2)<br />
:Nail down the data model, including developing the 'native' format, probably using a sqlite file mechanism, or other database support, if possible. Freeze the Question object (in terms of required properties, etc.), finalize decisions about URLs for question aquisition. Make sure requirements of other projects *can* be met by the design at this stage.<br />
<br />
;Full Implementation Phase (3)<br />
:Complete the implementation of the import formats, including the 'native' format. Should be usable to other Activity developers at this point (hopefully useful, before now, but all needs should be filled at this point). Export implementation should start now, along with prototyping for an authoring activity. (Collaboration with the reporting team *needs* to happen at this point, as the activity will probably be combined with reporting tools.)<br />
<br />
;Activity Development Phase (4)<br />
:Complete the authoring/reporting activity for the teachers, allowing export to file formats (and possibly *serving* the questions to other XOs; requires support in activities (using the API) to support).<br />
<br />
===See Also===<br />
{{Special:PrefixIndex/{{PAGENAMEE}}/}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=27692Math4Team/RIT/Projects/Question Support API2009-04-20T00:50:18Z<p>Enimihil: Add link to talk page to encourage other teams to ask for what they need.</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
If you are working on a project that would or could use this API, **please** put a brief description of the intended usage and/or add the requirements for your usage that aren't already listed to the [[Talk:Math4Team/RIT/Projects/Question_Support_API|talk page]] page.<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
<br />
===Milestones===<br />
;Initial Prototype Phase (1)<br />
:Simple implementation, data model not yet nailed down, focus on import and utility to question *consumers*, Like Activities. Initial formats to include MoodleXML, GIFT.<br />
<br />
;Rigorous Design Phase (2)<br />
:Nail down the data model, including developing the 'native' format, probably using a sqlite file mechanism, or other database support, if possible. Freeze the Question object (in terms of required properties, etc.), finalize decisions about URLs for question aquisition. Make sure requirements of other projects *can* be met by the design at this stage.<br />
<br />
;Full Implementation Phase (3)<br />
:Complete the implementation of the import formats, including the 'native' format. Should be usable to other Activity developers at this point (hopefully useful, before now, but all needs should be filled at this point). Export implementation should start now, along with prototyping for an authoring activity. (Collaboration with the reporting team *needs* to happen at this point, as the activity will probably be combined with reporting tools.)<br />
<br />
;Activity Development Phase (4)<br />
:Complete the authoring/reporting activity for the teachers, allowing export to file formats (and possibly *serving* the questions to other XOs; requires support in activities (using the API) to support).<br />
<br />
===See Also===<br />
{{Special:PrefixIndex/{{PAGENAMEE}}/}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=27651Math4Team/RIT/Projects/Question Support API2009-04-17T20:43:51Z<p>Enimihil: </p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
<br />
===Milestones===<br />
;Initial Prototype Phase (1)<br />
:Simple implementation, data model not yet nailed down, focus on import and utility to question *consumers*, Like Activities. Initial formats to include MoodleXML, GIFT.<br />
<br />
;Rigorous Design Phase (2)<br />
:Nail down the data model, including developing the 'native' format, probably using a sqlite file mechanism, or other database support, if possible. Freeze the Question object (in terms of required properties, etc.), finalize decisions about URLs for question aquisition. Make sure requirements of other projects *can* be met by the design at this stage.<br />
<br />
;Full Implementation Phase (3)<br />
:Complete the implementation of the import formats, including the 'native' format. Should be usable to other Activity developers at this point (hopefully useful, before now, but all needs should be filled at this point). Export implementation should start now, along with prototyping for an authoring activity. (Collaboration with the reporting team *needs* to happen at this point, as the activity will probably be combined with reporting tools.)<br />
<br />
;Activity Development Phase (4)<br />
:Complete the authoring/reporting activity for the teachers, allowing export to file formats (and possibly *serving* the questions to other XOs; requires support in activities (using the API) to support).<br />
<br />
===See Also===<br />
{{Special:PrefixIndex/{{PAGENAMEE}}/}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API/API_Design&diff=27650Math4Team/RIT/Projects/Question Support API/API Design2009-04-17T20:41:19Z<p>Enimihil: add info about planned URL parameters</p>
<hr />
<div>===Proposed API===<br />
The Quiz API would be a python library, to act mostly as glue between various<br />
file formats (and local or remote resources) for question data and the client<br />
Activity.<br />
<br />
;quizdata.open(uri, [cache=False])<br />
: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:<br />
<br />
<nowiki>http://xs-server/math4class/current_topic?format=gift</nowiki><br />
file:///var/lib/mathquestions/quiz1?format=moodlexml<br />
xmpp://teacheraccount@xs.server/classname?format=gift&difficulty=hard&level=4<br />
<br />
: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.<br />
<br />
;class quizdata.Question:<br />
:This class contains individual data for a question:<br />
: The question text<br />
: The style of answer (incl. multiple-choice, numeric, free response, etc.)<br />
: The correct answer (or if the question is subjective, that there *is* no correct answer). This includes answers for which the student may receive partial credit.<br />
: Question difficulty<br />
: Grade level<br />
: Tags (for free-form grouping by topic, course, instructor, etc.)<br />
: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. (This requires a markup_type parameter of some kind.)<br />
: The attributes listed above will should grow standardized names and be documented as part of the interface to the Question class.<br />
<br />
;Question.answered<br />
:Returns True if the student has provided an answer for the Question.<br />
<br />
;Question.submitted<br />
:Returns True if the student has submitted an answer for the Question. XXX: Useful to make a distinction between answered and submitted?<br />
<br />
;Question.correct<br />
:Returns True if the currently selected answer is correct for the Question. XXX: What to do about partial credit? Value between 0 and 1?<br />
<br />
;Question.answer<br />
:Returns the answer the student has currently selected, or None if no answer has been entered.<br />
<br />
===URL Design===<br />
As the example URLs above (in the documentation of quizdata.open) show, any number of possible scheme and resource-path implementations are possible, pending development time to implement them. The URLs will need to conform to certain constraints on parameters, in order to satisfy basic API requirements. Most importantly, a required "format" specifies what parsing backend to use for the retrieved data. Initially the following formats are being targeted:<br />
* [[http://docs.moodle.org/en/GIFT Moodle GIFT]]<br />
* [[http://docs.moodle.org/en/Moodle_XML Moodle XML]]<br />
* A native format (probably sqlite-based).<br />
<br />
Additional parameters could include the following:<br />
;level<br />
:The board grade-/other- level of the question(s)<br />
;difficulty<br />
:The relative difficulty of the question, in comparison to other questions of the same level.<br />
;category / tag<br />
:A general taxonomic filter. Possibly specified multiple times, if so, result is the *intersection* of the separate result sets (AND, not OR).<br />
<br />
More evaluation is necessary for the filtering functionality, perhaps a separate mechanism for filtering is needed.<br />
<br />
===Implementation Issues===<br />
<br />
The URI lookup and question filtering based on parameters will be necessary.<br />
Further design and discussion is required.<br />
<br />
Parsing the various format parsers necessary to build the Question objects.<br />
<br />
For markup support, some simple way to give the client activities and easy way<br />
to display it would be desirable. (Restrict the list of markup formats? Require<br />
supplying plain text in addition?)</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=27649Math4Team/RIT/Projects/Question Support API2009-04-17T19:30:17Z<p>Enimihil: Add milestones</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
<br />
===Milestones===<br />
;Initial Prototype Phase (1)<br />
:Simple implementation, data model not yet nailed down, focus on import and utility to question *consumers*, Like Activities. Initial formats to include MoodleXML, GIFT.<br />
<br />
;Rigorous Design Phase (2)<br />
:Nail down the data model, including developing the 'native' format, probably using a sqlite file mechanism, or other database support, if possible. Freeze the Question object (in terms of required properties, etc.), finalize decisions about URLs for question aquisition. Make sure requirements of other projects *can* be met by the design at this stage.<br />
<br />
;Full Implementation Phase (3)<br />
:Complete the implementation of the import formats, including the 'native' format. Should be usable to other Activity developers at this point (hopefully useful, before now, but all needs should be filled at this point). Export implementation should start now, along with prototyping for an authoring activity. (Collaboration with the reporting team *needs* to happen at this point, as the activity will probably be combined with reporting tools.)<br />
<br />
;Activity Development Phase (4)<br />
:Complete the authoring/reporting activity for the teachers, allowing export to file formats (and possibly *serving* the questions to other XOs; requires support in activities (using the API) to support).<br />
<br />
===See Also===<br />
[[Math4Team/RIT/Projects/Question_Support_API/Data_Model|Data Model]]<br />
<br />
[[Math4Team/RIT/Projects/Question_Support_API/API_Design|API Design]]</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=27648Math4Team/RIT/Projects/Question Support API2009-04-17T19:16:03Z<p>Enimihil: </p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
<br />
===See Also===<br />
[[Math4Team/RIT/Projects/Question_Support_API/Data_Model|Data Model]]<br />
<br />
[[Math4Team/RIT/Projects/Question_Support_API/API_Design|API Design]]</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=27641Math4Team/RIT/Projects/Question Support API2009-04-17T18:18:05Z<p>Enimihil: Move data model to separate page, Add link to API Design</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
[[Math4Team/RIT/Projects/Question_Support_API/Data_Model|Data Model]]<br />
<br />
[[Math4Team/RIT/Projects/Question_Support_API/API_Design|API Design]]</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API/API_Design&diff=27639Math4Team/RIT/Projects/Question Support API/API Design2009-04-17T18:17:37Z<p>Enimihil: Add description of the proposed API.</p>
<hr />
<div>===Proposed API===<br />
The Quiz API would be a python library, to act mostly as glue between various<br />
file formats (and local or remote resources) for question data and the client<br />
Activity.<br />
<br />
;quizdata.open(uri, [cache=False])<br />
: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:<br />
<br />
<nowiki>http://xs-server/math4class/current_topic?format=gift</nowiki><br />
file:///var/lib/mathquestions/quiz1?format=moodlexml<br />
xmpp://teacheraccount@xs.server/classname?format=gift&difficulty=hard&level=4<br />
<br />
: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.<br />
<br />
;class quizdata.Question:<br />
:This class contains individual data for a question:<br />
: The question text<br />
: The style of answer (incl. multiple-choice, numeric, free response, etc.)<br />
: The correct answer (or if the question is subjective, that there *is* no correct answer). This includes answers for which the student may receive partial credit.<br />
: Question difficulty<br />
: Grade level<br />
: Tags (for free-form grouping by topic, course, instructor, etc.)<br />
: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. (This requires a markup_type parameter of some kind.)<br />
: The attributes listed above will should grow standardized names and be documented as part of the interface to the Question class.<br />
<br />
;Question.answered<br />
:Returns True if the student has provided an answer for the Question.<br />
<br />
;Question.submitted<br />
:Returns True if the student has submitted an answer for the Question. XXX: Useful to make a distinction between answered and submitted?<br />
<br />
;Question.correct<br />
:Returns True if the currently selected answer is correct for the Question. XXX: What to do about partial credit? Value between 0 and 1?<br />
<br />
;Question.answer<br />
:Returns the answer the student has currently selected, or None if no answer has been entered.<br />
<br />
===Implementation Issues===<br />
<br />
The URI lookup and question filtering based on parameters will be necessary.<br />
Further design and discussion is required.<br />
<br />
Parsing the various format parsers necessary to build the Question objects.<br />
<br />
For markup support, some simple way to give the client activities and easy way<br />
to display it would be desirable. (Restrict the list of markup formats? Require<br />
supplying plain text in addition?)</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API/Data_Model&diff=27637Math4Team/RIT/Projects/Question Support API/Data Model2009-04-17T18:04:05Z<p>Enimihil: Move data model to its own page.</p>
<hr />
<div>===Data Model===<br />
A potential data model: (It was built for a corporate medical department's medical records. I've already renamed Clinic and Provider to School and Teacher.)<br />
[[Image:QuestionERDiagram.PNG|left]]<br />
Authorship and history attributes for Questions could be provided through a new Person ID field in Questionnaire and recursive links.<br />
: The Moodle [http://docs.moodle.org/en/Development:Question_database_structure Question database structure].<br />
====Table Dictionary====<br />
{{Definition_table<br />
|Questionnaire |A collection of questions that might be used in a Survey, Quiz, Exam, etc.<br />
|Question | A problem seeking an answer<br />
|Answer | A potential solution to the problem<br />
|AnswerType | The class of answer suitable for the problem or question<br />
|Survey | An event instance of collecting Answers to Questions or problems<br />
|Response | An event instance of the Student providing an answer to a question on a Survey or Quiz, etc<br />
|School | An organization<br />
|Person | An individual, such as a Teacher, Student, etc.<br />
}}<br />
====Questionnaire====<br />
{{Definition_table<br />
|ID | primary key<br />
|Title | Short name for questionnaire<br />
|Category | Classifier ID, the ID of a Questionnaire class or category of Questionnaire<br />
|Notes | Description, Image link, rich format data<br />
|StartDate | Effective date for this instance of the Questionnaire<br />
|EndDate | Expiry date of this instance<br />
}}<br />
<br />
====Question====<br />
{{Definition_table<br />
|ID | primary key<br />
|Questionnaire | ID of parent questionnaire<br />
|Sequence | number to order question among questions on questionnaire<br />
|Question | text problem statement<br />
|AnswerType | ID of the suitable answer type<br />
|Jump | conditional number to redirect survey question sequence<br />
|Notes | Description, images, rich format data<br />
|StartDate | Effective date of this question instance<br />
|EndDate | Expiry date of this instance<br />
}}<br />
====Answer====<br />
{{Definition_table<br />
|ID | primary key<br />
|Question_ID| ID of parent question<br />
|Sequence | number to order answer among answer choices for question<br />
|Answer | text of solution or answer<br />
|Notes | Description, images, rich format data<br />
|StartDate | Effective date of this answer instance<br />
|EndDate | Expiry date of this instance<br />
}}<br />
====AnswerType====<br />
{{Definition_table<br />
|ID | primary key<br />
|AnswerType | text for the class of answer. Example, text, numeric, multiple choice, tabular, yes/no, etc.<br />
|Category | ID for class of answer type<br />
}}<br />
====Survey====<br />
{{Definition_table<br />
|ID | primary key<br />
|BaseID | ID of parent Survey. Used to identify families of Surveys, such as version<br />
|School | ID of the School or organization sponsoring this Survey instance<br />
|Teacher | ID of Person extending this instance of the survey or quiz<br />
|Student | ID of the Person taking this instance of the survey or quiz<br />
|Notes | Description, images, rich format data for this instance of the survey or quiz<br />
|DateTime | DateTime that this Survey instance was taken<br />
|ReviewDate | Date that this Survey instance was reviewed by the Teacher<br />
|ChangeDate | Date that this instance of the Survey was changed (reasons are provided in the Response record).<br />
}}<br />
====Response====<br />
{{Definition_table<br />
|ID | primary key<br />
|Answer_ID | ID of selected answer (when one of a choice)<br />
|Question_ID| ID of the Question instance for this Response instance<br />
|Survey_ID | ID of the parent Survey or Quiz instance for this Response<br />
|Response| text of Response<br />
|ResponseValue| numerical Response<br />
|Notes | Description, images, rich format data for this Response<br />
|ChangeDate | DateTime that this instance of the Survey was changed, ''i.e.,'' initial response, update by Student, override by Teacher, etc.<br />
|ChangePerson | ID of Person who changed this Response instance, ''i.e.,'' Student, Teacher<br />
|ChangeReason | text reason this Response instance was changed, ''i.e.,'' initial response, update by Student, override reason<br />
}}<br />
<br />
====School====<br />
{{Definition_table<br />
|ID | primary key<br />
|School | School or organizational name<br />
}}<br />
====Person====<br />
{{Definition_table<br />
|ID | primary key<br />
|Last Name | Family name for Person<br />
|First Name | Primary name for Person<br />
}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Projects/Question_Support_API&diff=27636Math4Team/RIT/Projects/Question Support API2009-04-17T18:02:03Z<p>Enimihil: Add general project information.</p>
<hr />
<div>{{TOCright}}<br />
==Question Support API==<br />
===Project Information===<br />
{{Definition_table<br />
|Primary Project Contact| [[User:Enimihil|Greg Stevens]]<br />
|Project Members| [[User:Enimihil|Greg Stevens]], TODO: Add yourself here...<br />
|Source Repository| http://git.sugarlabs.org/projects/question-support-api<br />
}}<br />
<br />
===Motivation===<br />
In the RIT class working on the Math4 projects, many proposed activities<br />
require a question database of some kind. A common API or library for<br />
accessing databases in different formats, stored either locally or remotely,<br />
along with a simple mechanism to determine more complex formatting or<br />
presentation than simple text (e.g. to include simple graphics or<br />
mathematical notation) would cover a majority of the cases where the<br />
activity needs some configurable "curriculum data".<br />
<br />
Eventually this library could be extended to provide hints, explanations, or<br />
walkthroughs for questions, in addition to the basic metadata about level,<br />
grouping, difficulty, and subject matter that would be part of the base<br />
system.<br />
<br />
===Envisioned Usage===<br />
Consider a simple flash-card-like activity. It presents a question from a<br />
list of questions, allows the student to select an answer from the provided<br />
answers for the question or to enter their own answer. Then the correct<br />
answer is revealed and the student it told whether their answer is correct.<br />
If the question has an explanation of the correct answer, the flash-card<br />
activity will show the explanation of the correct answer. (Note that this<br />
is just a simple usage example, the interaction design of a drilling<br />
activity could be very different.)<br />
<br />
The flash-card activity would use this proposed Quiz API for the following:<br />
<br />
* 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.<br />
<br />
* Determining whether the student has entered a correct answer.<br />
<br />
To start with, the library would simply be a time-saving tool for developers<br />
needing similar functionality, but as the XS (School Server) becomes more<br />
fully developed the library should integrate the functions provided by the<br />
XS to enable automated update of course material for the current topic of<br />
study so the students can drill material using any tool they prefer, while<br />
still reporting progress to the instructor using the XS services.<br />
<br />
===Data Model===<br />
A potential data model: (It was built for a corporate medical department's medical records. I've already renamed Clinic and Provider to School and Teacher.)<br />
[[Image:QuestionERDiagram.PNG|left]]<br />
Authorship and history attributes for Questions could be provided through a new Person ID field in Questionnaire and recursive links.<br />
: The Moodle [http://docs.moodle.org/en/Development:Question_database_structure Question database structure].<br />
====Table Dictionary====<br />
{{Definition_table<br />
|Questionnaire |A collection of questions that might be used in a Survey, Quiz, Exam, etc.<br />
|Question | A problem seeking an answer<br />
|Answer | A potential solution to the problem<br />
|AnswerType | The class of answer suitable for the problem or question<br />
|Survey | An event instance of collecting Answers to Questions or problems<br />
|Response | An event instance of the Student providing an answer to a question on a Survey or Quiz, etc<br />
|School | An organization<br />
|Person | An individual, such as a Teacher, Student, etc.<br />
}}<br />
====Questionnaire====<br />
{{Definition_table<br />
|ID | primary key<br />
|Title | Short name for questionnaire<br />
|Category | Classifier ID, the ID of a Questionnaire class or category of Questionnaire<br />
|Notes | Description, Image link, rich format data<br />
|StartDate | Effective date for this instance of the Questionnaire<br />
|EndDate | Expiry date of this instance<br />
}}<br />
<br />
====Question====<br />
{{Definition_table<br />
|ID | primary key<br />
|Questionnaire | ID of parent questionnaire<br />
|Sequence | number to order question among questions on questionnaire<br />
|Question | text problem statement<br />
|AnswerType | ID of the suitable answer type<br />
|Jump | conditional number to redirect survey question sequence<br />
|Notes | Description, images, rich format data<br />
|StartDate | Effective date of this question instance<br />
|EndDate | Expiry date of this instance<br />
}}<br />
====Answer====<br />
{{Definition_table<br />
|ID | primary key<br />
|Question_ID| ID of parent question<br />
|Sequence | number to order answer among answer choices for question<br />
|Answer | text of solution or answer<br />
|Notes | Description, images, rich format data<br />
|StartDate | Effective date of this answer instance<br />
|EndDate | Expiry date of this instance<br />
}}<br />
====AnswerType====<br />
{{Definition_table<br />
|ID | primary key<br />
|AnswerType | text for the class of answer. Example, text, numeric, multiple choice, tabular, yes/no, etc.<br />
|Category | ID for class of answer type<br />
}}<br />
====Survey====<br />
{{Definition_table<br />
|ID | primary key<br />
|BaseID | ID of parent Survey. Used to identify families of Surveys, such as version<br />
|School | ID of the School or organization sponsoring this Survey instance<br />
|Teacher | ID of Person extending this instance of the survey or quiz<br />
|Student | ID of the Person taking this instance of the survey or quiz<br />
|Notes | Description, images, rich format data for this instance of the survey or quiz<br />
|DateTime | DateTime that this Survey instance was taken<br />
|ReviewDate | Date that this Survey instance was reviewed by the Teacher<br />
|ChangeDate | Date that this instance of the Survey was changed (reasons are provided in the Response record).<br />
}}<br />
====Response====<br />
{{Definition_table<br />
|ID | primary key<br />
|Answer_ID | ID of selected answer (when one of a choice)<br />
|Question_ID| ID of the Question instance for this Response instance<br />
|Survey_ID | ID of the parent Survey or Quiz instance for this Response<br />
|Response| text of Response<br />
|ResponseValue| numerical Response<br />
|Notes | Description, images, rich format data for this Response<br />
|ChangeDate | DateTime that this instance of the Survey was changed, ''i.e.,'' initial response, update by Student, override by Teacher, etc.<br />
|ChangePerson | ID of Person who changed this Response instance, ''i.e.,'' Student, Teacher<br />
|ChangeReason | text reason this Response instance was changed, ''i.e.,'' initial response, update by Student, override reason<br />
}}<br />
<br />
====School====<br />
{{Definition_table<br />
|ID | primary key<br />
|School | School or organizational name<br />
}}<br />
====Person====<br />
{{Definition_table<br />
|ID | primary key<br />
|Last Name | Family name for Person<br />
|First Name | Primary name for Person<br />
}}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=User:Enimihil&diff=26706User:Enimihil2009-04-08T19:13:03Z<p>Enimihil: /* Math4 Learning Objectives */</p>
<hr />
<div>I am a imminently graduating RIT student in Computer Science. I have a good background in Linux and Python, and strongly support efforts to improve education worldwide.<br />
<br />
My development interests for the [[Math4Team/RIT|RIT]] project and in general include:<br />
* Networking and backend support features<br />
* Python support libraries and tutorial or cookbook-like documentation<br />
* Musical composition and synthesis<br />
* Interaction with the physical environment (sensors, measurement tools, input devices, etc.)<br />
<br />
I am hoping to find some people to work with who are more focused on front-end / UI / interaction design so we can complement each other's strengths and preferences. (I'm not very visual, and very textual / verbal, which is in direct conflict with the Sugar design principles for language independence.)<br />
<br />
=== Math4 Learning Objectives ===<br />
I would be interested in helping to develop Activities focusing on the Patterns, Relations, and Algebra topics in the [[User:Gdk/4th_Grade_Maths|fourth grade math learning objectives]]. In particular, I would like to be involved in an effort to make appropriate use of mathematical notation in Activities (in general, as well as for the Math4 goals).<br />
<br />
=== Contact Information ===<br />
<br />
{| style="border-width:1px;border-color:black;border-style:solid;"<br />
| style="border-right: 1px solid black;padding: 0.5em;" | Email || enimihil AT gmail DOT com<br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | AOL IM || enimihil<br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | XMPP || enimihil AT enimihil DOT net <br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | || or via Google Talk (above) <br />
|- <br />
| style="border-right: 1px solid black; padding: 0.5em;" | SIP || 17470117693@proxy01.sipphone.com<br />
|}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=User:Enimihil&diff=26705User:Enimihil2009-04-08T19:11:14Z<p>Enimihil: </p>
<hr />
<div>I am a imminently graduating RIT student in Computer Science. I have a good background in Linux and Python, and strongly support efforts to improve education worldwide.<br />
<br />
My development interests for the [[Math4Team/RIT|RIT]] project and in general include:<br />
* Networking and backend support features<br />
* Python support libraries and tutorial or cookbook-like documentation<br />
* Musical composition and synthesis<br />
* Interaction with the physical environment (sensors, measurement tools, input devices, etc.)<br />
<br />
I am hoping to find some people to work with who are more focused on front-end / UI / interaction design so we can complement each other's strengths and preferences. (I'm not very visual, and very textual / verbal, which is in direct conflict with the Sugar design principles for language independence.)<br />
<br />
=== Math4 Learning Objectives ===<br />
I would be interested in helping to develop Activities focusing on the Patterns, Relations, and Algebra topics in the [[User:Gdk/4th_Grade_Maths|fourth grade math learning objectives]].<br />
<br />
=== Contact Information ===<br />
<br />
{| style="border-width:1px;border-color:black;border-style:solid;"<br />
| style="border-right: 1px solid black;padding: 0.5em;" | Email || enimihil AT gmail DOT com<br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | AOL IM || enimihil<br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | XMPP || enimihil AT enimihil DOT net <br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | || or via Google Talk (above) <br />
|- <br />
| style="border-right: 1px solid black; padding: 0.5em;" | SIP || 17470117693@proxy01.sipphone.com<br />
|}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=User:Enimihil&diff=24427User:Enimihil2009-03-29T17:10:50Z<p>Enimihil: </p>
<hr />
<div>I am a imminently graduating RIT student in Computer Science. I have a good background in Linux and Python, and strongly support efforts to improve education worldwide.<br />
<br />
My development interests for the [[Math4Team/RIT|RIT]] project and in general include:<br />
* Networking and backend support features<br />
* Python support libraries and tutorial or cookbook-like documentation<br />
* Musical composition and synthesis<br />
* Interaction with the physical environment (sensors, measurement tools, input devices, etc.)<br />
<br />
I am hoping to find some people to work with who are more focused on front-end / UI / interaction design so we can complement each other's strengths and preferences. (I'm not very visual, and very textual / verbal, which is in direct conflict with the Sugar design principles for language independence.)<br />
<br />
=== Contact Information ===<br />
<br />
{| style="border-width:1px;border-color:black;border-style:solid;"<br />
| style="border-right: 1px solid black;padding: 0.5em;" | Email || enimihil AT gmail DOT com<br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | AOL IM || enimihil<br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | XMPP || enimihil AT enimihil DOT net <br />
|- <br />
| style="border-right: 1px solid black;padding: 0.5em;" | || or via Google Talk (above) <br />
|- <br />
| style="border-right: 1px solid black; padding: 0.5em;" | SIP || 17470117693@proxy01.sipphone.com<br />
|}</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=User:Enimihil&diff=24348User:Enimihil2009-03-28T18:17:42Z<p>Enimihil: New page: I am a imminently graduating RIT student in Computer Science. I have a good background in Linux and Python, and strongly support efforts to improve education worldwide. My development in...</p>
<hr />
<div>I am a imminently graduating RIT student in Computer Science. I have a good background in Linux and Python, and strongly support efforts to improve education worldwide.<br />
<br />
My development interests for the [[Math4Team/RIT|RIT]] project and in general include:<br />
* Networking and backend support features<br />
* Python support libraries and tutorial or cookbook-like documentation<br />
* Musical composition and synthesis<br />
* Interaction with the physical environment (sensors, measurement tools, input devices, etc.)<br />
<br />
I am hoping to find some people to work with who are more focused on front-end / UI / interaction design so we can complement each other's strengths and preferences. (I'm not very visual, and very textual / verbal, which is in direct conflict with the Sugar design principles for language indepdendance.)</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Alumni/Spring-2009&diff=24346Math4Team/RIT/Alumni/Spring-20092009-03-28T18:02:34Z<p>Enimihil: /* Gregory Stevens */</p>
<hr />
<div>{{TOCright}}<br />
==Computer Engineering Technology==<br />
===Kennedy Kong===<br />
2nd Year<br />
<br />
==Computer Science==<br />
===[[User:Mdd8919 | Mitchell DeMarco]]===<br />
3rd Year<br />
<br />
===[[User:Enimihil|Gregory Stevens]]===<br />
5th Year (Graduating after this class)<br />
<br />
===James Kolb===<br />
4th Year (Double majoring in Math)<br />
<br />
===Nathaniel Case===<br />
3rd Year<br />
<br />
==Information Technology==<br />
===Brendan Reen===<br />
4th Year<br />
===Brian Long===<br />
4th Year<br />
<br />
==Photo Journalism==<br />
===Jonathan Sanger===<br />
1st year<br />
<br />
==Networking==<br />
===[[User:Classclownfish | Abbi Honeycutt]]===<br />
1st year<br />
<br />
===Anthony King===<br />
2nd year<br />
===Steven Schoenfeld===<br />
4th year<br />
===Jameson Finney===<br />
3rd year<br />
<br />
==Software Engineering==<br />
===[[User:Cdaniels29 | Chris Daniels]]===<br />
5th Year<br />
<br />
===Doug Krofcheck===<br />
5th Year</div>Enimihilhttps://wiki.sugarlabs.org/index.php?title=Math4Team/RIT/Alumni/Spring-2009&diff=23198Math4Team/RIT/Alumni/Spring-20092009-03-20T15:16:04Z<p>Enimihil: /* Computer Science */</p>
<hr />
<div>{{TOCright}}<br />
==Computer Engineering Technology==<br />
===Student===<br />
<br />
==Computer Science==<br />
===Student===<br />
Mitchell DeMarco - 3rd Year<br />
<br />
Gregory Stevens - 5th Year (Graduating after this class)<br />
<br />
==Information Technology==<br />
===Student===<br />
Brendan Reen - 4th Year<br />
===Student===<br />
Brian Long - 4th Year<br />
<br />
==Photo Journalism==<br />
===Student===<br />
Class year<br />
==Networking==<br />
===Student===<br />
Class year<br />
==Software Engineering==<br />
===Student===<br />
Class year</div>Enimihil