User Stories
Jump to navigation
Jump to search
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
- View my performance compared to students in this class or this group from the current course or past classes
- Get a new version of a problem
- View my past answers to a problem
- 'Save Progress' button for use with whiteboard or calculator resources
- View assignments from different courses on same page
- Sort assignments (e.g. by Course, by type, by completion or assigned date)
- view completion status of each problem in an assignment while working on one of its problems
- get context-sensitive help
- info about type of answer: numeric (real, rational), functional expression, equation
- info about necessary accuracy
- programed or spontaneuous popup
- decimal places vs significant figures
- absolute or relative tolerance
- Get a new, blank version of an assignment for review for an exam
- View list of acceptable units
- User Management
- Change my email address
- Change my password
- Communication
- Email the instructor
- User Interface
- Ability to customize the interface
- Ability to rearrange and resize components
- Ability to modify theme
- Ability to customize the interface
Instructors
- User management
- Add a user (or a few users) manually
- Import users from a file
- Update a student's information (login, email, name, id number, password, etc.)
- Student status that includes "enrolled," but "disallow logins" (e.g., for old semesters). This might be a characteristic of a course rather than a student.
- 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
- Create a group of students by hand or through rules. Default group is one class.
- Edit a characteristic or characteristics of many students (e.g., set student status to inactive/drop)
- Have students generate ad hoc groups on the fly for working cooperatively on WeBWorK problems in class
- Communication
- Email a student / group of students / all students
- Provide a chat interface with other members of the class with problem threads.
- Problem Sets
- Create a new problem set
- Change the details of a problem set
- Set Name
- Open, due, answer dates
- Reduced credit enable/period
- Give an individual student, or group of students an extension of the due date.
- Re-open a closed homework set for all students and set a new global due date. Should this override all local due dates (i.e., homework extensions given to individuals)
- Suggested solution: When resetting a global due date a pop-up window warns if there are any individual overrides. The instructor has a chance to adjust these individual extensions or not as the situation warrants.
- Whether to show hints / solutions, and when(should this be decided by the problem (e.g. PG code) or should it be set by the environment (webwork2)? Some combination?
- Merge two or more assignments.
- Edit the set header file (there should be only one set header file for both html and tex)
- Other set-specific parameters
- Specify different types of assignments, with separate grading and assignment rules:
- Normal Homework Assignment (assigned to everyone in a (class or group), scored as normal homework)
- Prep Assignment (assigned to specific groups, not part of normal homework)
- Follow-up Prep Assignment (opened upon completion of Prep Assignment)
- In-Class Problems (paired to in-class lecture, option for everyone to have the same seed. Different than normal homework.)
- In-Class Group / Peer Problems (specific problem assigned to specific group for during class.)
- Gateway Quiz problem set (how is this defined?)
- Timed Test/Quiz problem sets
- Userset Versioning of Test/Quiz problem sets
- Test/Quiz problem sets composed of groups of problems (e.g., sections, with characteristics---e.g., problem order---that can be set by section, but the sections appearing in a specified order)
- Allow restriction of student access to scores and previously submitted work
- Hooks for Respondus and SoftwareSecure.com type workstation isolation software.
- In-Class Quiz or In-Class exam set (scores distinguished differently from normal homework assignments)
- Placement Testing Mechanism (e.g. student registration, reporting of scores and post-quiz message)
- Read test scores/results for tests that run over-time and aren't otherwise allowed to be submitted
- Master Type Sets (future problems or groups of problems determined by a ruleset that uses results on previous problems or groups of problems)---this should be able to play with testing and homework assignment types
- Add problems / problem pools to a problem set
- multi-stage scoring
- current: reduced-credit period is offset backwards from dueDate
- also: bonus-credit period is offset backwards from dueDate
- also: full-credit with due-date, extend with reduced-credit for specified duration
- full-scoring upto n tires before dueDate, then show ans/sol and reseed with reduced-credit before dueDate
- 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
- Assign problem sets to students in specified group
- Turn on / off universal resources for students:
- R
- Sage
- whiteboard
- graphing calculator (especially with whiteboard)
- geometry software (geogebra, jsxgraph)
- simple calculator
- Option to log unrecorded attempts submitted after due date has passed.
- Assign the same random seed to all students for a particular problem or an entire homework set
- 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
- identify/exclude problems already used
- in this assignment
- in any assignment for this course
- for a recycled course: identify when used in past
- enable a virtual library of problems
- used by this instructor in previous years
- used by colleagues, now or in past
- identify/exclude problems already used
- Search for problems
- By topic
- DBcourse, DBchapter, DBsection
- keyword(s)
- text--author (editi on), chapter, section
- By type (multiple choice, numerical, symbolic)
- by component: has solution, uses MathObjects,
- By author or directory
- By institution
- enable instructor preferences for starting new search
- By topic
- 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)
- Report a bug in a problem
- report a common confusion with a problem
- Course management
- disable "Show Solution" for all students --- primarily for use in huge classes where fraternities have comprehensive solution files
- Archive a copy of the course for safety backup or for use next semester.
- reuse a course
- revise dates: open, close, show ans & sol
- revise dates, automatically following some rules + standard holidays factored in
- treat collection of problems used previously as a virtual library
- Specify desired notation for
- Vectors
- Angle versus round brackets
- Arrow versus bar versus bold
- Step functions
- ijk notation versus coordinate form
- Complex numbers (i versus j)
- Vectors
- Download scores in a format that can be easily imported into an LMS gradebook
- Analytics
- Store student performance for non-webwork assessments (e.g. paper/pencil tests, quizzes, etc.)
- Provide statistics and performance by students on assignments for specified group(s) and specified course(s)
- Provide performance across courses
- User Interface
- Ability to customize the interface
- Ability to rearrange and resize components
- Ability to modify theme
- Ability to customize the interface
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
- Use WeBWorK function calls in external scripts
- System (with aid from IT expert)
- backup crucial data
- monitor important logfiles
- identify which tasks to handle via cron, which by-hand
- Easily import student demographic data from institutional data feeds.
- enable easily-understood date display ($studetDateDisplayFormat !!)
Authors
- data about common errors on a problem, perhaps gathered only from courses on an MAA site
- digest of student queries/complaints/praise (a selection of Email Instructor items)
Developers
- Add a feature to webwork. E.G. Add the achievement system or some other feature which interacts with webwork in a non trivial way and requires persistence in such a way that it doesn't break installations of people who aren't using the feature.
- Automated assignments for students taking placement tests
- Sharing of problem pools
- (Easy generation / inclusion of additional tables: meta-data about problem pools, how to define student groups, ... so that these can be shared across institutions and installations of WeBWorK)
- Model courses
- Master courses (e.g. institution standard course, assign assignments from master course to specific course)
extended comments
- A course-level schedule object could allow flexibility for an Instructor's tool to provide flexible management of dates for assignments together with associated actions.
- dates for a single assignment (some selection/extension of the following)
- visible to students
- open
- dueDate
- date to show answers
- date to show solutions
- date ending opportunity for bonus credit
- date ending opportunity for reduced credit
- flexible management of dates
- specify which event (previous list) has explicit calendar date
- specify delta-times for all other events (allowing "infinity" to hide all solutions from all students)
- specify fractions for bonus or reduced credit
- to simplify reuse of a course, allow use of a meta-schedule specifying just dates for the controlling event (but also allow revision of that during the term)
- select alternatives for summarizing the configuration to students (e.g., show text about dueDate together with icons indicating alternative credit stuff)
- interface should clarify hierarchy for configuring this complexity, perhaps extra tab in Course Configuration which modifies course.conf as a record within an archived course
- dates for a single assignment (some selection/extension of the following)