Note:

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

Assignment: Difference between revisions

From MoodleDocs
Line 29: Line 29:


The assignment activity should support groups and groupings not just from the teacher perspective (for grading purposes) but also for students, such that, if desired, teams of students can submit assignments by sharing uploading to a common file area and entering text into a shared text response. A grade for a group submission would apply to all students but would allow manual overriding for individual students. This may be achieved though a new setting in the assignment module.
The assignment activity should support groups and groupings not just from the teacher perspective (for grading purposes) but also for students, such that, if desired, teams of students can submit assignments by sharing uploading to a common file area and entering text into a shared text response. A grade for a group submission would apply to all students but would allow manual overriding for individual students. This may be achieved though a new setting in the assignment module.
(The module would use the Common Module settings for the group membership information. If using Separate Groups then markers will need to be allocated into the groups they are meant to mark.)


Logging of activity in the assignment module will be even more important than previously if multiple students can modify each others' (common) work.
Logging of activity in the assignment module will be even more important than previously if multiple students can modify each others' (common) work.
Line 35: Line 36:


Customisations already made to the Assignment module by Netspot will be included in the new module (notably offline marking).
Customisations already made to the Assignment module by Netspot will be included in the new module (notably offline marking).
Offline Marking will consist of an extension to the existing zip&download facility which will include a template grading sheet and a template response file in the zip file. A zip file containing the appropriate file names can then be uploaded again to enter grades, feedback and response files for the students. Privacy of students will need to be taken into account - usernames and Moodle user IDs are secret information in some institutions.


A facility will need to be provided (through lib/assignmentlib.php) to convert assignment from the old four-pronged Assignment module to the new Assignment module with the appropriate settings.  
A facility will need to be provided (through lib/assignmentlib.php) to convert assignment from the old four-pronged Assignment module to the new Assignment module with the appropriate settings.  

Revision as of 04:31, 24 November 2011

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.

Assignment module
Project state Scoping
Tracker issue TBA
Discussion TBA
Assignee Netspot

Moodle 2.3


Project goals

To redevelop the Moodle Assignment Module to address common problems around usability and extensibility and to implement web services to ease integration with third party tools, and address common needs of the user community which are currently not met.

The following four problems have been highlighted requiring attention:

  • The four core subtypes are confusing to new users, and are in fact all very similar.
  • There is no good support for team-based assignments.
  • The support of subtypes makes it slightly easier to write new assignment types but also makes them less flexible, and so people tend to create hacks
  • Third party tools such as Lightwork and the Moodle mobile app require the use of web services to be able to access all functionality of Moodle including Rubrics

Scope

  • resolution of the four problems identified by HQ
  • implementing features desired by the Electronic Assignment Management (EAM) Consortium and the Moodle community as time and funding permits. The project may be split into phases to allow prioritisation of development work.

These four problems may be addressed by collapsing the four assignment subtypes into one assignment type which supports:

  • Teacher-written text to students
  • Teacher-supplied files to students
  • Student-written text for teacher
  • Student-supplied files for teacher

The assignment activity should support groups and groupings not just from the teacher perspective (for grading purposes) but also for students, such that, if desired, teams of students can submit assignments by sharing uploading to a common file area and entering text into a shared text response. A grade for a group submission would apply to all students but would allow manual overriding for individual students. This may be achieved though a new setting in the assignment module. (The module would use the Common Module settings for the group membership information. If using Separate Groups then markers will need to be allocated into the groups they are meant to mark.)

Logging of activity in the assignment module will be even more important than previously if multiple students can modify each others' (common) work.

The framework of the assignment module should allow for other activity modules to declare themselves "Assignments" such that they can be grouped in the UI if required.

Customisations already made to the Assignment module by Netspot will be included in the new module (notably offline marking).

Offline Marking will consist of an extension to the existing zip&download facility which will include a template grading sheet and a template response file in the zip file. A zip file containing the appropriate file names can then be uploaded again to enter grades, feedback and response files for the students. Privacy of students will need to be taken into account - usernames and Moodle user IDs are secret information in some institutions.

A facility will need to be provided (through lib/assignmentlib.php) to convert assignment from the old four-pronged Assignment module to the new Assignment module with the appropriate settings.

The Assignment module needs to provide web services which expose functional areas of the assignment module. Key areas are:

  • Student submission
  • Student feedback
  • Grading
  • Advanced grading

Use Cases

Use Case 1: File Upload Assignment

In a traditional use case a teacher may require the students to write an essay and submit the file to Moodle for grading. So far, the "Upload a Single File" and "Advanced Uploading of Files" Assignment types have been used. ("Upload a Single File" does not allow the teacher to upload a response file, whereas "Advanced Uploading" does).

With editing turned on, the teacher would select "Assignment" from the "Add an Activity" dropdown menu. The teacher specifies a name, description, available from and available to dates and times and a grade for the assignment. The teacher specifies the maximum number of files a student is allowed to submit, and the size per file (or all files together?).

Once the assignment opens, each student opens the assignment activity and uploads their files form their computer. This may be done over several visits. When the required files are uploaded, the student presses a button to indicate this and the assignment is locked from further changes by the student. (THis is the Send for marking/Draft mode behaviour of the Advanced file upload)

This process described does not have any facility for the teacher to upload a file with instructions for the students, or a data file to process in the assignment. THis is a common request and should be added.

Use Case 2: Assignment starter file

