Projects for new developers/Archive
|Warning: Projects listed on this page are no longer for consideration and are archived.|
HTML maths editor
Traditional written mathematical notation takes advantage of a rich set of special symbols, together with their relative size and position on a two dimensional page. Underlying mathematical expressions is a well-defined semantic tree structure. When typing a mathematical expression into a computer keyboard the ability to take advantage of the features of traditional mathematical notation is severely limited. Essentially one has only a one-dimensional string of symbols taken from the limited alphabet found on computer keyboards and a strict syntax. Syntax is often problematic for users. For example, they differ between applications and they do not correspond to traditional notation.
- parse typed expressions into an internal tree representation
- provide useful feedback to users, e.g. "missing bracket", on ill-formed expressions.
- have flexible options for providing a "context" to mediate between the requirements of a strict syntax, and users' expectations based on traditional written mathematics. E.g. is "x(t+1)" a multiplication of x and (t+1) or application of the function "x" to the argument "(t+1)"?
- have "drag and drop" components (in HTML5)
- have a modular and flexible output mechanism, this includes
- on-screen display "as you type/edit"
- output in a variety of formats, LaTeX, Maxima syntax, MathML etc. which can be embedded into web applications, specifically Moodle. It is not a goal to provide multiple outputs, but it is a goal to develop a framework in which other users can contribute such formats.
- show users the internal tree representation on request
- potentially enable manipulation (computer algebra) of internal expressions by pre-defined rules.
- have a well documented and simple API.
Much of the basic design has been done in for example
- DragMath http://www.dragmath.bham.ac.uk/
- Numbas http://www.ncl.ac.uk/maths/numbas/
- CanvasMath https://code.google.com/p/canvasmath/
We will draw from this previous design experience to guide the development.
See this forum thread: https://moodle.org/mod/forum/discuss.php?d=251627 for more.
- Difficulty level: Hard
- Possible mentors: Chris Sangwin
New question types
This is not really a specific project idea, but I would like to point one an important general area:
With HTML5 the range of what can be done in a web browser keeps expanding. Can we use these possibilities to make new, much more interactive, question types for Moodle?
There are some ideas in this forum thread: https://moodle.org/mod/forum/discuss.php?d=222439
- a question type where students have to join things up correctly by adding lines to a diagram (for example to complete an electric circuit).
- a question type where students can change the colour of certain parts of a diagram, and they have to get it correct.
- ... I am sure there are more possible ideas. Use your imagination!
There are also some ideas which don't require complex HTML5 things:
- A 'Give 3 examples of ...' Question type. For example "Give three ways to speed up a chemical reaction:". Answer 'heat', 'increase concentration', 'catalyst' (in any order). However, 'warm it' might be an acceptable alternative, but 'heat', 'catalyst', 'warm it' should only score 2/3 (see the existing Preg question type).
- An ordering question type (see this new available plugin). Probably based on the OU's qtype_ddwtos. The think that cannot do is give good credit for partially correct answer. For example 'F', 'A', 'B', 'C', 'D', 'E' might be considered close to the right order, but if you do that with ddwtos it will score 0.
- A question type where students must highlight certain words in some text. E.g. "Find all the verbs in this paragraph."
There is also scope to make significant enhancements to existing question types. For example
- in Drag and drop markers allow teachers to define the drop zones by dragging with the mouse, rather than typing co-ordinates.
- in the pattern-match question type a tool like STACK question tests to help teachers verify that their answer matching works correctly (upload example responses, indicate what grade they should receive, show what grade they actually receive, and highlight the differences.
- Difficulty level: Medium - Hard
- Possible mentors: Tim Hunt
Pronunciation evaluation question type
This project would expand on some work done as part of the CMUSphinx project funded by GSoC 2012. The project developed an algorithm/library that was could take some recorded audio of someone saying a particular phrase, and determine whether it was pronounced well or badly.
The goal of this project would be to take that system, and package it up as a Moodle question type, so that teachers can create a Moodle quiz that determines how good their students' pronunciation is. (Think foreign-language teaching.) Here is the documentation about creating question types.