This page has ideas for a new Homework Set Editor (HSE) based on discussions at WeBWorK::Rochester in June 2012. There are plans to spend time developing this at the code camp WeBWorK::Fitchburg in October 2012.
A new interface and flow of an HSE is based on what instructors do in creating/changing homework sets. Instructors do (or want to do) the following things with homework sets
- import existing homework sets from other courses (either on the same server or other location)
- create a new homework set (using problems from the local server or the OPL)
- change problems on an existing homework set
- change settings for existing homework sets (due dates/times, set type, who they are assigned to, etc.)
- Score/download results of finished homework sets (Probably not in HSE)
- View statistics about a homework set (may not be in HSE)
Based on these ideas, the goal will be to simplify and clarify the homework set editor and possibly combine a number of the tasks in the instructor tools and scoring tools
The following is a detailed look at the new HSE:
- Import sets from a set definition file
- Copy a set from an existing course on the same server
- Download a set from another server (possibly a central server like webwork.maa.org)
Create New Homework Sets
- Create an empty homework set and add problems from the local server or the OPL
Change Problems on an Existing Sets
- For an existing set (possibly from importing), change the problems (add, delete, edit problems, reorder). This will need to tie into the Problem Editor.
Change Settings for Existing Homework Sets
- The settings to change include due dates/times, reduced credit, type of assignment, header files.
- Make it easy to extend a deadline on a homework set by n days.
Score and Download Results of Finished Homework Sets
- Show the scores of a completed homework set. Have the ability to download the results.
The following are some ideas about the actual interface of the HSE. Most of the functions listed above can be put on a single page in separate tabs with a list of assignments on the left similar to the current Library Browser.
- Since most instructors have the same time that assignments are due, put that in a setting and have that easily accessed to change. Other settings like time for reduced credit should be easily available.
- A tab with the calendar containing the current month or semester which also shows when each assignment is due. If a user picks up an assignment (from the calendar or from the list on the left) and drops it on a new date, the due date is changed to that date and visually you see where the assignment falls. (Perhaps the Open Date can automatically be changed to X days before the due date where X is a setting. A similar thing can be set for the answers available date.)
- Another tab with the details of an assignment with all of the current properties of an assignment (due dates, who can view them, individual due dates, etc.) All of the dates can be changed here (with date/time pickers) and all other information easily editable. In this detailed tab, the user can view the problems, and reorder them.
- A tab with list view of all of the assignments. There can be some bulk changes accessible here.
- An Add Problems/Library Browser tab. This would be a way to add problems to an new problem set. This tab could be the current library browser interface.
- Import/Export/Copy problems tab. If a problem set(s) exists from another course, one could copy that set (or sets). In addition, one could import problems from a set definition file and export them in a similar maner.