The Teacher wishes to provide the students with a starter file (eg. data file) which the assignment is based on. This file should only be visible at a certain date and time. The students will have to work with the file supplied and submit one or more file (eg. written report) to complete the assignment.

This is similar to Use Case 1 but the teacher uploads the data file as a assignment instruction file when creating the assignment.

Can be done as attachmnet to description already.

Use Case 3: Anonymous marking

  1. Teacher creates the assignment with normal settings
  2. Teacher select to use Anonymous marking for this assignment
  3. Teacher selects the "post" or go live date for the results (this is also the date which the teacher will see student names for assignments)
  4. Students upload the assignments
  5. The papers are giving a unique submissionID for referencing
  6. Teacher / or Non-editing teacher then downloads the file with no access to knowing who the student is just the submissionID
  7. Teacher then grades the assignment
  8. When the post date / go live date arrives, grades are posted to the gradebook and the teacher can now see names in the activity

Use Case 4: Assignment activity that has no Moodle component. (previously Offline Assignment)

THis assignmnet type is just a place holder for an assessable activity that doesn't have anything to do with Moodle. It creates a column in the gradebook and does nothing else.

  1. Teacher creates the assignment with default settings, specifies Assignment name & description.
  2. Teacher ticks "This is an off-line activity".
  3. All options relating to upload of files and input of text are hidden. Students will not be able to upload anything.
  4. Student visits the assignment. Instructions for the assignment are visible if within the date range. There is a notice that this is an offline activity and that the grades will appear in the gradebook.

Use Case 5: Zip & download, offline marking

This is a common scenario for teachers of large classes.

  1. Teacher creates assignment with all the desired parameters, name, description, etc.
  2. Students submit assignments.
  3. Teacher opens assignment submission overview screen and clicks the link or button labelled "Download submissions for offline marking"
  4. A ZIP file is created which contains all files that students have submitted, renamed to a consistent file name which includes the username and the assignment ID. The package also contains a spread sheet with columns for student name, username, grade and feedback, and one row for each student.
  5. The teacher is prompted to download the file.
  6. THe teacher unzips the file to a desired location.
  7. The teacher grades the submitted files and records the grades in the spread sheet. The teacher may also include a return file which needs to be named in a particular way.
  8. The teacher zips up the folder with the return files and the spread sheet
  9. The teacher visits the assignment submission overview screen and clicks the button "upload graded assignments" and uploads the zip file
  10. THe system unpacks the zip file. Grades are entered in to the assignment and gradebook, return files are made available to students as return files.

Use Case 6: Student uploads assignment, would like to retract file

  1. Assignment is set up according to desired settings, but the "Allow Deleting" setting is set.
  2. Student submits a file.
  3. Student decides that the file was not the right file to upload, and clicks a little [x] icon next to the file whch removes it fro mthe submission.

Use Case 7: Students work in teams and submit one common set of files. All students receive the same grade

  1. Students are allocated into groups A, B, C, etc. in the course. (Optional: The groups are part of a grouping)
  2. Teacher creates assignment.
  3. Group setting is set to Group mode: "Separate Groups", Grouping if appropriate.
  4. When the Group mode setting is set to Separate or Visible Groups, the following settings choice becomes visible:
    • (o) Groups only apply for marking (ie. individual assignments, submission overview screen is groupified to ease allocation of marking to different teachers)
    • ( ) Students submit assignment as groups.
  5. Teacher selects "Students submit assignment as groups"
    • students in a group now share a common submissionm "pool". Every student in the group can upload files, etc.
  6. Student 1 in group A opens the assignment activity and uploads a file.
  7. Student 2 in group A opens the assignment activity and sees the file submitted by Student 1. Student 2 can delete the file or upload another file (if max number of files setting permits)
  8. * *** should there be a "Ready" (Send for marking) button? Should it work the way game setup works in multiplayer computer games?
  9. One of the students in group A presses the "Submit for marking" button.
  10. Teacher views the assignment submission overview screen: new column: Group
  11. When the teacher presses "Grade" for any of the students in group A, the grading screen opens.
    • Grading screen lists all students who are member of Group A and contains the usual Feedback, Response File and Grade inputs.
    • Each of the three inputs also has a new checkbox: [ ] Apply for all group members.
  12. Teacher enters Feedback, Grade and Response file for the Group submission, and ticks the three checkboxes to apply the feedback and grade to all students in group A.

(This will need some design work to make sure the Grading screen doesn't get too confusing)

Use Case 8: Students work in teams and submit one common set of files. All students receive individual grades based on their contributions

Use Case 9: Individual assignments, but a teacher only marks assignments in one group

Use Case 10: Online Text

Use Case 11: Second Marking process

There are a number of second marking methods this is one common process.

The first marker assesses and provides comments and awards a mark The second marker checks the grading and comments of the first marker to check for fairness and consistency in standards. This includes the calculation of the grade/marks.


This may be done for (and option should be available for)

  • all the submissions
  • a random sample of submissions
  • any fails
  • firsts
  • borderlines


There is also another common use case

Double blind marking

  • This is where both markers mark the paper without reference to each other
  • They ensure there is a clear audit trail for the rationale of the marks
  • they then reconcile the marks through discussion and agree final mark and comments.

Use Case 3: Email Receipt

Use Case 3: Cover SHeet / Conformation

Use Case 3: Status messsage

Mock-Ups

Mock-up showing the settings associated with group mode.

Implementation Plan

Once specifications have been collected the project will be split into phases based on the importance of features - the four problems will be addressed in the first phase.


Database Schema