User Stories
This is a list of basic tasks desired by WeBWorK users (Students, instructors, administrators, etc.), as motivated by [1]. The intention is for this document to motivate back-end and API development.
Note that this is not intended to be a list of current functionality. It is a list of tasks that users desire to be able to do in the system.
Please feel free to add any missing tasks to this list.
Students
- Problem/Problem Sets
- View the list of my problem sets
- View the list of problems in a problem set
- Print my assignment
- View a problem
- Attempt a problem (enter answers and get feedback)
- View my grades on the problems in a problem set
- View my overall grades for all problem sets
- Get a new version of a problem
- View my past answers to a problem
- User Management
- Change my email address
- Change my password
- Communication
- Email the instructor
Instructors
- User management
- Add a user (or a few users) manually
- Import users from a file
- Update a student's information (email, name, id number, password, etc.)
- Act as a student (see what an individual student sees)
- Delete a student
- List all students
- List all students in a given section / recitation
- Assign problem sets to one or more users
- View grades / progress for one or more users
- View a student's past answers on a problem
- Export list of users
- Communication
- Email a student / group of students / all students
- Problem Sets
- Create a new problem set
- Change the details of a problem set
- Set Name
- Open, close, answer dates
- Whether to show hints / solutions, and when
- Other set-specific parameters
- Add problems / problem pools to a problem set
- Change settings for an individual problem within a problem set
- Number of Attempts
- Value
- When to show hints (if available)
- Assign problem sets to one or more users (possibly based on user criteria such as section / recitation)
- Show or hide problem set to students. (visible/hidden)
- View grades / progress for one or more problem sets
- Export grades for one or more problem sets
- Set whether a problem / problem set should be reseeded after a certain number of attempts
- Import / Export homework sets
- Export a problem set with all of its auxiliary files and transmit it to a colleague.
- Regrade a problem within a problem set after modification
- Set default values for settings to apply to all newly created homework sets
- Problem Pools
- Create a problem pool
- Add / remove problems from a problem pool
- Problems
- Edit a problem
- Create a new problem
- Copy a problem
- Upload/Download one or more problems
- View available problems
- Search for problems
- By topic
- By author
- By institution
- By type (multiple choice, numerical, symbolic)
- Tag problems with relevant metadata
- View a problem with a given seed (view a new version of a problem)
- Add a problem to a problem set
- Package a problem with all of its auxiliary files so that it can be shipped to a colleague (probably as part of a problem set)
- Course management
- Archive a copy of the course for safety or for use next semester.
Administrators
- Courses
- Create a course
- Change the name of a course
- Make a course available/unavailable to students
- Copy content (users, sets, problems) from one course to another
- Back up a course / courses
- Restore a course from backup
- Add / Remove / Edit users within a course