Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

POAS Assignment development: Difference between revisions

From MoodleDocs
Line 17: Line 17:


=== Individual tasks ===
=== Individual tasks ===
Individual tasks is another quite common situation in the educational process. The module can handle tasks selection and completion.
Individual tasks features:
* adding/editing/deleting of tasks by the teacher
* standart fields: name, description, grade factor (1 by default), min/max workgroup number (if workgroups activated)
* custom fields, which can be added in any given assignment, of several types: string, text, number, date, menu
* student's selection (with optional teacher approval), teacher-forced selection or random selection based on a student's selection of subset of tasks fields (number or menu mainly, i.e. some sort of 'complexity' field for example)
* maximum dates of selection (and approval if necessary)
* column with task name (link to the task) when grading


=== User interface - tabs ===
=== User interface - tabs ===

Revision as of 21:12, 1 December 2008

Moodle 2.0


This is a proposition of Assignment module development from Volgograd State Technical University. I see no reason in keeping it as a separate module thanks to truoble of backporting any fixes/improvments done in assignment. There is no reason to make it an assignment plugin, as we will need a copy of each of the current plugins (online, offline etc) for it.

Refactoring

New Features

Workgroups

One main assumption in the assignment module is need to be eliminated is "one user=one submission=one grade". The quite common practice is grouped assignments, where students can work in small groups on a task. So we need a workgroup support there. (Well, quite big work as many functions use this assumption).

Workgroup is a group of students whose work will results in one submission. Workgroups features:

  • teacher can define a minimum and maximum number of students in the group
  • self-organisation (with possibility of confirmation by teacher) or forced by teacher groups
  • maximum date of groups membership editing
  • individual grading or per-group grading
  • maybe 'roles' of people in group (either teacher or student defined), that explains who will do what (not obvious in case of variable length groups)

Individual tasks

Individual tasks is another quite common situation in the educational process. The module can handle tasks selection and completion.

Individual tasks features:

  • adding/editing/deleting of tasks by the teacher
  • standart fields: name, description, grade factor (1 by default), min/max workgroup number (if workgroups activated)
  • custom fields, which can be added in any given assignment, of several types: string, text, number, date, menu
  • student's selection (with optional teacher approval), teacher-forced selection or random selection based on a student's selection of subset of tasks fields (number or menu mainly, i.e. some sort of 'complexity' field for example)
  • maximum dates of selection (and approval if necessary)
  • column with task name (link to the task) when grading

User interface - tabs

Currently assignment have only two main pages: intro/submit (view.php) and grading (submission.php), so it can go away with the link in upper right corner.

New features will require more pages, so it's better to use tabs for them:

  • info/submit - as usual
  • grading (teacher only) - as usual
  • tasks - if individual tasks selection used, user selects, teacher can add/edit/delete tasks there
  • workgroups - if individual tasks and/or workgroups used - list all existing workgroups (users if individual tasks only), their tasks and status

Plugins capabilities enhancement

  • plugins can define their own tabs
    1. tabs can be implemented as classes
    2. tabs can be implemented as functions
  • maybe plugins can add a columns to the grading table

maybe One user can get several tasks

That needs further discussion. It's something not very uncommon in real word teaching, but somewhat difficult to cope with "one course module=one grade" thing.

Implementation

New options

DB structure

Tabs

Capabilities

Assignment base class reworking