User Stories: Difference between revisions
Jump to navigation
Jump to search
(Created initial list of User Stories) |
(→Instructors: added items about restricting TAs' access by section, fixing a student grade on a problem, and exporting detailed (problem-level) data on homework sets) |
||
(47 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
This is a list of basic tasks desired by WeBWorK users (Students, instructors, administrators, etc.), as motivated by [http://en.wikipedia.org/wiki/User_story]. The intention is for this document to motivate back-end and API development. | This is a list of basic tasks desired by WeBWorK users (Students, instructors, administrators, etc.), as motivated by [http://en.wikipedia.org/wiki/User_story]. 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. | Please feel free to add any missing tasks to this list. | ||
Line 9: | Line 11: | ||
** Print my assignment | ** Print my assignment | ||
** View a problem | ** View a problem | ||
** Attempt a problem | ** Attempt a problem (enter answers and get feedback) | ||
** View my grades on the problems in a problem set | ** View my grades on the problems in a problem set | ||
** View my overall grades for all problem sets | ** 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 | ** Get a new version of a problem | ||
** View my past answers to 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 | |||
* Hardcopy of homework sets | |||
** Print hardcopy of active homework set as a supplement to viewing the homework on line | |||
** Print hardcopy of a completed (past answer date) homework set for review | |||
*** Option to print with or without hints. | |||
*** Option to print with or without solutions. | |||
* User Management | * User Management | ||
** Change my email address | ** Change my email address | ||
** Change my password | ** Change my password | ||
* Communication | * Communication | ||
** Email the instructor | ** Email the instructor | ||
* User Interface | |||
** Ability to customize the interface | |||
*** Ability to rearrange and resize components | |||
*** Ability to modify theme | |||
=== Instructors === | === Instructors === | ||
* User management | * User management | ||
** Add a user (or a few users) manually | ** Add a user (or a few users) manually | ||
** Import users from a file | ** Import users from a file | ||
** Update a student's information (email, name, id number) | ** 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) | ** Act as a student (see what an individual student sees) | ||
** Delete a student | ** Delete a student | ||
** List all students | ** 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 | |||
** Restrict TAs' access to students not in their recitation section(s) | |||
* 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 | |||
** Delete problem sets (choose problem sets and be presented with a window that lists problem sets to be deleted and has a "confirm delete" button) | |||
** Set the order in which the sets appear on the homework page. (and/or set the rules that determine this order) | |||
** 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 up to n tries 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 | |||
** Set a student's score on a certain problem (e.g., to make up for a bug in the problem) | |||
** Export detailed information (as is shown under "student progress") on 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 | |||
* Hardcopy of problem sets | |||
** Print hardcopy for proof reading | |||
*** Option to include hints and/or solutions | |||
** Print hardcopy to distribute to a student or students | |||
*** Option to NOT show hints and/or solutions | |||
* 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 | |||
** Search for problems | |||
*** By topic | |||
**** DBcourse, DBchapter, DBsection | |||
**** keyword(s) | |||
**** text--author (edition), 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 | |||
** Tag problems with relevant metadata | |||
** Tag problems with private metadata (like favorites (stars), or when last used, or other instructor-specific information) | |||
** 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) | |||
** 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 | |||
=== 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 === | |||
* obtain 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 | |||
[[Category:Developers]] |
Latest revision as of 03:59, 22 November 2013
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
- Hardcopy of homework sets
- Print hardcopy of active homework set as a supplement to viewing the homework on line
- Print hardcopy of a completed (past answer date) homework set for review
- Option to print with or without hints.
- Option to print with or without solutions.
- 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
- Restrict TAs' access to students not in their recitation section(s)
- 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
- Delete problem sets (choose problem sets and be presented with a window that lists problem sets to be deleted and has a "confirm delete" button)
- Set the order in which the sets appear on the homework page. (and/or set the rules that determine this order)
- 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 up to n tries 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
- Set a student's score on a certain problem (e.g., to make up for a bug in the problem)
- Export detailed information (as is shown under "student progress") on 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
- Hardcopy of problem sets
- Print hardcopy for proof reading
- Option to include hints and/or solutions
- Print hardcopy to distribute to a student or students
- Option to NOT show hints and/or solutions
- Print hardcopy for proof reading
- 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 (edition), 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
- Tag problems with private metadata (like favorites (stars), or when last used, or other instructor-specific information)
- 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
- obtain 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)